[gnome-panel] lignome-panel: add prefer-symbolic-icons property
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel] lignome-panel: add prefer-symbolic-icons property
- Date: Mon, 23 Dec 2019 12:46:08 +0000 (UTC)
commit a1c7d56ee66d3ed93334732c941f076e011c8190
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Mon Dec 23 14:42:30 2019 +0200
lignome-panel: add prefer-symbolic-icons property
data/org.gnome.gnome-panel.gschema.xml | 6 ++++
libgnome-panel/gp-applet.c | 66 ++++++++++++++++++++++++++++++++++
libgnome-panel/gp-applet.h | 54 ++++++++++++++--------------
3 files changed, 100 insertions(+), 26 deletions(-)
---
diff --git a/data/org.gnome.gnome-panel.gschema.xml b/data/org.gnome.gnome-panel.gschema.xml
index 457332f83..08c4bbfa3 100644
--- a/data/org.gnome.gnome-panel.gschema.xml
+++ b/data/org.gnome.gnome-panel.gschema.xml
@@ -34,6 +34,12 @@
<summary>Enable tooltips</summary>
<description>If true, tooltips are shown for objects in panels. Tooltips can be disabled for the whole
desktop with the gtk-enable-tooltips property in GTK+.</description>
</key>
+
+ <key name="prefer-symbolic-icons" type="b">
+ <default>false</default>
+ <summary>Prefer symbolic icons in panels</summary>
+ </key>
+
<key name="confirm-panel-removal" type="b">
<default>true</default>
<summary>Confirm panel removal</summary>
diff --git a/libgnome-panel/gp-applet.c b/libgnome-panel/gp-applet.c
index cd3897830..f5f6347ca 100644
--- a/libgnome-panel/gp-applet.c
+++ b/libgnome-panel/gp-applet.c
@@ -77,6 +77,8 @@ typedef struct
gboolean enable_tooltips;
+ gboolean prefer_symbolic_icons;
+
guint panel_icon_size;
guint menu_icon_size;
} GpAppletPrivate;
@@ -95,6 +97,8 @@ enum
PROP_ENABLE_TOOLTIPS,
+ PROP_PREFER_SYMBOLIC_ICONS,
+
PROP_PANEL_ICON_SIZE,
PROP_MENU_ICON_SIZE,
@@ -136,6 +140,25 @@ update_enable_tooltips (GpApplet *applet)
properties[PROP_ENABLE_TOOLTIPS]);
}
+static void
+update_prefer_symbolic_icons (GpApplet *applet)
+{
+ GpAppletPrivate *priv;
+ gboolean prefer_symbolic_icons;
+
+ priv = gp_applet_get_instance_private (applet);
+ prefer_symbolic_icons = g_settings_get_boolean (priv->general_settings,
+ "prefer-symbolic-icons");
+
+ if (priv->prefer_symbolic_icons == prefer_symbolic_icons)
+ return;
+
+ priv->prefer_symbolic_icons = prefer_symbolic_icons;
+
+ g_object_notify_by_pspec (G_OBJECT (applet),
+ properties[PROP_PREFER_SYMBOLIC_ICONS]);
+}
+
static void
update_menu_icon_size (GpApplet *applet)
{
@@ -217,6 +240,9 @@ general_settings_changed_cb (GSettings *settings,
if (key == NULL || g_strcmp0 (key, "enable-tooltips") == 0)
update_enable_tooltips (applet);
+ if (key == NULL || g_strcmp0 (key, "prefer-symbolic-icons") == 0)
+ update_prefer_symbolic_icons (applet);
+
if (key == NULL || g_strcmp0 (key, "menu-icon-size") == 0)
update_menu_icon_size (applet);
@@ -404,6 +430,10 @@ gp_applet_get_property (GObject *object,
g_value_set_boolean (value, priv->enable_tooltips);
break;
+ case PROP_PREFER_SYMBOLIC_ICONS:
+ g_value_set_boolean (value, priv->prefer_symbolic_icons);
+ break;
+
case PROP_PANEL_ICON_SIZE:
g_value_set_uint (value, priv->panel_icon_size);
break;
@@ -467,6 +497,9 @@ gp_applet_set_property (GObject *object,
case PROP_ENABLE_TOOLTIPS:
break;
+ case PROP_PREFER_SYMBOLIC_ICONS:
+ break;
+
case PROP_PANEL_ICON_SIZE:
break;
@@ -656,6 +689,20 @@ install_properties (GObjectClass *object_class)
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY |
G_PARAM_STATIC_STRINGS);
+ /**
+ * GpApplet:prefer-symbolic-icons:
+ *
+ * Whether the applet should prefer symbolic icons in panels.
+ */
+ properties[PROP_PREFER_SYMBOLIC_ICONS] =
+ g_param_spec_boolean ("prefer-symbolic-icons",
+ "Prefer symbolic icons",
+ "Prefer symbolic icons",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_EXPLICIT_NOTIFY |
+ G_PARAM_STATIC_STRINGS);
+
/**
* GpApplet:panel-icon-size:
*
@@ -1246,6 +1293,25 @@ gp_applet_get_menu (GpApplet *applet)
return gtk_menu_new_from_model (G_MENU_MODEL (object));
}
+/**
+ * gp_applet_get_prefer_symbolic_icons:
+ * @applet: a #GpApplet
+ *
+ * Returns whether the applet should prefer symbolic icons in panels.
+ *
+ * Returns: whether the applet should prefer symbolic icons in panels.
+ */
+gboolean
+gp_applet_get_prefer_symbolic_icons (GpApplet *applet)
+{
+ GpAppletPrivate *priv;
+
+ g_return_val_if_fail (GP_IS_APPLET (applet), FALSE);
+ priv = gp_applet_get_instance_private (applet);
+
+ return priv->prefer_symbolic_icons;
+}
+
/**
* gp_applet_get_panel_icon_size:
* @applet: a #GpApplet
diff --git a/libgnome-panel/gp-applet.h b/libgnome-panel/gp-applet.h
index 6712161c2..e99ecaf29 100644
--- a/libgnome-panel/gp-applet.h
+++ b/libgnome-panel/gp-applet.h
@@ -80,44 +80,46 @@ struct _GpAppletClass
gpointer padding[10];
};
-gboolean gp_applet_get_locked_down (GpApplet *applet);
+gboolean gp_applet_get_locked_down (GpApplet *applet);
-GtkOrientation gp_applet_get_orientation (GpApplet *applet);
+GtkOrientation gp_applet_get_orientation (GpApplet *applet);
-GtkPositionType gp_applet_get_position (GpApplet *applet);
+GtkPositionType gp_applet_get_position (GpApplet *applet);
-void gp_applet_set_flags (GpApplet *applet,
- GpAppletFlags flags);
+void gp_applet_set_flags (GpApplet *applet,
+ GpAppletFlags flags);
-void gp_applet_set_size_hints (GpApplet *applet,
- const gint *size_hints,
- guint n_elements,
- gint base_size);
+void gp_applet_set_size_hints (GpApplet *applet,
+ const gint *size_hints,
+ guint n_elements,
+ gint base_size);
-GSettings *gp_applet_settings_new (GpApplet *applet,
- const gchar *schema);
+GSettings *gp_applet_settings_new (GpApplet *applet,
+ const gchar *schema);
-void gp_applet_request_focus (GpApplet *applet,
- guint32 timestamp);
+void gp_applet_request_focus (GpApplet *applet,
+ guint32 timestamp);
-void gp_applet_setup_menu (GpApplet *applet,
- const gchar *xml,
- const GActionEntry *entries);
+void gp_applet_setup_menu (GpApplet *applet,
+ const gchar *xml,
+ const GActionEntry *entries);
-void gp_applet_setup_menu_from_file (GpApplet *applet,
- const gchar *filename,
- const GActionEntry *entries);
+void gp_applet_setup_menu_from_file (GpApplet *applet,
+ const gchar *filename,
+ const GActionEntry *entries);
-void gp_applet_setup_menu_from_resource (GpApplet *applet,
- const gchar *resource_path,
- const GActionEntry *entries);
+void gp_applet_setup_menu_from_resource (GpApplet *applet,
+ const gchar *resource_path,
+ const GActionEntry *entries);
-GAction *gp_applet_menu_lookup_action (GpApplet *applet,
- const gchar *action_name);
+GAction *gp_applet_menu_lookup_action (GpApplet *applet,
+ const gchar *action_name);
-guint gp_applet_get_panel_icon_size (GpApplet *applet);
+gboolean gp_applet_get_prefer_symbolic_icons (GpApplet *applet);
-guint gp_applet_get_menu_icon_size (GpApplet *applet);
+guint gp_applet_get_panel_icon_size (GpApplet *applet);
+
+guint gp_applet_get_menu_icon_size (GpApplet *applet);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]