]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcombobox.c
Use hover selection mode. (#127648, Dave Bordoley)
[~andy/gtk] / gtk / gtkcombobox.c
index 18cd9ddd810a7a68435deb95fbd3731de6eb2264..118267e0bd657043fd32dc0735c7f3987afd794a 100644 (file)
@@ -1150,6 +1150,12 @@ gtk_combo_box_popup (GtkComboBox *combo_box)
       gtk_menu_set_active (GTK_MENU (combo_box->priv->popup_widget),
                           combo_box->priv->active_item);
 
+      if (combo_box->priv->wrap_width == 0)
+       {
+         width = GTK_WIDGET (combo_box)->allocation.width;
+         gtk_widget_set_size_request (combo_box->priv->popup_widget, width, -1);
+       }
+      
       gtk_menu_popup (GTK_MENU (combo_box->priv->popup_widget),
                      NULL, NULL,
                      gtk_combo_box_menu_position, combo_box,
@@ -1921,6 +1927,7 @@ gtk_combo_box_menu_button_press (GtkWidget      *widget,
                                  gpointer        user_data)
 {
   GtkComboBox *combo_box = GTK_COMBO_BOX (user_data);
+  gint width;
 
   if (! GTK_IS_MENU (combo_box->priv->popup_widget))
     return FALSE;
@@ -1932,6 +1939,12 @@ gtk_combo_box_menu_button_press (GtkWidget      *widget,
       gtk_menu_set_active (GTK_MENU (combo_box->priv->popup_widget),
                           combo_box->priv->active_item);
 
+      if (combo_box->priv->wrap_width == 0)
+       {
+         width = GTK_WIDGET (combo_box)->allocation.width;
+         gtk_widget_set_size_request (combo_box->priv->popup_widget, width, -1);
+       }
+
       gtk_menu_popup (GTK_MENU (combo_box->priv->popup_widget),
                       NULL, NULL,
                       gtk_combo_box_menu_position, combo_box,
@@ -2213,9 +2226,8 @@ gtk_combo_box_list_setup (GtkComboBox *combo_box)
   gtk_tree_selection_set_mode (sel, GTK_SELECTION_SINGLE);
   gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (combo_box->priv->tree_view),
                                      FALSE);
-  g_object_set (combo_box->priv->tree_view, 
-               "hover_selection", TRUE,
-               NULL);
+  gtk_tree_view_set_hover_selection (GTK_TREE_VIEW (combo_box->priv->tree_view),
+                                    TRUE);
 
   if (combo_box->priv->model)
     gtk_tree_view_set_model (GTK_TREE_VIEW (combo_box->priv->tree_view),