From 44a7e6397f7d5c7a70b8eab26272a90d98c6fcd3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Oct 29 2009 14:20:54 +0000 Subject: Make padding work in non-expanded panels --- diff --git a/gnome-panel.spec b/gnome-panel.spec index 0fa8943..2594817 100644 --- a/gnome-panel.spec +++ b/gnome-panel.spec @@ -22,7 +22,7 @@ Summary: GNOME panel Name: gnome-panel Version: 2.28.0 -Release: 11%{?dist} +Release: 12%{?dist} URL: http://www.gnome.org Source0: http://download.gnome.org/sources/gnome-panel/2.28/%{name}-%{version}.tar.bz2 @@ -385,6 +385,9 @@ fi %{_datadir}/gtk-doc/html/* %changelog +* Thu Oct 29 2009 Matthias Clasen 2.28.0-12 +- Make padding work correctly in non-expanded panels (#529614) + * Tue Oct 20 2009 Matthias Clasen 2.28.0-11 - Remove a leftover debugging statement diff --git a/panel-padding.patch b/panel-padding.patch index f6ef598..90dad4b 100644 --- a/panel-padding.patch +++ b/panel-padding.patch @@ -1,7 +1,7 @@ -diff -u -r gnome-panel-2.28.0/gnome-panel/panel-profile.c hacked/gnome-panel/panel-profile.c ---- gnome-panel-2.28.0/gnome-panel/panel-profile.c 2009-09-21 12:29:33.000000000 -0400 -+++ hacked/gnome-panel/panel-profile.c 2009-10-15 00:41:56.366647539 -0400 -@@ -638,6 +638,7 @@ +diff -up gnome-panel-2.28.0/gnome-panel/panel-profile.c.panel-padding gnome-panel-2.28.0/gnome-panel/panel-profile.c +--- gnome-panel-2.28.0/gnome-panel/panel-profile.c.panel-padding 2009-09-21 12:29:33.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-profile.c 2009-10-29 09:57:25.285484907 -0400 +@@ -638,6 +638,7 @@ TOPLEVEL_IS_WRITABLE_FUNC ("orientation" TOPLEVEL_GET_SET_FUNCS ("size", toplevel, int, size, int) TOPLEVEL_GET_SET_FUNCS ("expand", toplevel, bool, expand, gboolean) @@ -9,7 +9,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-profile.c hacked/gnome-panel/pan TOPLEVEL_GET_SET_FUNCS ("auto_hide", toplevel, bool, auto_hide, gboolean) TOPLEVEL_GET_SET_FUNCS ("enable_buttons", toplevel, bool, enable_buttons, gboolean) TOPLEVEL_GET_SET_FUNCS ("enable_arrows", toplevel, bool, enable_arrows, gboolean) -@@ -1185,6 +1186,7 @@ +@@ -1185,6 +1186,7 @@ panel_profile_toplevel_change_notify (GC else UPDATE_INT ("monitor", monitor) else UPDATE_STRING ("name", name) else UPDATE_BOOL ("expand", expand) @@ -17,7 +17,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-profile.c hacked/gnome-panel/pan else UPDATE_STRING ("orientation", orientation) else UPDATE_INT ("size", size) else UPDATE_POS ("x", x, x_right) -@@ -1706,6 +1708,7 @@ +@@ -1706,6 +1708,7 @@ panel_profile_load_toplevel (GConfClient GET_STRING ("name", name); GET_INT ("monitor", monitor); GET_BOOL ("expand", expand); @@ -25,10 +25,10 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-profile.c hacked/gnome-panel/pan GET_STRING ("orientation", orientation); GET_INT ("size", size); GET_BOOL ("auto_hide", auto_hide); -diff -u -r gnome-panel-2.28.0/gnome-panel/panel-profile.h hacked/gnome-panel/panel-profile.h ---- gnome-panel-2.28.0/gnome-panel/panel-profile.h 2009-04-19 13:45:09.000000000 -0400 -+++ hacked/gnome-panel/panel-profile.h 2009-10-15 00:44:04.449650481 -0400 -@@ -92,7 +92,10 @@ +diff -up gnome-panel-2.28.0/gnome-panel/panel-profile.h.panel-padding gnome-panel-2.28.0/gnome-panel/panel-profile.h +--- gnome-panel-2.28.0/gnome-panel/panel-profile.h.panel-padding 2009-04-19 13:45:09.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-profile.h 2009-10-29 09:57:25.285484907 -0400 +@@ -92,7 +92,10 @@ void panel_profile_set_toplevel_e gboolean expand); gboolean panel_profile_get_toplevel_expand (PanelToplevel *toplevel); gboolean panel_profile_is_writable_toplevel_expand (PanelToplevel *toplevel); @@ -40,10 +40,10 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-profile.h hacked/gnome-panel/pan void panel_profile_set_toplevel_auto_hide (PanelToplevel *toplevel, gboolean auto_hide); gboolean panel_profile_get_toplevel_auto_hide (PanelToplevel *toplevel); -diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.c hacked/gnome-panel/panel-toplevel.c ---- gnome-panel-2.28.0/gnome-panel/panel-toplevel.c 2009-08-21 06:31:49.000000000 -0400 -+++ hacked/gnome-panel/panel-toplevel.c 2009-10-15 00:56:09.477897456 -0400 -@@ -79,6 +79,7 @@ +diff -up gnome-panel-2.28.0/gnome-panel/panel-toplevel.c.panel-padding gnome-panel-2.28.0/gnome-panel/panel-toplevel.c +--- gnome-panel-2.28.0/gnome-panel/panel-toplevel.c.panel-padding 2009-08-21 06:31:49.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-toplevel.c 2009-10-29 09:57:25.287500667 -0400 +@@ -79,6 +79,7 @@ struct _PanelToplevelPrivate { gboolean expand; PanelOrientation orientation; int size; @@ -51,7 +51,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.c hacked/gnome-panel/pa /* relative to the monitor origin */ int x; -@@ -213,6 +214,7 @@ +@@ -213,6 +214,7 @@ enum { PROP_0, PROP_NAME, PROP_EXPAND, @@ -59,7 +59,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.c hacked/gnome-panel/pa PROP_ORIENTATION, PROP_SIZE, PROP_X, -@@ -3862,6 +3864,9 @@ +@@ -3862,6 +3864,9 @@ panel_toplevel_set_property (GObject case PROP_EXPAND: panel_toplevel_set_expand (toplevel, g_value_get_boolean (value)); break; @@ -69,7 +69,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.c hacked/gnome-panel/pa case PROP_ORIENTATION: panel_toplevel_set_orientation (toplevel, g_value_get_enum (value)); break; -@@ -3956,6 +3961,9 @@ +@@ -3956,6 +3961,9 @@ panel_toplevel_get_property (GObject case PROP_EXPAND: g_value_set_boolean (value, toplevel->priv->expand); break; @@ -79,7 +79,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.c hacked/gnome-panel/pa case PROP_ORIENTATION: g_value_set_enum (value, toplevel->priv->orientation); break; -@@ -4118,6 +4126,18 @@ +@@ -4118,6 +4126,18 @@ panel_toplevel_class_init (PanelToplevel g_object_class_install_property ( gobject_class, @@ -98,7 +98,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.c hacked/gnome-panel/pa PROP_ORIENTATION, g_param_spec_enum ( "orientation", -@@ -4698,6 +4718,30 @@ +@@ -4698,6 +4718,30 @@ panel_toplevel_get_expand (PanelToplevel return toplevel->priv->expand; } @@ -129,10 +129,10 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.c hacked/gnome-panel/pa gboolean panel_toplevel_get_is_floating (PanelToplevel *toplevel) { -diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.h hacked/gnome-panel/panel-toplevel.h ---- gnome-panel-2.28.0/gnome-panel/panel-toplevel.h 2009-08-19 11:28:09.000000000 -0400 -+++ hacked/gnome-panel/panel-toplevel.h 2009-10-15 00:46:33.972648015 -0400 -@@ -83,6 +83,9 @@ +diff -up gnome-panel-2.28.0/gnome-panel/panel-toplevel.h.panel-padding gnome-panel-2.28.0/gnome-panel/panel-toplevel.h +--- gnome-panel-2.28.0/gnome-panel/panel-toplevel.h.panel-padding 2009-08-19 11:28:09.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-toplevel.h 2009-10-29 09:57:25.288484940 -0400 +@@ -83,6 +83,9 @@ G_CONST_RETURN char *panel_toplevel_get_ void panel_toplevel_set_expand (PanelToplevel *toplevel, gboolean expand); gboolean panel_toplevel_get_expand (PanelToplevel *toplevel); @@ -142,9 +142,9 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.h hacked/gnome-panel/pa void panel_toplevel_set_orientation (PanelToplevel *toplevel, PanelOrientation orientation); PanelOrientation panel_toplevel_get_orientation (PanelToplevel *toplevel); -diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in hacked/gnome-panel/panel-toplevel.schemas.in ---- gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in 2009-07-01 09:06:23.000000000 -0400 -+++ hacked/gnome-panel/panel-toplevel.schemas.in 2009-10-15 00:39:49.307648259 -0400 +diff -up gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in.panel-padding gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in +--- gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in.panel-padding 2009-07-01 09:06:23.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in 2009-10-29 09:57:25.288484940 -0400 @@ -103,6 +103,19 @@ @@ -165,10 +165,10 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-toplevel.schemas.in hacked/gnome /schemas/apps/panel/toplevels/x panel int -diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/panel-widget.c ---- gnome-panel-2.28.0/gnome-panel/panel-widget.c 2009-08-11 07:32:38.000000000 -0400 -+++ hacked/gnome-panel/panel-widget.c 2009-10-15 01:00:07.721647522 -0400 -@@ -710,9 +710,12 @@ +diff -up gnome-panel-2.28.0/gnome-panel/panel-widget.c.panel-padding gnome-panel-2.28.0/gnome-panel/panel-widget.c +--- gnome-panel-2.28.0/gnome-panel/panel-widget.c.panel-padding 2009-08-11 07:32:38.000000000 -0400 ++++ gnome-panel-2.28.0/gnome-panel/panel-widget.c 2009-10-29 10:10:43.531226534 -0400 +@@ -710,9 +710,12 @@ panel_widget_switch_applet_right (PanelW { AppletData *ad; AppletData *nad = NULL; @@ -182,7 +182,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/pane ad = list->data; if (ad->constrained + ad->min_cells >= panel->size) return; -@@ -720,8 +723,8 @@ +@@ -720,8 +723,8 @@ panel_widget_switch_applet_right (PanelW if (list->next) nad = list->next->data; @@ -193,7 +193,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/pane gtk_widget_queue_resize (GTK_WIDGET (panel)); emit_applet_moved (panel, ad); return; -@@ -786,6 +789,9 @@ +@@ -786,6 +789,9 @@ panel_widget_switch_applet_left (PanelWi { AppletData *ad; AppletData *pad = NULL; @@ -203,7 +203,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/pane ad = list->data; if (ad->constrained <= 0) -@@ -794,8 +800,8 @@ +@@ -794,8 +800,8 @@ panel_widget_switch_applet_left (PanelWi if (list->prev) pad = list->prev->data; @@ -214,7 +214,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/pane gtk_widget_queue_resize (GTK_WIDGET (panel)); emit_applet_moved (panel, ad); return; -@@ -874,15 +880,18 @@ +@@ -874,15 +880,18 @@ panel_widget_get_right_switch_pos (Panel { AppletData *ad; AppletData *nad = NULL; @@ -235,7 +235,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/pane if (nad->locked) return panel_widget_get_right_jump_pos (panel, -@@ -948,15 +957,18 @@ +@@ -948,15 +957,18 @@ panel_widget_get_left_switch_pos (PanelW { AppletData *ad; AppletData *pad = NULL; @@ -256,7 +256,49 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/pane if (pad->locked) return panel_widget_get_left_jump_pos (panel, -@@ -1333,12 +1345,15 @@ +@@ -1195,12 +1207,15 @@ panel_widget_size_request(GtkWidget *wid + GList *list; + GList *ad_with_hints; + gboolean dont_fill; ++ gint padding; + + g_return_if_fail(PANEL_IS_WIDGET(widget)); + g_return_if_fail(requisition!=NULL); + + panel = PANEL_WIDGET(widget); + ++ padding = panel_toplevel_get_padding (panel->toplevel); ++ + if(panel->orient == GTK_ORIENTATION_HORIZONTAL) { + requisition->width = 0; + requisition->height = panel->sz; +@@ -1224,8 +1239,11 @@ panel_widget_size_request(GtkWidget *wid + ad_with_hints = g_list_prepend (ad_with_hints, + ad); + +- else if (panel->packed) ++ else if (panel->packed) { ++ if (list != panel->applet_list) ++ requisition->width += padding; + requisition->width += chreq.width; ++ } + } else { + if (requisition->width < chreq.width && !ad->size_constrained) + requisition->width = chreq.width; +@@ -1234,8 +1252,11 @@ panel_widget_size_request(GtkWidget *wid + ad_with_hints = g_list_prepend (ad_with_hints, + ad); + +- else if (panel->packed) ++ else if (panel->packed) { ++ if (list != panel->applet_list) ++ requisition->height += padding; + requisition->height += chreq.height; ++ } + } + } + +@@ -1333,12 +1354,15 @@ panel_widget_size_allocate(GtkWidget *wi int i; int old_size; gboolean ltr; @@ -272,7 +314,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/pane old_size = panel->size; ltr = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR; -@@ -1404,7 +1419,7 @@ +@@ -1404,7 +1428,7 @@ panel_widget_size_allocate(GtkWidget *wi } ad->min_cells = ad->cells; gtk_widget_size_allocate(ad->applet,&challoc); @@ -281,7 +323,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/pane } /* EEEEK, there might be not enough room and we don't handle -@@ -1439,7 +1454,7 @@ +@@ -1439,7 +1463,7 @@ panel_widget_size_allocate(GtkWidget *wi if (ad->constrained < i) ad->constrained = i; @@ -290,7 +332,7 @@ diff -u -r gnome-panel-2.28.0/gnome-panel/panel-widget.c hacked/gnome-panel/pane } /* Now expand from the right */ -@@ -1464,7 +1479,7 @@ +@@ -1464,7 +1488,7 @@ panel_widget_size_allocate(GtkWidget *wi ad->cells = cells; }