[Xfce4-commits] [xfce/xfce4-power-manager] 01/01: Simplify icon loading for the panel plugin

noreply at xfce.org noreply at xfce.org
Sun Mar 22 13:47:26 CET 2015


This is an automated email from the git hooks/post-receive script.

ochosi pushed a commit to branch master
in repository xfce/xfce4-power-manager.

commit 8fc415c498401f94d800564275f9d5db7a674c4a
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date:   Sun Mar 22 13:39:19 2015 +0100

    Simplify icon loading for the panel plugin
---
 .../power-manager-plugin/power-manager-button.c    |   37 +++++---------------
 1 file changed, 8 insertions(+), 29 deletions(-)

diff --git a/panel-plugins/power-manager-plugin/power-manager-button.c b/panel-plugins/power-manager-plugin/power-manager-button.c
index 4ed22ea..9749a13 100644
--- a/panel-plugins/power-manager-plugin/power-manager-button.c
+++ b/panel-plugins/power-manager-plugin/power-manager-button.c
@@ -126,7 +126,7 @@ G_DEFINE_TYPE (PowerManagerButton, power_manager_button, GTK_TYPE_TOGGLE_BUTTON)
 static void power_manager_button_finalize   (GObject *object);
 static GList* find_device_in_list (PowerManagerButton *button, const gchar *object_path);
 static gboolean power_manager_button_device_icon_expose (GtkWidget *img, GdkEventExpose *event, gpointer userdata);
-static gboolean power_manager_button_set_icon (PowerManagerButton *button);
+static void power_manager_button_set_icon (PowerManagerButton *button);
 static gboolean power_manager_button_press_event (GtkWidget *widget, GdkEventButton *event);
 static gboolean power_manager_button_menu_add_device (PowerManagerButton *button, BatteryDevice *battery_device, gboolean append);
 static void increase_brightness (PowerManagerButton *button);
@@ -893,35 +893,15 @@ power_manager_button_new (void)
     return GTK_WIDGET (button);
 }
 
-static gboolean
+static void
 power_manager_button_set_icon (PowerManagerButton *button)
 {
-    GtkWidget *parent;
-    GdkPixbuf *pixbuf;
-    GtkIconInfo *info;
-    GtkStyleContext *context;
-    gchar *icon_name;
-
-    DBG("icon_width %d", button->priv->panel_icon_width);
+    gtk_image_set_from_icon_name (GTK_IMAGE (button->priv->panel_icon_image), button->priv->panel_icon_name, GTK_ICON_SIZE_BUTTON);
+    gtk_image_set_pixel_size (GTK_IMAGE (button->priv->panel_icon_image), button->priv->panel_icon_width);
 
-    icon_name = g_strdup_printf ("%s-symbolic", button->priv->panel_icon_name);
-    parent = gtk_widget_get_parent (GTK_WIDGET (button));
-    context = GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (parent)));
-    info = gtk_icon_theme_lookup_icon (gtk_icon_theme_get_default (), icon_name,
-                                       button->priv->panel_icon_width, GTK_ICON_LOOKUP_GENERIC_FALLBACK);
-    pixbuf = gtk_icon_info_load_symbolic_for_context (info, context, NULL, NULL);
+    /* Notify others the icon name changed */
+    g_signal_emit (button, __signals[SIG_ICON_NAME_CHANGED], 0);
 
-    if (pixbuf)
-    {
-        gtk_image_set_from_pixbuf (GTK_IMAGE (button->priv->panel_icon_image), pixbuf);
-        /* Notify others the icon name changed */
-        g_signal_emit (button, __signals[SIG_ICON_NAME_CHANGED], 0);
-        g_object_unref (pixbuf);
-        return TRUE;
-    }
-
-    g_free (icon_name);
-    return FALSE;
 }
 
 const gchar *
@@ -947,7 +927,7 @@ power_manager_button_press_event (GtkWidget *widget, GdkEventButton *event)
 }
 
 #ifdef XFCE_PLUGIN
-static gboolean
+static void
 power_manager_button_size_changed_cb (XfcePanelPlugin *plugin, gint size, PowerManagerButton *button)
 {
     GtkStyleContext *context;
@@ -984,8 +964,7 @@ power_manager_button_size_changed_cb (XfcePanelPlugin *plugin, gint size, PowerM
         button->priv->panel_icon_width = width;
 
     gtk_widget_set_size_request (GTK_WIDGET(plugin), size, size);
-
-    return power_manager_button_set_icon (button);
+    power_manager_button_set_icon (button);
 }
 
 static void

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list