[Xfce4-commits] [xfce/xfce4-panel] 27/73: ApplicationsMenu: fixed wrong initial icon size in some themes
noreply at xfce.org
noreply at xfce.org
Sun Feb 26 16:34:08 CET 2017
This is an automated email from the git hooks/post-receive script.
andrzejr pushed a commit to branch master
in repository xfce/xfce4-panel.
commit b0782dc2bf199613aa93433f01a5af07f196ff96
Author: Andrzej <ndrwrdck at gmail.com>
Date: Wed May 28 23:06:58 2014 +0100
ApplicationsMenu: fixed wrong initial icon size in some themes
---
plugins/applicationsmenu/applicationsmenu.c | 35 +++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/plugins/applicationsmenu/applicationsmenu.c b/plugins/applicationsmenu/applicationsmenu.c
index 90757b9..f1afb4a 100644
--- a/plugins/applicationsmenu/applicationsmenu.c
+++ b/plugins/applicationsmenu/applicationsmenu.c
@@ -67,6 +67,9 @@ struct _ApplicationsMenuPlugin
/* temp item we store here when the
* properties dialog is opened */
GtkWidget *dialog_icon;
+
+ gulong style_set_id;
+ gulong screen_changed_id;
};
enum
@@ -108,6 +111,7 @@ static gboolean applications_menu_plugin_menu (GtkWidget
static void applications_menu_plugin_menu_deactivate (GtkWidget *menu,
GtkWidget *button);
static void applications_menu_plugin_set_garcon_menu (ApplicationsMenuPlugin *plugin);
+static void applications_menu_button_theme_changed (ApplicationsMenuPlugin *plugin);
@@ -224,6 +228,11 @@ applications_menu_plugin_init (ApplicationsMenuPlugin *plugin)
plugin->menu = garcon_gtk_menu_new (NULL);
g_signal_connect (G_OBJECT (plugin->menu), "selection-done",
G_CALLBACK (applications_menu_plugin_menu_deactivate), plugin->button);
+
+ plugin->style_set_id = g_signal_connect_swapped (G_OBJECT (plugin->button), "style-set",
+ G_CALLBACK (applications_menu_button_theme_changed), plugin);
+ plugin->screen_changed_id = g_signal_connect_swapped (G_OBJECT (plugin->button), "screen-changed",
+ G_CALLBACK (applications_menu_button_theme_changed), plugin);
}
@@ -400,6 +409,8 @@ applications_menu_plugin_construct (XfcePanelPlugin *panel_plugin)
gtk_widget_show (plugin->button);
+ applications_menu_plugin_size_changed (panel_plugin,
+ xfce_panel_plugin_get_size (panel_plugin));
plugin->is_constructed = TRUE;
}
@@ -413,6 +424,18 @@ applications_menu_plugin_free_data (XfcePanelPlugin *panel_plugin)
if (plugin->menu != NULL)
gtk_widget_destroy (plugin->menu);
+ if (plugin->style_set_id != 0)
+ {
+ g_signal_handler_disconnect (plugin->button, plugin->style_set_id);
+ plugin->style_set_id = 0;
+ }
+
+ if (plugin->screen_changed_id != 0)
+ {
+ g_signal_handler_disconnect (plugin->button, plugin->screen_changed_id);
+ plugin->screen_changed_id = 0;
+ }
+
g_free (plugin->button_title);
g_free (plugin->button_icon);
g_free (plugin->custom_menu_file);
@@ -798,3 +821,15 @@ applications_menu_plugin_menu (GtkWidget *button,
return TRUE;
}
+
+
+
+static void
+applications_menu_button_theme_changed (ApplicationsMenuPlugin *plugin)
+{
+ XfcePanelPlugin *panel_plugin = XFCE_PANEL_PLUGIN (plugin);
+
+ applications_menu_plugin_size_changed (panel_plugin,
+ xfce_panel_plugin_get_size (panel_plugin));
+}
+
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list