[maemo-commits] [maemo-commits] r12469 - in projects/haf/trunk/gtk+: . gtk
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Jun 26 14:52:38 EEST 2007
- Previous message: [maemo-commits] r12468 - projects/haf/tags/libhildonmime
- Next message: [maemo-commits] r12470 - in projects/haf/trunk/gtk+: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: xan Date: 2007-06-26 14:52:23 +0300 (Tue, 26 Jun 2007) New Revision: 12469 Modified: projects/haf/trunk/gtk+/ChangeLog projects/haf/trunk/gtk+/gtk/gtkcombobox.c projects/haf/trunk/gtk+/gtk/gtkentrycompletion.c Log: Modified: projects/haf/trunk/gtk+/ChangeLog =================================================================== --- projects/haf/trunk/gtk+/ChangeLog 2007-06-26 11:41:57 UTC (rev 12468) +++ projects/haf/trunk/gtk+/ChangeLog 2007-06-26 11:52:23 UTC (rev 12469) @@ -1,3 +1,13 @@ +2007-06-26 Xan Lopez <xan at gnome.org> + + * gtk/gtkcombobox.c: (gtk_combo_box_set_popup_widget), + (gtk_combo_box_child_delete_event), (gtk_combo_box_list_destroy): + * gtk/gtkentrycompletion.c: (gtk_entry_completion_init), + (gtk_entry_completion_popup_delete_event): + + Make GtkComboBox and GtkEntryCompletion handle the delete-event signal + closing any open popup/temporary window. + 2007-06-25 Xan Lopez <xan.lopez at nokia.com> * gtk/gtkhbbox.c (gtk_hbutton_box_size_allocate): Modified: projects/haf/trunk/gtk+/gtk/gtkcombobox.c =================================================================== --- projects/haf/trunk/gtk+/gtk/gtkcombobox.c 2007-06-26 11:41:57 UTC (rev 12468) +++ projects/haf/trunk/gtk+/gtk/gtkcombobox.c 2007-06-26 11:52:23 UTC (rev 12469) @@ -437,8 +437,10 @@ GtkComboBox *combo_box); static void gtk_combo_box_child_hide (GtkWidget *widget, GtkComboBox *combo_box); +static gboolean gtk_combo_box_child_delete_event (GtkWidget *widget, + GdkEventAny *event, + GtkComboBox *combo_box); - /* GtkCellEditable method implementations */ static void gtk_combo_box_start_editing (GtkCellEditable *cell_editable, GdkEvent *event); @@ -1331,6 +1333,9 @@ g_signal_connect (GTK_WINDOW(combo_box->priv->popup_window),"hide", G_CALLBACK (gtk_combo_box_child_hide), combo_box); + g_signal_connect (GTK_WINDOW(combo_box->priv->popup_window),"delete_event", + G_CALLBACK (gtk_combo_box_child_delete_event), + combo_box); toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); if (GTK_IS_WINDOW (toplevel)) @@ -2337,6 +2342,16 @@ } static gboolean +gtk_combo_box_child_delete_event (GtkWidget *widget, + GdkEventAny *event, + GtkComboBox *combo_box) +{ + gtk_combo_box_popdown (combo_box); + + return TRUE; +} + +static gboolean gtk_combo_box_expose_event (GtkWidget *widget, GdkEventExpose *event) { @@ -3634,6 +3649,12 @@ 0, 0, NULL, gtk_combo_box_child_hide, NULL); + + g_signal_handlers_disconnect_matched (combo_box->priv->popup_window, + G_SIGNAL_MATCH_DATA, + 0, 0, NULL, + gtk_combo_box_child_delete_event, + NULL); if (combo_box->priv->box) g_signal_handlers_disconnect_matched (combo_box->priv->box, Modified: projects/haf/trunk/gtk+/gtk/gtkentrycompletion.c =================================================================== --- projects/haf/trunk/gtk+/gtk/gtkentrycompletion.c 2007-06-26 11:41:57 UTC (rev 12468) +++ projects/haf/trunk/gtk+/gtk/gtkentrycompletion.c 2007-06-26 11:52:23 UTC (rev 12469) @@ -107,6 +107,9 @@ static gboolean gtk_entry_completion_popup_button_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data); +static gboolean gtk_entry_completion_popup_delete_event (GtkWidget *widget, + GdkEventAny *event, + gpointer user_data); static gboolean gtk_entry_completion_list_button_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data); @@ -444,6 +447,9 @@ g_signal_connect (priv->popup_window, "button_press_event", G_CALLBACK (gtk_entry_completion_popup_button_press), completion); + g_signal_connect (priv->popup_window, "delete-event", + G_CALLBACK (gtk_entry_completion_popup_delete_event), + completion); popup_frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (popup_frame), @@ -788,6 +794,18 @@ } static gboolean +gtk_entry_completion_popup_delete_event (GtkWidget *widget, + GdkEventAny *event, + gpointer user_data) +{ + GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (user_data); + + _gtk_entry_completion_popdown (completion); + + return TRUE; +} + +static gboolean gtk_entry_completion_list_button_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
- Previous message: [maemo-commits] r12468 - projects/haf/tags/libhildonmime
- Next message: [maemo-commits] r12470 - in projects/haf/trunk/gtk+: . gtk
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]