[gnome-commander/GSettings] Adds editor to GSettings (now known as editor-cmd)



commit 5d1d0cb78317e2197951efc6fc201c8b8cb2da31
Author: Uwe Scholz <uwescholz src gnome org>
Date:   Tue Jul 5 18:10:14 2016 +0200

    Adds editor to GSettings (now known as editor-cmd)

 data/org.gnome.gnome-commander.gschema.xml |   10 ++++++----
 src/gnome-cmd-data.cc                      |   20 ++++++++++++++++++--
 src/gnome-cmd-data.h                       |    1 +
 3 files changed, 25 insertions(+), 6 deletions(-)
---
diff --git a/data/org.gnome.gnome-commander.gschema.xml b/data/org.gnome.gnome-commander.gschema.xml
index 2952680..b73b657 100644
--- a/data/org.gnome.gnome-commander.gschema.xml
+++ b/data/org.gnome.gnome-commander.gschema.xml
@@ -516,10 +516,12 @@
           This string defines the command for starting the external viewer.
       </description>
     </key>
-    <key name="editor" type="s">
-      <default l10n="messages">'geany -i %s'</default>
-      <summary></summary>
-      <description></description>
+    <key name="editor-cmd" type="s">
+      <default l10n="messages">'gedit %s'</default>
+      <summary>Editor command</summary>
+      <description>
+          This string defines the command for starting the editor.
+      </description>
     </key>
     <key name="differ" type="s">
       <default l10n="messages">'meld %s'</default>
diff --git a/src/gnome-cmd-data.cc b/src/gnome-cmd-data.cc
index 02d714b..d85fb32 100644
--- a/src/gnome-cmd-data.cc
+++ b/src/gnome-cmd-data.cc
@@ -773,6 +773,14 @@ void on_external_viewer_cmd_changed()
     gnome_cmd_data.options.viewer = external_viewer_cmd;
 }
 
+void on_editor_cmd_changed()
+{
+    gchar *editor_cmd;
+
+    editor_cmd = g_settings_get_string (gnome_cmd_data.options.gcmd_settings->programs, 
GCMD_SETTINGS_EDITOR_CMD);
+    gnome_cmd_data.options.editor = editor_cmd;
+}
+
 static void gcmd_settings_class_init (GcmdSettingsClass *klass)
 {
     GObjectClass *object_class = G_OBJECT_CLASS (klass);
@@ -1134,6 +1142,11 @@ static void gcmd_connect_gsettings_signals(GcmdSettings *gs)
                       G_CALLBACK (on_external_viewer_cmd_changed),
                       NULL);
 
+    g_signal_connect (gs->programs,
+                      "changed::editor-cmd",
+                      G_CALLBACK (on_editor_cmd_changed),
+                      NULL);
+
 }
 
 
@@ -2776,6 +2789,9 @@ void GnomeCmdData::migrate_all_data_to_gsettings()
         //viewer
         migrate_data_string_value_into_gsettings(gnome_cmd_data_get_string ("/programs/viewer", "gedit %s"),
                                                         options.gcmd_settings->programs, 
GCMD_SETTINGS_EXTERNAL_VIEWER_CMD);
+        //editor
+        migrate_data_string_value_into_gsettings(gnome_cmd_data_get_string ("/programs/editor", "gedit %s"),
+                                                        options.gcmd_settings->programs, 
GCMD_SETTINGS_EDITOR_CMD);
 
         g_free(color);
         // ToDo: Move old xml-file to ~/.gnome-commander/gnome-commander.xml.backup
@@ -3155,7 +3171,7 @@ void GnomeCmdData::load()
     }
 
     options.viewer = g_settings_get_string(options.gcmd_settings->programs, 
GCMD_SETTINGS_EXTERNAL_VIEWER_CMD);
-    options.editor = gnome_cmd_data_get_string ("/programs/editor", "gedit %s");
+    options.editor = g_settings_get_string(options.gcmd_settings->programs, GCMD_SETTINGS_EDITOR_CMD);
     options.differ = gnome_cmd_data_get_string ("/programs/differ", "meld %s");
     options.sendto = gnome_cmd_data_get_string ("/programs/sendto", "nautilus-sendto %s");
     options.termopen = gnome_cmd_data_get_string ("/programs/terminal_open", "gnome-terminal");
@@ -3686,7 +3702,7 @@ void GnomeCmdData::save()
     set_gsettings_when_changed      (options.gcmd_settings->general, GCMD_SETTINGS_MAIN_WIN_POS_Y, 
&(options.main_win_pos[1]));
 
     set_gsettings_when_changed      (options.gcmd_settings->programs, GCMD_SETTINGS_EXTERNAL_VIEWER_CMD, 
options.viewer);
-    gnome_cmd_data_set_string ("/programs/editor", options.editor);
+    set_gsettings_when_changed      (options.gcmd_settings->programs, GCMD_SETTINGS_EDITOR_CMD, 
options.editor);
     gnome_cmd_data_set_string ("/programs/differ", options.differ);
     gnome_cmd_data_set_string ("/programs/sendto", options.sendto);
     gnome_cmd_data_set_string ("/programs/terminal_open", options.termopen);
diff --git a/src/gnome-cmd-data.h b/src/gnome-cmd-data.h
index 2297332..53230ce 100644
--- a/src/gnome-cmd-data.h
+++ b/src/gnome-cmd-data.h
@@ -147,6 +147,7 @@ GcmdSettings *gcmd_settings_new (void);
 #define GCMD_SETTINGS_DONT_DOWNLOAD                   "dont-download"
 #define GCMD_SETTINGS_USE_INTERNAL_VIEWER             "use-internal-viewer"
 #define GCMD_SETTINGS_EXTERNAL_VIEWER_CMD             "external-viewer-cmd"
+#define GCMD_SETTINGS_EDITOR_CMD                      "editor-cmd"
 
 #define GCMD_PREF_KEYBINDINGS                         "org.gnome.gnome-commander.preferences.keybindings"
 #define GCMD_SETTINGS_QUICK_SEARCH_SHORTCUT           "quick-search"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]