r31988 - in /desktop/unstable/gnome-panel/debian: changelog patches/12_panel_icon_size_fixes.patch patches/series

biebl at users.alioth.debian.org biebl at users.alioth.debian.org
Thu Dec 8 19:51:25 UTC 2011


Author: biebl
Date: Thu Dec  8 19:51:25 2011
New Revision: 31988

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=31988
Log:
* debian/patches/12_panel_icon_size_fixes.patch:
  - Fix icon sizes for application launchers and user menu. Closes: #651336
    Patch cherry-picked from upstream Git.

Added:
    desktop/unstable/gnome-panel/debian/patches/12_panel_icon_size_fixes.patch
Modified:
    desktop/unstable/gnome-panel/debian/changelog
    desktop/unstable/gnome-panel/debian/patches/series

Modified: desktop/unstable/gnome-panel/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-panel/debian/changelog?rev=31988&op=diff
==============================================================================
--- desktop/unstable/gnome-panel/debian/changelog [utf-8] (original)
+++ desktop/unstable/gnome-panel/debian/changelog [utf-8] Thu Dec  8 19:51:25 2011
@@ -1,3 +1,11 @@
+gnome-panel (3.2.1-2) UNRELEASED; urgency=low
+
+  * debian/patches/12_panel_icon_size_fixes.patch:
+    - Fix icon sizes for application launchers and user menu. Closes: #651336
+      Patch cherry-picked from upstream Git.
+
+ -- Michael Biebl <biebl at debian.org>  Thu, 08 Dec 2011 20:21:59 +0100
+
 gnome-panel (3.2.1-1) unstable; urgency=low
 
   * New upstream release.

Added: desktop/unstable/gnome-panel/debian/patches/12_panel_icon_size_fixes.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-panel/debian/patches/12_panel_icon_size_fixes.patch?rev=31988&op=file
==============================================================================
--- desktop/unstable/gnome-panel/debian/patches/12_panel_icon_size_fixes.patch (added)
+++ desktop/unstable/gnome-panel/debian/patches/12_panel_icon_size_fixes.patch [utf-8] Thu Dec  8 19:51:25 2011
@@ -1,0 +1,352 @@
+From 468b72b5423240efd267f50d48fe439054259dd3 Mon Sep 17 00:00:00 2001
+From: Vincent Untz <vuntz at gnome.org>
+Date: Mon, 17 Oct 2011 13:07:15 +0200
+Subject: [PATCH] panel: Fix panels forced to be big because of user menu
+
+The user menu item was created with some functions that change the way
+the size of the menu item is negotiated, and we don't want this when
+this user menu item is in the user menu applet (we want this when it's
+in the main menu, though).
+
+Helps with https://bugzilla.gnome.org/show_bug.cgi?id=661790
+
+panel: Fix wrong height of Places menu item in main menu
+
+When not in the menu bar, the Places menu item should be of fixed width,
+like all other items -- regardless of whether the icon is shown or not.
+
+panel: Change default size of icon in menu bar & user menu applets to 16
+
+This makes it possible to make the panel smaller than it used to be (the
+size of the icon was the blocker) and it also makes the icon consistent
+with the notification area icons.
+
+Note that this size doesn't apply to the user menu when it appears in
+the main menu (as opposed to the user menu applet).
+
+This can be changed in settings.ini (see GtkSettings doc) with:
+ gtk-icon-sizes = panel-menu-bar=16,16
+
+This used to be called panel-foobar, but that name was horrible.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=660846
+https://bugzilla.gnome.org/show_bug.cgi?id=661790
+
+panel: Doh, fix addition of non-existing include
+---
+ gnome-panel/menu.c                  |    4 +-
+ gnome-panel/panel-menu-bar-object.c |   18 +++++++
+ gnome-panel/panel-menu-bar-object.h |    2 +
+ gnome-panel/panel-menu-bar.c        |   21 +-------
+ gnome-panel/panel-menu-items.c      |   94 ++++++++++++++++++++++++-----------
+ gnome-panel/panel-menu-items.h      |    4 +-
+ gnome-panel/panel-user-menu.c       |    2 +-
+ 7 files changed, 93 insertions(+), 52 deletions(-)
+
+diff --git a/gnome-panel/menu.c b/gnome-panel/menu.c
+index 4077940..9bd069a 100644
+--- a/gnome-panel/menu.c
++++ b/gnome-panel/menu.c
+@@ -1383,12 +1383,12 @@ main_menu_append (GtkWidget *main_menu,
+ 	if (add_separator)
+ 		add_menu_separator (main_menu);
+ 
+-	item = panel_place_menu_item_new (TRUE);
++	item = panel_place_menu_item_new (TRUE, FALSE);
+ 	panel_place_menu_item_set_panel (item, panel);
+ 	gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item);
+ 	gtk_widget_show (item);
+ 
+-	item = panel_desktop_menu_item_new (TRUE, FALSE);
++	item = panel_desktop_menu_item_new (TRUE, FALSE, FALSE);
+ 	panel_desktop_menu_item_set_panel (item, panel);
+ 	gtk_menu_shell_append (GTK_MENU_SHELL (main_menu), item);
+ 	gtk_widget_show (item);
+diff --git a/gnome-panel/panel-menu-bar-object.c b/gnome-panel/panel-menu-bar-object.c
+index fe0fd64..9752f2a 100644
+--- a/gnome-panel/panel-menu-bar-object.c
++++ b/gnome-panel/panel-menu-bar-object.c
+@@ -49,6 +49,19 @@ enum {
+ static void panel_menu_bar_object_update_text_gravity (PanelMenuBarObject *menubar);
+ static void panel_menu_bar_object_update_orientation (PanelMenuBarObject *menubar);
+ 
++/* themeable size - "panel-menu-bar" -- This is only used for the icon of the
++ * Applications item in the menu bar. To set it, use this in gtk+'s
++ * settings.ini: "gtk-icon-sizes = panel-menu-bar=16,16" */
++#define PANEL_DEFAULT_MENU_BAR_OBJECT_ICON_SIZE       16
++
++static GtkIconSize panel_menu_bar_object_icon_size = 0;
++
++GtkIconSize
++panel_menu_bar_object_icon_get_size (void)
++{
++	return panel_menu_bar_object_icon_size;
++}
++
+ static void
+ panel_menu_bar_object_init (PanelMenuBarObject *menubar)
+ {
+@@ -172,6 +185,11 @@ panel_menu_bar_object_class_init (PanelMenuBarObjectClass *klass)
+ 				   PANEL_TYPE_ORIENTATION,
+ 				   PANEL_ORIENTATION_TOP,
+ 				   G_PARAM_READWRITE));
++
++	if (panel_menu_bar_object_icon_size == 0)
++		panel_menu_bar_object_icon_size = gtk_icon_size_register ("panel-menu-bar",
++								   PANEL_DEFAULT_MENU_BAR_OBJECT_ICON_SIZE,
++								   PANEL_DEFAULT_MENU_BAR_OBJECT_ICON_SIZE);
+ }
+ 
+ static gboolean
+diff --git a/gnome-panel/panel-menu-bar-object.h b/gnome-panel/panel-menu-bar-object.h
+index 9091164..351321e 100644
+--- a/gnome-panel/panel-menu-bar-object.h
++++ b/gnome-panel/panel-menu-bar-object.h
+@@ -63,6 +63,8 @@ void             panel_menu_bar_object_set_orientation (PanelMenuBarObject     *
+ 							PanelOrientation        orientation);
+ PanelOrientation panel_menu_bar_object_get_orientation (PanelMenuBarObject     *menubar);
+ 
++GtkIconSize      panel_menu_bar_object_icon_get_size (void);
++
+ G_END_DECLS
+ 
+ #endif /* __PANEL_MENU_BAR_OBJECT_H__ */
+diff --git a/gnome-panel/panel-menu-bar.c b/gnome-panel/panel-menu-bar.c
+index de70925..0988144 100644
+--- a/gnome-panel/panel-menu-bar.c
++++ b/gnome-panel/panel-menu-bar.c
+@@ -58,18 +58,6 @@ struct _PanelMenuBarPrivate {
+ 	GtkWidget   *places_item;
+ };
+ 
+-/* themeable size - "panel-foobar" -- This is only used for the icon of the
+- * Applications item in the menu bar */
+-#define PANEL_DEFAULT_MENU_BAR_ICON_SIZE       24
+-
+-static GtkIconSize panel_menu_bar_icon_size = 0;
+-
+-static GtkIconSize
+-panel_menu_bar_icon_get_size (void)
+-{
+-	return panel_menu_bar_icon_size;
+-}
+-
+ static gboolean
+ panel_menu_bar_reinit_tooltip (GtkWidget    *widget,
+ 			       PanelMenuBar *menubar)
+@@ -135,7 +123,7 @@ panel_menu_bar_init (PanelMenuBar *menubar)
+ 	gtk_menu_item_set_label (GTK_MENU_ITEM (menubar->priv->applications_item),
+ 				 _("Applications"));
+ 	menubar->priv->image = gtk_image_new_from_icon_name (PANEL_ICON_MAIN_MENU,
+-							     panel_menu_bar_icon_get_size ());
++							     panel_menu_bar_object_icon_get_size ());
+ 
+ 	gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar->priv->applications_item),
+ 				   menubar->priv->applications_menu);
+@@ -143,7 +131,7 @@ panel_menu_bar_init (PanelMenuBar *menubar)
+ 			       menubar->priv->applications_item);
+ 	gtk_widget_show (menubar->priv->applications_item);
+ 
+-	menubar->priv->places_item = panel_place_menu_item_new (FALSE);
++	menubar->priv->places_item = panel_place_menu_item_new (FALSE, TRUE);
+ 	gtk_menu_shell_append (GTK_MENU_SHELL (menubar),
+ 			       menubar->priv->places_item);
+ 	gtk_widget_show (menubar->priv->places_item);
+@@ -207,11 +195,6 @@ panel_menu_bar_class_init (PanelMenuBarClass *klass)
+ 				      "Whether the menubar icon is visible",
+ 				      FALSE,
+ 				      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+-
+-	if (panel_menu_bar_icon_size == 0)
+-		panel_menu_bar_icon_size = gtk_icon_size_register ("panel-foobar",
+-								   PANEL_DEFAULT_MENU_BAR_ICON_SIZE,
+-								   PANEL_DEFAULT_MENU_BAR_ICON_SIZE);
+ }
+ 
+ void
+diff --git a/gnome-panel/panel-menu-items.c b/gnome-panel/panel-menu-items.c
+index 0e48181..1882ad71 100644
+--- a/gnome-panel/panel-menu-items.c
++++ b/gnome-panel/panel-menu-items.c
+@@ -57,6 +57,7 @@
+ #include "panel-globals.h"
+ #include "panel-icon-names.h"
+ #include "panel-lockdown.h"
++#include "panel-menu-bar-object.h"
+ #include "panel-recent.h"
+ #include "panel-stock-icons.h"
+ #include "panel-util.h"
+@@ -99,6 +100,7 @@ struct _PanelPlaceMenuItemPrivate {
+ struct _PanelDesktopMenuItemPrivate {
+ 	GtkWidget   *menu;
+ 	PanelWidget *panel;
++	GtkIconSize  icon_size;
+ 
+ #ifdef HAVE_TELEPATHY_GLIB
+ 	GList            *presence_items;
+@@ -1614,23 +1616,38 @@ panel_desktop_menu_item_class_init (PanelDesktopMenuItemClass *klass)
+ }
+ 
+ GtkWidget *
+-panel_place_menu_item_new (gboolean use_image)
++panel_place_menu_item_new (gboolean use_image,
++			   gboolean in_menubar)
+ {
+ 	PanelPlaceMenuItem *menuitem;
+-	GtkWidget          *image;
++	const char          *name;
++	const char          *icon_name;
+ 
+ 	menuitem = g_object_new (PANEL_TYPE_PLACE_MENU_ITEM, NULL);
+ 
+-	if (use_image)
+-		image = gtk_image_new_from_icon_name (PANEL_ICON_FOLDER,
+-						      panel_menu_icon_get_size ());
+-	else
+-		image = NULL;
+-
+-	setup_menuitem (GTK_WIDGET (menuitem),
+-			image ? panel_menu_icon_get_size () : GTK_ICON_SIZE_INVALID,
+-			image,
+-			_("Places"));
++	name = _("Places");
++	icon_name = PANEL_ICON_FOLDER;
++
++	if (in_menubar) {
++		gtk_menu_item_set_label (GTK_MENU_ITEM (menuitem), name);
++		if (use_image) {
++			GtkWidget *image;
++			image = gtk_image_new_from_icon_name (icon_name,
++							      panel_menu_bar_object_icon_get_size ());
++			gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem),
++						       image);
++		}
++	} else {
++		if (use_image)
++			setup_menu_item_with_icon (GTK_WIDGET (menuitem),
++						   panel_menu_icon_get_size (),
++						   icon_name, NULL, NULL,
++						   name);
++		else
++			setup_menuitem (GTK_WIDGET (menuitem),
++					GTK_ICON_SIZE_INVALID, NULL,
++					name);
++	}
+ 
+ 	menuitem->priv->menu = panel_place_menu_item_create_menu (menuitem);
+ 	gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem),
+@@ -1670,7 +1687,7 @@ panel_desktop_menu_item_on_presence_changed (PanelSessionManager             *ma
+ 	 * menu */
+ 	if (image) {
+ 		gtk_image_set_from_icon_name (GTK_IMAGE (image),
+-					      icon, panel_menu_icon_get_size ());
++					      icon, desktop_item->priv->icon_size);
+ 	}
+ 
+ 	for (l = desktop_item->priv->presence_items; l != NULL; l = l->next) {
+@@ -1693,10 +1710,12 @@ panel_desktop_menu_item_on_presence_changed (PanelSessionManager             *ma
+ 
+ GtkWidget *
+ panel_desktop_menu_item_new (gboolean use_image,
++			     gboolean in_menubar,
+ 			     gboolean append_lock_logout)
+ {
+ 	PanelDesktopMenuItem *menuitem;
+ 	char                 *name;
++	const char           *icon_name;
+ #ifdef HAVE_TELEPATHY_GLIB
+ 	PanelSessionManager  *manager;
+ #endif
+@@ -1704,27 +1723,44 @@ panel_desktop_menu_item_new (gboolean use_image,
+ 	menuitem = g_object_new (PANEL_TYPE_DESKTOP_MENU_ITEM, NULL);
+ 
+ 	name = panel_util_get_user_name ();
++#ifdef HAVE_TELEPATHY_GLIB
++	icon_name = PANEL_ICON_USER_AVAILABLE;
++#else
++	icon_name = PANEL_ICON_COMPUTER;
++#endif
++
++	/* if we're in a menubar, we don't want to use setup_* as it changes
++	 * the size requests and can make the panels bigger than we'd like */
++	if (in_menubar) {
++		gtk_menu_item_set_label (GTK_MENU_ITEM (menuitem), name);
++		menuitem->priv->icon_size = panel_menu_bar_object_icon_get_size ();
++
++		if (use_image) {
++			GtkWidget *image;
++			image = gtk_image_new_from_icon_name (icon_name,
++							      menuitem->priv->icon_size);
++			gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem),
++						       image);
++		}
++	} else {
++		menuitem->priv->icon_size = panel_menu_icon_get_size ();
++
++		if (use_image)
++			setup_menu_item_with_icon (GTK_WIDGET (menuitem),
++						   menuitem->priv->icon_size,
++						   icon_name, NULL, NULL,
++						   name);
++		else
++			setup_menuitem (GTK_WIDGET (menuitem),
++					GTK_ICON_SIZE_INVALID, NULL,
++					name);
++	}
+ 
+-	if (use_image) {
+ #ifdef HAVE_TELEPATHY_GLIB
+-		setup_menu_item_with_icon (GTK_WIDGET (menuitem),
+-					   panel_menu_icon_get_size (),
+-					   PANEL_ICON_USER_AVAILABLE,
+-					   NULL, NULL,
+-					   name);
++	if (use_image)
+ 		gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem),
+ 							   TRUE);
+-#else
+-		setup_menu_item_with_icon (GTK_WIDGET (menuitem),
+-					   panel_menu_icon_get_size (),
+-					   PANEL_ICON_COMPUTER,
+-					   NULL, NULL,
+-					   name);
+ #endif
+-	} else
+-		setup_menuitem (GTK_WIDGET (menuitem),
+-				GTK_ICON_SIZE_INVALID, NULL,
+-				name);
+ 
+ 	g_free (name);
+ 
+diff --git a/gnome-panel/panel-menu-items.h b/gnome-panel/panel-menu-items.h
+index 44c000c..1548b93 100644
+--- a/gnome-panel/panel-menu-items.h
++++ b/gnome-panel/panel-menu-items.h
+@@ -78,8 +78,10 @@ struct _PanelDesktopMenuItemClass {
+ GType panel_desktop_menu_item_get_type (void) G_GNUC_CONST;
+ 
+ 
+-GtkWidget *panel_place_menu_item_new   (gboolean use_image);
++GtkWidget *panel_place_menu_item_new   (gboolean use_image,
++					gboolean in_menubar);
+ GtkWidget *panel_desktop_menu_item_new (gboolean use_image,
++				        gboolean in_menubar,
+ 					gboolean append_lock_logout);
+ 
+ void panel_place_menu_item_set_panel   (GtkWidget   *item,
+diff --git a/gnome-panel/panel-user-menu.c b/gnome-panel/panel-user-menu.c
+index 2ff36f4..fa68dba 100644
+--- a/gnome-panel/panel-user-menu.c
++++ b/gnome-panel/panel-user-menu.c
+@@ -51,7 +51,7 @@ panel_user_menu_init (PanelUserMenu *usermenu)
+ 
+ 	usermenu->priv->info = NULL;
+ 
+-	usermenu->priv->desktop_item = panel_desktop_menu_item_new (TRUE, TRUE);
++	usermenu->priv->desktop_item = panel_desktop_menu_item_new (TRUE, TRUE, TRUE);
+ 	gtk_menu_shell_append (GTK_MENU_SHELL (usermenu),
+ 			       usermenu->priv->desktop_item);
+ 	gtk_widget_show (usermenu->priv->desktop_item);
+-- 
+1.7.7.3
+

Modified: desktop/unstable/gnome-panel/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-panel/debian/patches/series?rev=31988&op=diff
==============================================================================
--- desktop/unstable/gnome-panel/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gnome-panel/debian/patches/series [utf-8] Thu Dec  8 19:51:25 2011
@@ -2,3 +2,4 @@
 03_tasklist_orientation.patch
 10_bookmarks_limit.patch
 11_compat_options.patch
+12_panel_icon_size_fixes.patch




More information about the pkg-gnome-commits mailing list