[gtk+] GtkDialog: Manage action area visibility more carefully



commit 85297367dc5b4c10d2298566c203c2812b64b12c
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Jul 20 01:05:41 2014 -0400

    GtkDialog: Manage action area visibility more carefully
    
    People expect to be able to call gtk_widget_show_all on the dialog
    to make action widgets visible, as seen e.g. in
    https://bugzilla.gnome.org/show_bug.cgi?id=733431
    
    To keep this working, we can't always set no-show-all on the
    action_box. Only set it when the action_area is not used and empty.

 gtk/gtkdialog.c               |    4 +++-
 gtk/resources/ui/gtkdialog.ui |    1 -
 2 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index 4e6dbc0..0075f98 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -444,7 +444,8 @@ add_cb (GtkContainer *container,
   if (priv->use_header_bar)
     g_warning ("Content added to the action area of a dialog using header bars");
 
-  gtk_widget_show (GTK_WIDGET (priv->action_box));
+  gtk_widget_set_visible (priv->action_box, TRUE);
+  gtk_widget_set_no_show_all (priv->action_box, FALSE);
 }
 
 static void
@@ -496,6 +497,7 @@ gtk_dialog_constructed (GObject *object)
     }
 
   gtk_widget_set_visible (priv->action_box, !priv->use_header_bar);
+  gtk_widget_set_no_show_all (priv->action_box, priv->use_header_bar);
 }
 
 static void
diff --git a/gtk/resources/ui/gtkdialog.ui b/gtk/resources/ui/gtkdialog.ui
index 9c10772..7ea8837 100644
--- a/gtk/resources/ui/gtkdialog.ui
+++ b/gtk/resources/ui/gtkdialog.ui
@@ -25,7 +25,6 @@
         <child>
           <object class="GtkBox" id="action_box">
             <property name="visible">True</property>
-            <property name="no-show-all">True</property>
             <property name="can_focus">False</property>
             <style>
               <class name="dialog-action-box"/>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]