summaryrefslogtreecommitdiff
path: root/gtk/gtkdialog.c
diff options
context:
space:
mode:
authorChristian Dywan <cdywan@src.gnome.org>2008-09-24 08:41:46 +0000
committerChristian Dywan <cdywan@src.gnome.org>2008-09-24 08:41:46 +0000
commit3a872a3c425fb70e95b3038410f03c8e3be02193 (patch)
tree5826927e735894d30394bd4ef757e3793be4bb2f /gtk/gtkdialog.c
parent0c5bfe5f2b87412ccceb158e36634ba943520113 (diff)
downloadgtk+-3a872a3c425fb70e95b3038410f03c8e3be02193.tar.gz
Bug 408244 – add GtkDialog::content-area-spacing
* gtk/gtkbox.c (gtk_box_init), (gtk_box_set_spacing), (_gtk_box_set_spacing_set), (_gtk_box_get_spacing_set): * gtk/gtkbox.h: * gtk/gtkdialog.c (gtk_dialog_class_init), (update_spacings): Implement "content-area-spacing" style property in GtkDialog and internal helper _gtk_box_get_spacing_set in GtkBox. Patch by Tim Janik, Sven Herzberg and myself. svn path=/trunk/; revision=21508
Diffstat (limited to 'gtk/gtkdialog.c')
-rw-r--r--gtk/gtkdialog.c30
1 files changed, 26 insertions, 4 deletions
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index 2f94f840a0..ab7cd625d0 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -194,6 +194,24 @@ gtk_dialog_class_init (GtkDialogClass *class)
G_MAXINT,
2,
GTK_PARAM_READABLE));
+ /**
+ * GtkDialog:content-area-spacing:
+ *
+ * The default spacing used between elements of the
+ * content area of the dialog, as returned by
+ * gtk_dialog_get_content_area(), unless gtk_box_set_spacing()
+ * was called on that widget directly.
+ *
+ * Since: 2.16
+ */
+ gtk_widget_class_install_style_property (widget_class,
+ g_param_spec_int ("content-area-spacing",
+ P_("Content area spacing"),
+ P_("Spacing between elements of the main dialog area"),
+ 0,
+ G_MAXINT,
+ 0,
+ GTK_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("button-spacing",
P_("Button spacing"),
@@ -220,21 +238,25 @@ gtk_dialog_class_init (GtkDialogClass *class)
static void
update_spacings (GtkDialog *dialog)
{
- GtkWidget *widget;
gint content_area_border;
+ gint content_area_spacing;
gint button_spacing;
gint action_area_border;
-
- widget = GTK_WIDGET (dialog);
- gtk_widget_style_get (widget,
+ gtk_widget_style_get (GTK_WIDGET (dialog),
"content-area-border", &content_area_border,
+ "content-area-spacing", &content_area_spacing,
"button-spacing", &button_spacing,
"action-area-border", &action_area_border,
NULL);
gtk_container_set_border_width (GTK_CONTAINER (dialog->vbox),
content_area_border);
+ if (!_gtk_box_get_spacing_set (GTK_BOX (dialog->vbox)))
+ {
+ gtk_box_set_spacing (GTK_BOX (dialog->vbox), content_area_spacing);
+ _gtk_box_set_spacing_set (GTK_BOX (dialog->vbox), FALSE);
+ }
gtk_box_set_spacing (GTK_BOX (dialog->action_area),
button_spacing);
gtk_container_set_border_width (GTK_CONTAINER (dialog->action_area),