[gnome-panel/wip/muktupavels/launcher: 1/6] lockdown: add disabled-applets property
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel/wip/muktupavels/launcher: 1/6] lockdown: add disabled-applets property
- Date: Wed, 15 Apr 2020 18:44:43 +0000 (UTC)
commit f89efb7cbd7ad48208400248ba44954805c84658
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Wed Apr 15 20:03:31 2020 +0300
lockdown: add disabled-applets property
gnome-panel/panel-lockdown.c | 44 ++++++++++++++++++++++++--------------------
1 file changed, 24 insertions(+), 20 deletions(-)
---
diff --git a/gnome-panel/panel-lockdown.c b/gnome-panel/panel-lockdown.c
index 8bd5bcb13..9b2eaa8fc 100644
--- a/gnome-panel/panel-lockdown.c
+++ b/gnome-panel/panel-lockdown.c
@@ -49,23 +49,13 @@ enum {
PROP_DISABLE_LOCK_SCREEN,
PROP_DISABLE_LOG_OUT,
PROP_DISABLE_SWITCH_USER,
+ PROP_DISABLED_APPLETS,
PROP_PANELS_LOCKED_DOWN,
PROP_DISABLE_FORCE_QUIT
};
G_DEFINE_TYPE_WITH_PRIVATE (PanelLockdown, panel_lockdown, G_TYPE_OBJECT)
-static void
-_panel_lockdown_disabled_applets_changed (GSettings *settings,
- const char *key,
- PanelLockdown *lockdown)
-{
- if (lockdown->priv->disabled_applets)
- g_strfreev (lockdown->priv->disabled_applets);
- lockdown->priv->disabled_applets = g_settings_get_strv (lockdown->priv->panel_settings,
- PANEL_LOCKDOWN_DISABLED_APPLETS_KEY);
-}
-
static GObject *
panel_lockdown_constructor (GType type,
guint n_construct_properties,
@@ -107,6 +97,12 @@ panel_lockdown_constructor (GType type,
"disable-switch-user",
G_SETTINGS_BIND_GET);
+ g_settings_bind (lockdown->priv->panel_settings,
+ PANEL_LOCKDOWN_DISABLED_APPLETS_KEY,
+ lockdown,
+ "disabled-applets",
+ G_SETTINGS_BIND_GET);
+
g_settings_bind (lockdown->priv->panel_settings,
PANEL_LOCKDOWN_COMPLETE_LOCKDOWN_KEY,
lockdown,
@@ -119,15 +115,6 @@ panel_lockdown_constructor (GType type,
"disable-force-quit",
G_SETTINGS_BIND_GET);
- g_signal_connect (lockdown->priv->panel_settings,
- "changed::"PANEL_LOCKDOWN_DISABLED_APPLETS_KEY,
- G_CALLBACK (_panel_lockdown_disabled_applets_changed),
- lockdown);
-
- _panel_lockdown_disabled_applets_changed (lockdown->priv->panel_settings,
- PANEL_LOCKDOWN_DISABLED_APPLETS_KEY,
- lockdown);
-
return obj;
}
@@ -184,6 +171,10 @@ panel_lockdown_set_property (GObject *object,
value,
"disable-switch-user");
break;
+ case PROP_DISABLED_APPLETS:
+ g_strfreev (lockdown->priv->disabled_applets);
+ lockdown->priv->disabled_applets = g_value_dup_boxed (value);
+ break;
case PROP_PANELS_LOCKED_DOWN:
_panel_lockdown_set_property_helper (lockdown,
&lockdown->priv->panels_locked_down,
@@ -227,6 +218,9 @@ panel_lockdown_get_property (GObject *object,
case PROP_DISABLE_SWITCH_USER:
g_value_set_boolean (value, lockdown->priv->disable_switch_user);
break;
+ case PROP_DISABLED_APPLETS:
+ g_value_set_boxed (value, lockdown->priv->disabled_applets);
+ break;
case PROP_PANELS_LOCKED_DOWN:
g_value_set_boolean (value, lockdown->priv->panels_locked_down);
break;
@@ -319,6 +313,16 @@ panel_lockdown_class_init (PanelLockdownClass *lockdown_class)
TRUE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (
+ gobject_class,
+ PROP_DISABLED_APPLETS,
+ g_param_spec_boxed (
+ "disabled-applets",
+ "Disabled applets",
+ "Applet IIDs to disable from loading",
+ G_TYPE_STRV,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
g_object_class_install_property (
gobject_class,
PROP_PANELS_LOCKED_DOWN,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]