In list mode, accept the same mouse/wheel bindings on the cellview as on

Sun May  9 01:57:17 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_list_button_released):
	In list mode, accept the same mouse/wheel bindings on
	the cellview as on the button.  (#136967)
This commit is contained in:
Matthias Clasen
2004-05-09 05:59:53 +00:00
committed by Matthias Clasen
parent e3f5861fa0
commit fa98ac6287
5 changed files with 43 additions and 2 deletions

View File

@@ -1,3 +1,9 @@
Sun May 9 01:57:17 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released):
In list mode, accept the same mouse/wheel bindings on
the cellview as on the button. (#136967)
Sun May 9 01:29:46 2004 Matthias Clasen <maclas@gmx.de>
Merge from HEAD:

View File

@@ -1,3 +1,9 @@
Sun May 9 01:57:17 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released):
In list mode, accept the same mouse/wheel bindings on
the cellview as on the button. (#136967)
Sun May 9 01:29:46 2004 Matthias Clasen <maclas@gmx.de>
Merge from HEAD:

View File

@@ -1,3 +1,9 @@
Sun May 9 01:57:17 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released):
In list mode, accept the same mouse/wheel bindings on
the cellview as on the button. (#136967)
Sun May 9 01:29:46 2004 Matthias Clasen <maclas@gmx.de>
Merge from HEAD:

View File

@@ -1,3 +1,9 @@
Sun May 9 01:57:17 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released):
In list mode, accept the same mouse/wheel bindings on
the cellview as on the button. (#136967)
Sun May 9 01:29:46 2004 Matthias Clasen <maclas@gmx.de>
Merge from HEAD:

View File

@@ -2119,7 +2119,18 @@ gtk_combo_box_list_setup (GtkComboBox *combo_box)
gtk_cell_view_set_background_color (GTK_CELL_VIEW (combo_box->priv->cell_view),
&GTK_WIDGET (combo_box)->style->base[GTK_WIDGET_STATE (combo_box)]);
gtk_widget_show (combo_box->priv->cell_view_frame);
combo_box->priv->box = gtk_event_box_new ();
gtk_event_box_set_visible_window (GTK_EVENT_BOX (combo_box->priv->box),
FALSE);
gtk_container_add (GTK_CONTAINER (combo_box->priv->cell_view_frame),
combo_box->priv->box);
gtk_widget_show_all (combo_box->priv->cell_view_frame);
g_signal_connect (combo_box->priv->box, "button_press_event",
G_CALLBACK (gtk_combo_box_list_button_pressed),
combo_box);
}
combo_box->priv->tree_view = gtk_tree_view_new ();
@@ -2198,6 +2209,11 @@ gtk_combo_box_list_destroy (GtkComboBox *combo_box)
0, 0, NULL,
gtk_combo_box_list_button_pressed,
NULL);
g_signal_handlers_disconnect_matched (combo_box->priv->box,
G_SIGNAL_MATCH_DATA,
0, 0, NULL,
gtk_combo_box_list_button_pressed,
NULL);
/* destroy things (unparent will kill the latest ref from us)
* last unref on button will destroy the arrow
@@ -2217,6 +2233,7 @@ gtk_combo_box_list_destroy (GtkComboBox *combo_box)
{
gtk_widget_unparent (combo_box->priv->cell_view_frame);
combo_box->priv->cell_view_frame = NULL;
combo_box->priv->box = NULL;
}
gtk_widget_destroy (combo_box->priv->tree_view);
@@ -2252,7 +2269,7 @@ gtk_combo_box_list_button_pressed (GtkWidget *widget,
if (ewidget == combo_box->priv->tree_view)
return TRUE;
if ((ewidget != combo_box->priv->button) ||
if ((ewidget != combo_box->priv->button && ewidget != combo_box->priv->box) ||
gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (combo_box->priv->button)))
return FALSE;