From 287cb76b70650be2d10ee437a6920f87f4cbff8a Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Sat, 17 Apr 2010 16:39:49 -0500 Subject: Hack the row spacing of a single-row table The table for the Time preferences in the calendar's General preferences page, when Evo runs in Express mode, has only a single row of visible widgets; all the other rows are hidden in Express mode. However, GTK+ 2.20 and earlier will include row spacings even for empty rows in GtkTable (or those that only have invisible widgets). Since that table has only a single visible row in Express mode, we hack its row spacing to be 0 so that we don't get any extra spacing in that case. Signed-off-by: Federico Mena Quintero --- calendar/gui/dialogs/cal-prefs-dialog.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'calendar') diff --git a/calendar/gui/dialogs/cal-prefs-dialog.c b/calendar/gui/dialogs/cal-prefs-dialog.c index f8ea87a4ff..ae50ab9543 100644 --- a/calendar/gui/dialogs/cal-prefs-dialog.c +++ b/calendar/gui/dialogs/cal-prefs-dialog.c @@ -785,6 +785,17 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs, /* Hide senseless preferences when running in Express mode */ e_shell_hide_widgets_for_express_mode (shell, prefs->builder, "/apps/evolution/calendar/express_preferences_hidden"); + /* HACK: GTK+ 2.18 and 2.20 has a GtkTable which includes row/column spacing even for empty rows/columns. + * When Evo runs in Express mode, we hide all the rows in the Time section of the calendar's General + * preferences page. However, due to that behavior in GTK+, we get a lot of extra spacing in that + * section. Since we know that in Express mode we only leave a single row visible, we'll make the + * table's row spacing equal to 0 in that case. + */ + if (e_shell_get_express_mode (shell)) { + widget = e_builder_get_widget (prefs->builder, "time"); + gtk_table_set_row_spacings (GTK_TABLE (widget), 0); + } + /* Hook up and add the toplevel widget */ target = e_cal_config_target_new_prefs (ec, prefs->gconf); -- cgit v1.2.3