dialog: add a box around the action area to use for styling

If we want to set style properties that include the area
of the border-width part of action_area we need to use a
parent box.

https://bugzilla.gnome.org/show_bug.cgi?id=722211
This commit is contained in:
William Jon McCann 2014-04-09 14:30:37 -04:00 committed by Matthias Clasen
parent 384b227e7b
commit 7e479aa9ee
2 changed files with 22 additions and 5 deletions

View File

@ -174,6 +174,7 @@ struct _GtkDialogPrivate
GtkWidget *vbox;
GtkWidget *headerbar;
GtkWidget *action_area;
GtkWidget *action_box;
GtkSizeGroup *size_group;
gint use_header_bar;
@ -289,7 +290,7 @@ apply_use_header_bar (GtkDialog *dialog)
{
GtkDialogPrivate *priv = dialog->priv;
gtk_widget_set_visible (priv->action_area, !priv->use_header_bar);
gtk_widget_set_visible (priv->action_box, !priv->use_header_bar);
gtk_widget_set_visible (priv->headerbar, priv->use_header_bar);
if (!priv->use_header_bar)
{
@ -655,6 +656,7 @@ gtk_dialog_class_init (GtkDialogClass *class)
gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, vbox);
gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, headerbar);
gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, action_area);
gtk_widget_class_bind_template_child_internal_private (widget_class, GtkDialog, action_box);
gtk_widget_class_bind_template_callback (widget_class, gtk_dialog_delete_event_handler);
}

View File

@ -22,6 +22,13 @@
<style>
<class name="dialog-vbox"/>
</style>
<child>
<object class="GtkBox" id="action_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<style>
<class name="dialog-action-box"/>
</style>
<child>
<object class="GtkButtonBox" id="action_area">
<property name="visible">True</property>
@ -39,6 +46,14 @@
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
</template>
</interface>