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