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.
This commit is contained in:
Matthias Clasen 2014-07-20 01:05:41 -04:00
parent 2cb1052987
commit 85297367dc
2 changed files with 3 additions and 2 deletions

View File

@ -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

View File

@ -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"/>