[gnome-panel] menu: respect the menu-icon-size setting
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel] menu: respect the menu-icon-size setting
- Date: Wed, 31 Jan 2018 21:19:21 +0000 (UTC)
commit c6553fe42ef2d536075e8df49c6dfc3c1a2ff83a
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Tue Jan 30 00:28:08 2018 +0200
menu: respect the menu-icon-size setting
modules/menu/gp-menu.c | 33 +++++++++++++++++++++++++++++----
1 files changed, 29 insertions(+), 4 deletions(-)
---
diff --git a/modules/menu/gp-menu.c b/modules/menu/gp-menu.c
index 70fb404..7b8eaf7 100644
--- a/modules/menu/gp-menu.c
+++ b/modules/menu/gp-menu.c
@@ -34,6 +34,8 @@ struct _GpMenu
GMenuTree *tree;
guint load_id;
+
+ gulong menu_icon_size_id;
};
enum
@@ -88,11 +90,13 @@ append_directory (GtkMenuShell *shell,
if (icon != NULL)
{
GtkWidget *image;
+ guint icon_size;
image = gtk_image_new ();
+ icon_size = gp_applet_get_menu_icon_size (menu->applet);
gtk_image_set_from_gicon (GTK_IMAGE (image), icon, GTK_ICON_SIZE_MENU);
- gtk_image_set_pixel_size (GTK_IMAGE (image), 16);
+ gtk_image_set_pixel_size (GTK_IMAGE (image), icon_size);
gp_image_menu_item_set_image (GP_IMAGE_MENU_ITEM (item), image);
}
@@ -127,11 +131,13 @@ append_entry (GtkMenuShell *shell,
if (icon != NULL)
{
GtkWidget *image;
+ guint icon_size;
image = gtk_image_new ();
+ icon_size = gp_applet_get_menu_icon_size (menu->applet);
gtk_image_set_from_gicon (GTK_IMAGE (image), icon, GTK_ICON_SIZE_MENU);
- gtk_image_set_pixel_size (GTK_IMAGE (image), 16);
+ gtk_image_set_pixel_size (GTK_IMAGE (image), icon_size);
gp_image_menu_item_set_image (GP_IMAGE_MENU_ITEM (item), image);
}
@@ -266,6 +272,14 @@ menu_tree_changed_cb (GMenuTree *tree,
}
static void
+menu_icon_size_cb (GpApplet *applet,
+ GParamSpec *pspec,
+ GpMenu *menu)
+{
+ menu_tree_changed_cb (menu->tree, menu);
+}
+
+static void
gp_menu_constructed (GObject *object)
{
GpMenu *menu;
@@ -281,6 +295,11 @@ gp_menu_constructed (GObject *object)
g_signal_connect (menu->tree, "changed",
G_CALLBACK (menu_tree_changed_cb), menu);
+ menu->menu_icon_size_id = g_signal_connect (menu->applet,
+ "notify::menu-icon-size",
+ G_CALLBACK (menu_icon_size_cb),
+ menu);
+
menu_tree_changed_cb (menu->tree, menu);
}
@@ -291,8 +310,6 @@ gp_menu_dispose (GObject *object)
menu = GP_MENU (object);
- menu->applet = NULL;
-
g_clear_object (&menu->tree);
if (menu->load_id != 0)
@@ -301,6 +318,14 @@ gp_menu_dispose (GObject *object)
menu->load_id = 0;
}
+ if (menu->menu_icon_size_id != 0)
+ {
+ g_signal_handler_disconnect (menu->applet, menu->menu_icon_size_id);
+ menu->menu_icon_size_id = 0;
+ }
+
+ menu->applet = NULL;
+
G_OBJECT_CLASS (gp_menu_parent_class)->dispose (object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]