[gnome-terminal] keybindings: Use a child schema
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-terminal] keybindings: Use a child schema
- Date: Sat, 9 Feb 2013 14:32:23 +0000 (UTC)
commit 6d682274e40ca7e16fee9bb6625ce45fcb37f2bb
Author: Christian Persch <chpe gnome org>
Date: Sat Feb 9 15:28:11 2013 +0100
keybindings: Use a child schema
src/migration.c | 7 ++++---
src/org.gnome.Terminal.gschema.xml.in | 4 +++-
src/terminal-accels.c | 4 ++--
src/terminal-accels.h | 3 ++-
src/terminal-app.c | 6 +++++-
5 files changed, 16 insertions(+), 8 deletions(-)
---
diff --git a/src/migration.c b/src/migration.c
index 1e3ae19..9522753 100644
--- a/src/migration.c
+++ b/src/migration.c
@@ -503,7 +503,8 @@ migrate_profiles (GSettings *global_settings,
}
static gboolean
-migrate_accels (GError **error)
+migrate_accels (GSettings *global_settings,
+ GError **error)
{
static const const struct { const char *gconf_key; const char *settings_key; } const data[] = {
{ "new_tab", "new-tab" },
@@ -547,7 +548,7 @@ migrate_accels (GError **error)
GConfValue *value;
client = gconf_client_get_default ();
- settings = g_settings_new (TERMINAL_KEYBINDINGS_SCHEMA);
+ settings = g_settings_get_child (global_settings, "keybindings");
for (i = 0; i < G_N_ELEMENTS (data); ++i) {
gconf_path = g_strdup_printf ("/apps/gnome-terminal/keybindings/%s", data[i].gconf_key);
@@ -575,7 +576,7 @@ migrate (GSettings *global_settings,
{
return migrate_global_prefs (global_settings, error) &&
migrate_profiles (global_settings, error) &&
- migrate_accels (error);
+ migrate_accels (global_settings, error);
}
static void
diff --git a/src/org.gnome.Terminal.gschema.xml.in b/src/org.gnome.Terminal.gschema.xml.in
index 819a03d..b2e4768 100644
--- a/src/org.gnome.Terminal.gschema.xml.in
+++ b/src/org.gnome.Terminal.gschema.xml.in
@@ -333,7 +333,7 @@
<!-- Keybinding settings -->
- <schema id="org.gnome.Terminal.Legacy.Keybindings" path="/org/gnome/terminal/legacy/keybindings/">
+ <schema id="org.gnome.Terminal.Legacy.Keybindings">
<key name="new-tab" type="s">
<default>'<Ctrl><Shift>t'</default>
<_summary>Keyboard shortcut to open a new tab</_summary>
@@ -527,6 +527,8 @@
<!-- <child name="profiles" schema="org.gnome.Terminal.ProfilesList" /> -->
+ <child name="keybindings" schema="org.gnome.Terminal.Legacy.Keybindings" />
+
<key name="schema-version" type="u">
<default>0</default>
</key>
diff --git a/src/terminal-accels.c b/src/terminal-accels.c
index f8f1b9d..1170c8c 100644
--- a/src/terminal-accels.c
+++ b/src/terminal-accels.c
@@ -310,11 +310,11 @@ map_keybinding (GVariant *variant,
}
void
-terminal_accels_init (void)
+terminal_accels_init (GSettings *settings)
{
guint i, j;
- keybinding_settings = g_settings_new (TERMINAL_KEYBINDINGS_SCHEMA);
+ keybinding_settings = g_object_ref (settings);
g_signal_connect (keybinding_settings, "changed", G_CALLBACK (keys_change_notify), NULL);
settings_key_to_entry = g_hash_table_new (g_str_hash, g_str_equal);
diff --git a/src/terminal-accels.h b/src/terminal-accels.h
index bbefddf..86e5be6 100644
--- a/src/terminal-accels.h
+++ b/src/terminal-accels.h
@@ -18,11 +18,12 @@
#ifndef TERMINAL_ACCELS_H
#define TERMINAL_ACCELS_H
+#include <gio/gio.h>
#include <gtk/gtk.h>
G_BEGIN_DECLS
-void terminal_accels_init (void);
+void terminal_accels_init (GSettings *settings);
void terminal_accels_shutdown (void);
diff --git a/src/terminal-app.c b/src/terminal-app.c
index bfe5ca9..5fa590b 100644
--- a/src/terminal-app.c
+++ b/src/terminal-app.c
@@ -335,6 +335,8 @@ terminal_app_startup (GApplication *application)
static void
terminal_app_init (TerminalApp *app)
{
+ GSettings *settings;
+
gtk_window_set_default_icon_name (GNOME_TERMINAL_ICON_NAME);
/* Desktop proxy settings */
@@ -360,7 +362,9 @@ terminal_app_init (TerminalApp *app)
G_CALLBACK (terminal_app_encoding_list_notify_cb),
app);
- terminal_accels_init ();
+ settings = g_settings_get_child (app->global_settings, "keybindings");
+ terminal_accels_init (settings);
+ g_object_unref (settings);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]