diff options
author | Christian Dywan <cdywan@src.gnome.org> | 2008-09-24 08:41:46 +0000 |
---|---|---|
committer | Christian Dywan <cdywan@src.gnome.org> | 2008-09-24 08:41:46 +0000 |
commit | 3a872a3c425fb70e95b3038410f03c8e3be02193 (patch) | |
tree | 5826927e735894d30394bd4ef757e3793be4bb2f /gtk/gtkdialog.c | |
parent | 0c5bfe5f2b87412ccceb158e36634ba943520113 (diff) | |
download | gtk+-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.c | 30 |
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), |