[Xfce4-commits] <xfce4-clipman-plugin:master> Use themed icon "clipman" or fallback to edit-paste (bug 6698)

Mike Massonnet noreply at xfce.org
Sat May 7 21:38:02 CEST 2011


Updating branch refs/heads/master
         to 758c09dd805e8c48de44e03cd292111983dbbd68 (commit)
       from 08d8e947fb56132edc79b4a36201e6ed6e81c0b2 (commit)

commit 758c09dd805e8c48de44e03cd292111983dbbd68
Author: Mike Massonnet <mmassonnet at xfce.org>
Date:   Sat May 7 21:40:03 2011 +0200

    Use themed icon "clipman" or fallback to edit-paste (bug 6698)

 panel-plugin/main-panel-plugin.c |   11 +++++++++--
 panel-plugin/main-status-icon.c  |   10 +++++++++-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/panel-plugin/main-panel-plugin.c b/panel-plugin/main-panel-plugin.c
index c57f251..fd46ce6 100644
--- a/panel-plugin/main-panel-plugin.c
+++ b/panel-plugin/main-panel-plugin.c
@@ -60,6 +60,7 @@ static void
 panel_plugin_register (XfcePanelPlugin *panel_plugin)
 {
   MyPlugin *plugin = plugin_register ();
+  GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
 
   /* Menu Position Func */
   plugin->menu_position_func = (GtkMenuPositionFunc)my_plugin_position_menu;
@@ -72,8 +73,14 @@ panel_plugin_register (XfcePanelPlugin *panel_plugin)
 
   /* Panel Button */
   plugin->button = xfce_create_panel_toggle_button ();
-  /* The image is set through the set_size callback */
-  plugin->image = xfce_panel_image_new_from_source (GTK_STOCK_PASTE);
+  if (gtk_icon_theme_has_icon (icon_theme, "clipman"))
+    {
+      plugin->image = xfce_panel_image_new_from_source ("clipman");
+    }
+  else
+    {
+      plugin->image = xfce_panel_image_new_from_source (GTK_STOCK_PASTE);
+    }
   gtk_container_add (GTK_CONTAINER (plugin->button), plugin->image);
   gtk_container_add (GTK_CONTAINER (panel_plugin), plugin->button);
   xfce_panel_plugin_add_action_widget (panel_plugin, plugin->button);
diff --git a/panel-plugin/main-status-icon.c b/panel-plugin/main-status-icon.c
index f80fbe1..268c526 100644
--- a/panel-plugin/main-status-icon.c
+++ b/panel-plugin/main-status-icon.c
@@ -77,12 +77,20 @@ static MyPlugin *
 status_icon_register (void)
 {
   MyPlugin *plugin = plugin_register ();
+  GtkIconTheme *icon_theme = gtk_icon_theme_get_default ();
 
   /* Menu Position Func */
   plugin->menu_position_func = (GtkMenuPositionFunc)gtk_status_icon_position_menu;
 
   /* Status Icon */
-  plugin->status_icon = gtk_status_icon_new_from_stock (GTK_STOCK_PASTE);
+  if (gtk_icon_theme_has_icon (icon_theme, "clipman"))
+    {
+      plugin->status_icon = gtk_status_icon_new_from_icon_name ("clipman");
+    }
+  else
+    {
+      plugin->status_icon = gtk_status_icon_new_from_stock (GTK_STOCK_PASTE);
+    }
   gtk_status_icon_set_tooltip (plugin->status_icon, _("Clipman"));
   g_timeout_add_seconds (60, (GSourceFunc)cb_status_icon_is_embedded, plugin->status_icon);
 



More information about the Xfce4-commits mailing list