[Xfce4-commits] <xfce4-panel:master> Use XfcePanelImage in the launcher menu.

Nick Schermer noreply at xfce.org
Tue Dec 28 13:10:03 CET 2010


Updating branch refs/heads/master
         to 8cc6d8cc0c23798c60f00207602446e22b5aa259 (commit)
       from 7d9ab39f7ccd643ef8a03949590835bd2ac8b1ce (commit)

commit 8cc6d8cc0c23798c60f00207602446e22b5aa259
Author: Nick Schermer <nick at xfce.org>
Date:   Tue Dec 28 12:56:06 2010 +0100

    Use XfcePanelImage in the launcher menu.

 plugins/launcher/launcher.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/plugins/launcher/launcher.c b/plugins/launcher/launcher.c
index 7fbf7bd..fd228cb 100644
--- a/plugins/launcher/launcher.c
+++ b/plugins/launcher/launcher.c
@@ -40,6 +40,7 @@
 
 #define ARROW_BUTTON_SIZE              (12)
 #define TOOLTIP_ICON_SIZE              (32)
+#define MENU_ICON_SIZE                 (32)
 #define MENU_POPUP_DELAY               (225)
 #define NO_ARROW_INSIDE_BUTTON(plugin) ((plugin)->arrow_position != LAUNCHER_ARROW_INTERNAL \
                                         || LIST_HAS_ONE_OR_NO_ENTRIES ((plugin)->items))
@@ -323,7 +324,9 @@ launcher_plugin_class_init (LauncherPluginClass *klass)
 
   launcher_menu_icon_size = gtk_icon_size_from_name ("panel-launcher-menu");
   if (launcher_menu_icon_size == GTK_ICON_SIZE_INVALID)
-    launcher_menu_icon_size = gtk_icon_size_register ("panel-launcher-menu", 32, 32);
+    launcher_menu_icon_size = gtk_icon_size_register ("panel-launcher-menu",
+                                                      MENU_ICON_SIZE,
+                                                      MENU_ICON_SIZE);
 
   launcher_tooltip_icon_size = gtk_icon_size_from_name ("panel-launcher-tooltip");
   if (launcher_tooltip_icon_size == GTK_ICON_SIZE_INVALID)
@@ -1516,6 +1519,7 @@ launcher_plugin_menu_construct (LauncherPlugin *plugin)
   GtkWidget      *mi, *image;
   const gchar    *name, *icon_name;
   GSList         *li;
+  gint            w, h, size;
 
   panel_return_if_fail (XFCE_IS_LAUNCHER_PLUGIN (plugin));
   panel_return_if_fail (plugin->menu == NULL);
@@ -1529,6 +1533,12 @@ launcher_plugin_menu_construct (LauncherPlugin *plugin)
   /* get the arrow type of the plugin */
   arrow_type = xfce_arrow_button_get_arrow_type (XFCE_ARROW_BUTTON (plugin->arrow));
 
+  /* size of the menu items */
+  if (gtk_icon_size_lookup (launcher_menu_icon_size, &w, &h))
+    size = MIN (w, h);
+  else
+    size = MENU_ICON_SIZE;
+
   /* walk through the menu entries */
   for (li = plugin->items, n = 0; li != NULL; li = li->next, n++)
     {
@@ -1572,7 +1582,8 @@ launcher_plugin_menu_construct (LauncherPlugin *plugin)
       icon_name = garcon_menu_item_get_icon_name (item);
       if (!exo_str_is_empty (icon_name))
         {
-          image = gtk_image_new_from_icon_name (icon_name, launcher_menu_icon_size);
+          image = xfce_panel_image_new_from_source (icon_name);
+          xfce_panel_image_set_size (XFCE_PANEL_IMAGE (image), size);
           gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), image);
           gtk_widget_show (image);
         }



More information about the Xfce4-commits mailing list