summaryrefslogtreecommitdiff
path: root/mate-panel
diff options
context:
space:
mode:
authorSorokin Alexei <[email protected]>2016-02-20 18:39:53 +0300
committerWolfgang Ulbrich <[email protected]>2016-02-21 11:51:49 +0100
commitbd3d7bc04d864d37e054b9e51fb48cbabb7e18f7 (patch)
tree50c9115518956d54e451e0a57c1f997fc61862cb /mate-panel
parentc29a88ff648af2e07a7cd657c027f1e5bf665ed6 (diff)
downloadmate-panel-bd3d7bc04d864d37e054b9e51fb48cbabb7e18f7.tar.bz2
mate-panel-bd3d7bc04d864d37e054b9e51fb48cbabb7e18f7.tar.xz
add gschema key for setting menu icon sizes
Diffstat (limited to 'mate-panel')
-rw-r--r--mate-panel/panel-stock-icons.c35
1 files changed, 28 insertions, 7 deletions
diff --git a/mate-panel/panel-stock-icons.c b/mate-panel/panel-stock-icons.c
index 26639784..514e5818 100644
--- a/mate-panel/panel-stock-icons.c
+++ b/mate-panel/panel-stock-icons.c
@@ -30,6 +30,7 @@
#include <gtk/gtk.h>
#include "panel-icon-names.h"
+#include "panel-schemas.h"
static GtkIconSize panel_menu_icon_size = 0;
static GtkIconSize panel_menu_bar_icon_size = 0;
@@ -128,14 +129,33 @@ void
panel_init_stock_icons_and_items (void)
{
GtkIconFactory *factory;
+ GSettings *settings;
+ gint icon_size;
+
+ settings = g_settings_new (PANEL_MENU_BAR_SCHEMA);
+
+ icon_size = g_settings_get_enum (settings, "item-icon-size");
+ if (icon_size <= 0) {
+ panel_menu_icon_size = gtk_icon_size_register ("panel-menu",
+ PANEL_DEFAULT_MENU_ICON_SIZE,
+ PANEL_DEFAULT_MENU_ICON_SIZE);
+ } else {
+ /* underscores to prevent themes from altering these settings */
+ panel_menu_icon_size = gtk_icon_size_register ("__panel-menu",
+ icon_size,
+ icon_size);
+ }
- panel_menu_icon_size = gtk_icon_size_register ("panel-menu",
- PANEL_DEFAULT_MENU_ICON_SIZE,
- PANEL_DEFAULT_MENU_ICON_SIZE);
-
- panel_menu_bar_icon_size = gtk_icon_size_register ("panel-foobar",
- PANEL_DEFAULT_MENU_BAR_ICON_SIZE,
- PANEL_DEFAULT_MENU_BAR_ICON_SIZE);
+ icon_size = g_settings_get_enum (settings, "icon-size");
+ if (icon_size <= 0) {
+ panel_menu_bar_icon_size = gtk_icon_size_register ("panel-foobar",
+ PANEL_DEFAULT_MENU_BAR_ICON_SIZE,
+ PANEL_DEFAULT_MENU_BAR_ICON_SIZE);
+ } else {
+ panel_menu_bar_icon_size = gtk_icon_size_register ("__panel-foobar",
+ icon_size,
+ icon_size);
+ }
panel_add_to_icon_size = gtk_icon_size_register ("panel-add-to",
PANEL_ADD_TO_DEFAULT_ICON_SIZE,
@@ -148,4 +168,5 @@ panel_init_stock_icons_and_items (void)
panel_init_stock_items (factory);
g_object_unref (factory);
+ g_object_unref (settings);
}