This is an automated email from the git hooks/post-receive script. b l u e s a b r e p u s h e d a c o m m i t t o b r a n c h m a s t e r in repository apps/xfce4-screensaver.
commit 808615eca162f43dd24599c7b53b21bd2607435c Author: Sean Davis <smd.seanda...@gmail.com> Date: Tue Oct 9 22:06:35 2018 -0400 Port org.xfce.peripherals-keyboard-xkb.gschema.xml.in to Xfconf --- data/Makefile.am | 8 +-- ...rg.xfce.peripherals-keyboard-xkb.gschema.xml.in | 59 ------------------ po/POTFILES.in | 1 - src/xfcekbd-config-private.h | 70 +++++++++++++++++++++- src/xfcekbd-desktop-config.c | 50 +++++++--------- src/xfcekbd-desktop-config.h | 9 +-- src/xfcekbd-indicator-config.c | 50 +++++++--------- src/xfcekbd-indicator-config.h | 7 ++- src/xfcekbd-indicator.c | 8 +-- 9 files changed, 127 insertions(+), 135 deletions(-) diff --git a/data/Makefile.am b/data/Makefile.am index 7221986..f06ba4e 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -43,11 +43,7 @@ dbussessionservice_DATA = org.xfce.ScreenSaver.service @GSETTINGS_RULES@ @INTLTOOL_XML_NOMERGE_RULE@ -gsettingsschema_in_files = org.xfce.peripherals-keyboard-xkb.gschema.xml.in -gsettings_SCHEMAS = $(gsettingsschema_in_files:.xml.in=.xml) - EXTRA_DIST = \ - $(gsettingsschema_in_files) \ $(desktop_in_files) \ $(directory_in_files) \ $(gtkbuilder_DATA) \ @@ -60,15 +56,13 @@ EXTRA_DIST = \ $(NULL) DISTCLEANFILES = \ - $(gsettings_SCHEMAS) \ $(desktop_DATA) \ $(directory_DATA) \ $(NULL) MAINTAINERCLEANFILES = \ *~ \ - Makefile.in \ - $(gsettings_SCHEMAS:.xml=.valid) + Makefile.in install-data-hook: @system=`uname`; \ diff --git a/data/org.xfce.peripherals-keyboard-xkb.gschema.xml.in b/data/org.xfce.peripherals-keyboard-xkb.gschema.xml.in deleted file mode 100644 index 09d4549..0000000 --- a/data/org.xfce.peripherals-keyboard-xkb.gschema.xml.in +++ /dev/null @@ -1,59 +0,0 @@ -<schemalist gettext-domain="@GETTEXT_PACKAGE@"> - <schema id="org.xfce.peripherals-keyboard-xkb" path="/org/xfce/desktop/peripherals/keyboard/"> - <child name="kbd" schema="org.xfce.peripherals-keyboard-xkb.kbd"/> - <child name="general" schema="org.xfce.peripherals-keyboard-xkb.general"/> - <child name="indicator" schema="org.xfce.peripherals-keyboard-xkb.indicator"/> - </schema> - <schema id="org.xfce.peripherals-keyboard-xkb.general" path="/org/xfce/desktop/peripherals/keyboard/general/"> - <key name="default-group" type="i"> - <default>-1</default> - <summary>Default group, assigned on window creation</summary> - <description>Default group, assigned on window creation</description> - </key> - <key name="group-per-window" type="b"> - <default>true</default> - <summary>Keep and manage separate group per window</summary> - <description>Keep and manage separate group per window</description> - </key> - <key name="handle-indicators" type="b"> - <default>false</default> - <summary>Save/restore indicators together with layout groups</summary> - <description>Save/restore indicators together with layout groups</description> - </key> - <key name="layout-names-as-group-names" type="b"> - <default>true</default> - <summary>Show layout names instead of group names</summary> - <description>Show layout names instead of group names (only for versions of XFree supporting multiple layouts)</description> - </key> - <key name="load-extra-items" type="b"> - <default>false</default> - <summary>Load extra configuration items</summary> - <description>Load exotic, rarely used layouts and options</description> - </key> - </schema> - <schema id="org.xfce.peripherals-keyboard-xkb.indicator" path="/org/xfce/desktop/peripherals/keyboard/indicator/"> - <key name="secondary" type="i"> - <default>0</default> - <summary>Secondary groups</summary> - <description>Secondary groups</description> - </key> - <key name="show-flags" type="b"> - <default>false</default> - </key> - <key name="font-family" type="s"> - <default>''</default> - <summary>The font</summary> - <description>The font for the layout indicator. This should be in "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]" format.</description> - </key> - <key name="foreground-color" type="s"> - <default>''</default> - <summary>The foreground color</summary> - <description>The foreground color for the layout indicator. This should be in "R G B" format, for example "255 0 0".</description> - </key> - <key name="background-color" type="s"> - <default>''</default> - <summary>The background color</summary> - <description>The background color for the layout indicator. This should be in "R G B" format, for example "255 0 0".</description> - </key> - </schema> -</schemalist> diff --git a/po/POTFILES.in b/po/POTFILES.in index 184abae..589d7cd 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -2,7 +2,6 @@ # Please keep this file sorted alphabetically. data/images/cosmos/cosmos.xml.in.in [type: gettext/glade]data/lock-dialog-default.ui -[type: gettext/gsettings]data/org.xfce.peripherals-keyboard-xkb.gschema.xml.in data/xfce4-screensaver-preferences.desktop.in [type: gettext/glade]data/xfce4-screensaver-preferences.ui data/xfce4-screensaver.directory.in diff --git a/src/xfcekbd-config-private.h b/src/xfcekbd-config-private.h index 1a6f230..29ac3db 100644 --- a/src/xfcekbd-config-private.h +++ b/src/xfcekbd-config-private.h @@ -23,7 +23,75 @@ #include "xfcekbd-desktop-config.h" #include "xfcekbd-keyboard-config.h" -#define XFCEKBD_CONFIG_SCHEMA "org.xfce.peripherals-keyboard-xkb" +#define SETTINGS_XFCONF_CHANNEL "xfce4-screensaver" + +/** + * KBD/General: Default group, assigned on window creation + */ +#define KEY_KBD_DEFAULT_GROUP "/kbd/general/default-group" +#define DEFAULT_KEY_KBD_DEFAULT_GROUP -1 + +/** + * KBD/General: Keep and manage separate group per window + */ +#define KEY_KBD_GROUP_PER_WINDOW "/kbd/general/group-per-window" +#define DEFAULT_KEY_KBD_GROUP_PER_WINDOW TRUE + +/** + * KBD/General: Save/restore indicators together with layout groups + */ +#define KEY_KBD_HANDLE_INDICATORS "/kbd/general/handle-indicators" +#define DEFAULT_KEY_KBD_HANDLE_INDICATORS FALSE + +/** + * KBD/General: Show layout names instead of group names + * Only for versions of XFree supporting multiple layouts + */ +#define KEY_KBD_LAYOUT_NAMES_AS_GROUP_NAMES "/kbd/general/layout-names-as-group-names" +#define DEFAULT_KEY_KBD_LAYOUT_NAMES_AS_GROUP_NAMES TRUE + +/** + * KBD/General: Load extra configuration items + * Load exotic, rarely used layouts and options + */ +#define KEY_KBD_LOAD_EXTRA_ITEMS "/kbd/general/load-extra-items" +#define DEFAULT_KEY_KBD_LOAD_EXTRA_ITEMS FALSE + +/** + * KBD/Indicator: Show flags instead of language code + */ +#define KEY_KBD_INDICATOR_SHOW_FLAGS "/kbd/indicator/show-flags" +#define DEFAULT_KEY_KBD_INDICATOR_SHOW_FLAGS FALSE + +/** + * KBD/Indicator: Secondary groups + */ +#define KEY_KBD_INDICATOR_SECONDARIES "/kbd/indicator/secondary" +#define DEFAULT_KEY_KBD_INDICATOR_SECONDARIES 0 + +/** + * KBD/Indicator: The font + * The font for the layout indicator. This should be in + * "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]" format. + */ +#define KEY_KBD_INDICATOR_FONT_FAMILY "/kbd/indicator/font-family" +#define DEFAULT_KEY_KBD_INDICATOR_FONT_FAMILY "" + +/** + * KBD/Indicator: The foreground color + * The foreground color for the layout indicator. + * This should be in "R G B" format, for example "255 0 0". + */ +#define KEY_KBD_INDICATOR_FOREGROUND_COLOR "/kbd/indicator/foreground-color" +#define DEFAULT_KEY_KBD_INDICATOR_FOREGROUND_COLOR "" + +/** + * KBD/Indicator: The background color + * The background color for the layout indicator. + * This should be in "R G B" format, for example "255 0 0". + */ +#define KEY_KBD_INDICATOR_BACKGROUND_COLOR "/kbd/indicator/background-color" +#define DEFAULT_KEY_KBD_INDICATOR_BACKGROUND_COLOR "" /** * General config functions (private) diff --git a/src/xfcekbd-desktop-config.c b/src/xfcekbd-desktop-config.c index d4e4c08..a6299bc 100644 --- a/src/xfcekbd-desktop-config.c +++ b/src/xfcekbd-desktop-config.c @@ -24,22 +24,13 @@ #include <stdlib.h> #include <X11/keysym.h> +#include <xfconf/xfconf.h> + #include <glib/gi18n-lib.h> #include <gio/gio.h> #include "xfcekbd-desktop-config.h" #include "xfcekbd-config-private.h" -/** - * XfcekbdDesktopConfig: - */ -#define XFCEKBD_DESKTOP_CONFIG_SCHEMA XFCEKBD_CONFIG_SCHEMA ".general" - -const gchar XFCEKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP[] = "default-group"; -const gchar XFCEKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW[] = "group-per-window"; -const gchar XFCEKBD_DESKTOP_CONFIG_KEY_HANDLE_INDICATORS[] = "handle-indicators"; -const gchar XFCEKBD_DESKTOP_CONFIG_KEY_LAYOUT_NAMES_AS_GROUP_NAMES[] = "layout-names-as-group-names"; -const gchar XFCEKBD_DESKTOP_CONFIG_KEY_LOAD_EXTRA_ITEMS[] = "load-extra-items"; - /* * static common functions */ @@ -131,46 +122,51 @@ xfcekbd_desktop_config_init (XfcekbdDesktopConfig * config, XklEngine * engine) { memset (config, 0, sizeof (*config)); - config->settings = g_settings_new (XFCEKBD_DESKTOP_CONFIG_SCHEMA); + config->channel = xfconf_channel_get (SETTINGS_XFCONF_CHANNEL); config->engine = engine; } void xfcekbd_desktop_config_term (XfcekbdDesktopConfig * config) { - g_object_unref (config->settings); - config->settings = NULL; + g_object_unref (config->channel); + config->channel = NULL; } void -xfcekbd_desktop_config_load_from_gsettings (XfcekbdDesktopConfig * config) +xfcekbd_desktop_config_load_from_xfconf (XfcekbdDesktopConfig * config) { config->group_per_app = - g_settings_get_boolean (config->settings, - XFCEKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW); + xfconf_channel_get_bool(config->channel, + KEY_KBD_GROUP_PER_WINDOW, + DEFAULT_KEY_KBD_GROUP_PER_WINDOW); xkl_debug (150, "group_per_app: %d\n", config->group_per_app); config->handle_indicators = - g_settings_get_boolean (config->settings, - XFCEKBD_DESKTOP_CONFIG_KEY_HANDLE_INDICATORS); + xfconf_channel_get_bool(config->channel, + KEY_KBD_HANDLE_INDICATORS, + DEFAULT_KEY_KBD_HANDLE_INDICATORS); xkl_debug (150, "handle_indicators: %d\n", config->handle_indicators); config->layout_names_as_group_names = - g_settings_get_boolean (config->settings, - XFCEKBD_DESKTOP_CONFIG_KEY_LAYOUT_NAMES_AS_GROUP_NAMES); + xfconf_channel_get_bool(config->channel, + KEY_KBD_LAYOUT_NAMES_AS_GROUP_NAMES, + DEFAULT_KEY_KBD_LAYOUT_NAMES_AS_GROUP_NAMES); xkl_debug (150, "layout_names_as_group_names: %d\n", config->layout_names_as_group_names); config->load_extra_items = - g_settings_get_boolean (config->settings, - XFCEKBD_DESKTOP_CONFIG_KEY_LOAD_EXTRA_ITEMS); + xfconf_channel_get_bool(config->channel, + KEY_KBD_LOAD_EXTRA_ITEMS, + DEFAULT_KEY_KBD_LOAD_EXTRA_ITEMS); xkl_debug (150, "load_extra_items: %d\n", config->load_extra_items); config->default_group = - g_settings_get_int (config->settings, - XFCEKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP); + xfconf_channel_get_int(config->channel, + KEY_KBD_DEFAULT_GROUP, + DEFAULT_KEY_KBD_DEFAULT_GROUP); if (config->default_group < -1 || config->default_group >= @@ -211,14 +207,14 @@ xfcekbd_desktop_config_start_listen (XfcekbdDesktopConfig * config, gpointer user_data) { config->config_listener_id = - g_signal_connect (config->settings, "changed", func, + g_signal_connect (config->channel, "property-changed", func, user_data); } void xfcekbd_desktop_config_stop_listen (XfcekbdDesktopConfig * config) { - g_signal_handler_disconnect (config->settings, + g_signal_handler_disconnect (config->channel, config->config_listener_id); config->config_listener_id = 0; } diff --git a/src/xfcekbd-desktop-config.h b/src/xfcekbd-desktop-config.h index 0845cac..61d23d7 100644 --- a/src/xfcekbd-desktop-config.h +++ b/src/xfcekbd-desktop-config.h @@ -25,10 +25,7 @@ #include <gio/gio.h> #include <libxklavier/xklavier.h> -extern const gchar XFCEKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP[]; -extern const gchar XFCEKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW[]; -extern const gchar XFCEKBD_DESKTOP_CONFIG_KEY_HANDLE_INDICATORS[]; -extern const gchar XFCEKBD_DESKTOP_CONFIG_KEY_LAYOUT_NAMES_AS_GROUP_NAMES[]; +#include <xfconf/xfconf.h> /* * General configuration @@ -42,7 +39,7 @@ struct _XfcekbdDesktopConfig { gboolean load_extra_items; /* private, transient */ - GSettings *settings; + XfconfChannel *channel; int config_listener_id; XklEngine *engine; }; @@ -54,7 +51,7 @@ extern void xfcekbd_desktop_config_init (XfcekbdDesktopConfig * config, XklEngine * engine); extern void xfcekbd_desktop_config_term (XfcekbdDesktopConfig * config); -extern void xfcekbd_desktop_config_load_from_gsettings (XfcekbdDesktopConfig * +extern void xfcekbd_desktop_config_load_from_xfconf (XfcekbdDesktopConfig * config); extern gboolean xfcekbd_desktop_config_activate (XfcekbdDesktopConfig * config); diff --git a/src/xfcekbd-indicator-config.c b/src/xfcekbd-indicator-config.c index c4f9254..57b2e90 100644 --- a/src/xfcekbd-indicator-config.c +++ b/src/xfcekbd-indicator-config.c @@ -29,22 +29,13 @@ #include <glib/gi18n-lib.h> #include <gdk/gdkx.h> +#include <xfconf/xfconf.h> + #include "xfcekbd-keyboard-config.h" #include "xfcekbd-indicator-config.h" #include "xfcekbd-config-private.h" -/** - * XfcekbdIndicatorConfig: - */ -#define XFCEKBD_INDICATOR_CONFIG_SCHEMA XFCEKBD_CONFIG_SCHEMA ".indicator" - -const gchar XFCEKBD_INDICATOR_CONFIG_KEY_SHOW_FLAGS[] = "show-flags"; -const gchar XFCEKBD_INDICATOR_CONFIG_KEY_SECONDARIES[] = "secondary"; -const gchar XFCEKBD_INDICATOR_CONFIG_KEY_FONT_FAMILY[] = "font-family"; -const gchar XFCEKBD_INDICATOR_CONFIG_KEY_FOREGROUND_COLOR[] = "foreground-color"; -const gchar XFCEKBD_INDICATOR_CONFIG_KEY_BACKGROUND_COLOR[] = "background-color"; - /* * static applet config functions */ @@ -52,8 +43,9 @@ static void xfcekbd_indicator_config_load_font (XfcekbdIndicatorConfig * ind_config) { ind_config->font_family = - g_settings_get_string (ind_config->settings, - XFCEKBD_INDICATOR_CONFIG_KEY_FONT_FAMILY); + xfconf_channel_get_string(ind_config->channel, + KEY_KBD_INDICATOR_FONT_FAMILY, + DEFAULT_KEY_KBD_INDICATOR_FONT_FAMILY); if (ind_config->font_family == NULL || ind_config->font_family[0] == '\0') { @@ -90,8 +82,9 @@ static void xfcekbd_indicator_config_load_colors (XfcekbdIndicatorConfig * ind_config) { ind_config->foreground_color = - g_settings_get_string (ind_config->settings, - XFCEKBD_INDICATOR_CONFIG_KEY_FOREGROUND_COLOR); + xfconf_channel_get_string(ind_config->channel, + KEY_KBD_INDICATOR_FOREGROUND_COLOR, + DEFAULT_KEY_KBD_INDICATOR_FOREGROUND_COLOR); if (ind_config->foreground_color == NULL || ind_config->foreground_color[0] == '\0') { @@ -122,8 +115,9 @@ xfcekbd_indicator_config_load_colors (XfcekbdIndicatorConfig * ind_config) } ind_config->background_color = - g_settings_get_string (ind_config->settings, - XFCEKBD_INDICATOR_CONFIG_KEY_BACKGROUND_COLOR); + xfconf_channel_get_string(ind_config->channel, + KEY_KBD_INDICATOR_BACKGROUND_COLOR, + DEFAULT_KEY_KBD_INDICATOR_BACKGROUND_COLOR); } static gchar * @@ -219,7 +213,7 @@ xfcekbd_indicator_config_init (XfcekbdIndicatorConfig * ind_config, gchar *sp; memset (ind_config, 0, sizeof (*ind_config)); - ind_config->settings = g_settings_new (XFCEKBD_INDICATOR_CONFIG_SCHEMA); + ind_config->channel = xfconf_channel_get (SETTINGS_XFCONF_CHANNEL); ind_config->engine = engine; ind_config->icon_theme = gtk_icon_theme_get_default (); @@ -262,20 +256,22 @@ xfcekbd_indicator_config_term (XfcekbdIndicatorConfig * ind_config) xfcekbd_indicator_config_free_image_filenames (ind_config); - g_object_unref (ind_config->settings); - ind_config->settings = NULL; + g_object_unref (ind_config->channel); + ind_config->channel = NULL; } void -xfcekbd_indicator_config_load_from_gsettings (XfcekbdIndicatorConfig * ind_config) +xfcekbd_indicator_config_load_from_xfconf (XfcekbdIndicatorConfig * ind_config) { ind_config->secondary_groups_mask = - g_settings_get_int (ind_config->settings, - XFCEKBD_INDICATOR_CONFIG_KEY_SECONDARIES); + xfconf_channel_get_int (ind_config->channel, + KEY_KBD_INDICATOR_SECONDARIES, + DEFAULT_KEY_KBD_INDICATOR_SECONDARIES); ind_config->show_flags = - g_settings_get_boolean (ind_config->settings, - XFCEKBD_INDICATOR_CONFIG_KEY_SHOW_FLAGS); + xfconf_channel_get_bool (ind_config->channel, + KEY_KBD_INDICATOR_SHOW_FLAGS, + DEFAULT_KEY_KBD_INDICATOR_SHOW_FLAGS); xfcekbd_indicator_config_load_font (ind_config); xfcekbd_indicator_config_load_colors (ind_config); @@ -300,14 +296,14 @@ xfcekbd_indicator_config_start_listen (XfcekbdIndicatorConfig * gpointer user_data) { ind_config->config_listener_id = - g_signal_connect (ind_config->settings, "changed", func, + g_signal_connect (ind_config->channel, "property-changed", func, user_data); } void xfcekbd_indicator_config_stop_listen (XfcekbdIndicatorConfig * ind_config) { - g_signal_handler_disconnect (ind_config->settings, + g_signal_handler_disconnect (ind_config->channel, ind_config->config_listener_id); ind_config->config_listener_id = 0; } diff --git a/src/xfcekbd-indicator-config.h b/src/xfcekbd-indicator-config.h index fc9bb12..1248d73 100644 --- a/src/xfcekbd-indicator-config.h +++ b/src/xfcekbd-indicator-config.h @@ -21,6 +21,7 @@ #define __XFCEKBD_INDICATOR_CONFIG_H__ #include <gtk/gtk.h> +#include <xfconf/xfconf.h> #include "xfcekbd-keyboard-config.h" @@ -37,7 +38,7 @@ struct _XfcekbdIndicatorConfig { gchar *background_color; /* private, transient */ - GSettings *settings; + XfconfChannel *channel; GSList *image_filenames; GtkIconTheme *icon_theme; int config_listener_id; @@ -55,7 +56,7 @@ void xfcekbd_indicator_config_init (XfcekbdIndicatorConfig * void xfcekbd_indicator_config_term (XfcekbdIndicatorConfig * applet_config); -void xfcekbd_indicator_config_load_from_gsettings (XfcekbdIndicatorConfig +void xfcekbd_indicator_config_load_from_xfconf (XfcekbdIndicatorConfig * applet_config); void xfcekbd_indicator_config_load_image_filenames (XfcekbdIndicatorConfig @@ -65,7 +66,7 @@ void xfcekbd_indicator_config_load_image_filenames (XfcekbdIndicatorConfig void xfcekbd_indicator_config_free_image_filenames (XfcekbdIndicatorConfig * applet_config); -/* Should be updated on Indicator/GSettings configuration change */ +/* Should be updated on Indicator/Xfconf configuration change */ void xfcekbd_indicator_config_activate (XfcekbdIndicatorConfig * applet_config); diff --git a/src/xfcekbd-indicator.c b/src/xfcekbd-indicator.c index 9c9e54b..90a333b 100644 --- a/src/xfcekbd-indicator.c +++ b/src/xfcekbd-indicator.c @@ -470,7 +470,7 @@ xfcekbd_indicator_cfg_changed (GSettings *settings, { xkl_debug (100, "General configuration changed in GSettings - reiniting...\n"); - xfcekbd_desktop_config_load_from_gsettings (&globals.cfg); + xfcekbd_desktop_config_load_from_xfconf (&globals.cfg); xfcekbd_desktop_config_activate (&globals.cfg); ForAllIndicators () { xfcekbd_indicator_reinit_ui (gki); @@ -485,7 +485,7 @@ xfcekbd_indicator_ind_cfg_changed (GSettings *settings, { xkl_debug (100, "Applet configuration changed in GSettings - reiniting...\n"); - xfcekbd_indicator_config_load_from_gsettings (&globals.ind_cfg); + xfcekbd_indicator_config_load_from_xfconf (&globals.ind_cfg); xfcekbd_indicator_update_images (); xfcekbd_indicator_config_activate (&globals.ind_cfg); @@ -812,7 +812,7 @@ xfcekbd_indicator_global_init (void) xfcekbd_indicator_ind_cfg_changed, NULL); - xfcekbd_desktop_config_load_from_gsettings (&globals.cfg); + xfcekbd_desktop_config_load_from_xfconf (&globals.cfg); xfcekbd_desktop_config_activate (&globals.cfg); globals.registry = @@ -823,7 +823,7 @@ xfcekbd_indicator_global_init (void) xfcekbd_keyboard_config_load_from_x_current (&globals.kbd_cfg, xklrec); - xfcekbd_indicator_config_load_from_gsettings (&globals.ind_cfg); + xfcekbd_indicator_config_load_from_xfconf (&globals.ind_cfg); xfcekbd_indicator_update_images (); xfcekbd_indicator_config_activate (&globals.ind_cfg); -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits