[gnome-commander/GSettings] Adds show_symbolic_links filter option to GSettings (now known as hide-symbolic-links)



commit 39717704d05b9b6d1b3184830ca5367cd5959341
Author: Uwe Scholz <uwescholz src gnome org>
Date:   Tue May 17 22:37:53 2016 +0200

    Adds show_symbolic_links filter option to GSettings (now known as hide-symbolic-links)

 data/org.gnome.gnome-commander.gschema.xml |    2 +-
 src/gnome-cmd-data.cc                      |   15 +++++++++++++--
 src/gnome-cmd-data.h                       |    1 +
 3 files changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/data/org.gnome.gnome-commander.gschema.xml b/data/org.gnome.gnome-commander.gschema.xml
index e435f97..f55a92d 100644
--- a/data/org.gnome.gnome-commander.gschema.xml
+++ b/data/org.gnome.gnome-commander.gschema.xml
@@ -340,7 +340,7 @@
     </key>
     <key name="hide-symbolic-link" type="b">
       <default>false</default>
-      <summary></summary>
+      <summary>Hide symbolic links</summary>
     </key>
     <key name="hidden-filter" type="b">
       <default>true</default>
diff --git a/src/gnome-cmd-data.cc b/src/gnome-cmd-data.cc
index 9e91791..236fd26 100644
--- a/src/gnome-cmd-data.cc
+++ b/src/gnome-cmd-data.cc
@@ -153,6 +153,9 @@ void on_filter_changed ()
     filter = g_settings_get_boolean (gnome_cmd_data.options.gcmd_settings->filter, 
GCMD_SETTINGS_FILTER_HIDE_BLOCK_DEVICE);
     gnome_cmd_data.options.filter.file_types[GNOME_VFS_FILE_TYPE_BLOCK_DEVICE] = filter;
 
+    filter = g_settings_get_boolean (gnome_cmd_data.options.gcmd_settings->filter, 
GCMD_SETTINGS_FILTER_HIDE_SYMBOLIC_LINK);
+    gnome_cmd_data.options.filter.file_types[GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK] = filter;
+
     main_win->update_view();
 }
 
@@ -232,6 +235,11 @@ static void gcmd_connect_gsettings_signals(GcmdSettings *gs)
                       G_CALLBACK (on_filter_changed),
                       NULL);
 
+    g_signal_connect (gs->filter,
+                      "changed::hide-symbolic-link",
+                      G_CALLBACK (on_filter_changed),
+                      NULL);
+
 }
 
 
@@ -1600,6 +1608,9 @@ void GnomeCmdData::migrate_all_data_to_gsettings()
         //show_block_device
         migrate_data_int_value_into_gsettings(gnome_cmd_data_get_bool ("/options/show_block_device", FALSE) 
? 1 : 0,
                                                         options.gcmd_settings->filter, 
GCMD_SETTINGS_FILTER_HIDE_BLOCK_DEVICE);
+        //show_symbolic_link
+        migrate_data_int_value_into_gsettings(gnome_cmd_data_get_bool ("/options/show_symbolic_link", FALSE) 
? 1 : 0,
+                                                        options.gcmd_settings->filter, 
GCMD_SETTINGS_FILTER_HIDE_SYMBOLIC_LINK);
         // ToDo: Move old xml-file to ~/.gnome-commander/gnome-commander.xml.backup
         //       à la save_devices_old ("devices.backup");
         //       and move .gnome2/gnome-commander to .gnome2/gnome-commander.backup
@@ -1724,7 +1735,7 @@ void GnomeCmdData::load()
     options.filter.file_types[GNOME_VFS_FILE_TYPE_SOCKET] = g_settings_get_boolean 
(options.gcmd_settings->filter, GCMD_SETTINGS_FILTER_HIDE_SOCKET);
     options.filter.file_types[GNOME_VFS_FILE_TYPE_CHARACTER_DEVICE] = g_settings_get_boolean 
(options.gcmd_settings->filter, GCMD_SETTINGS_FILTER_HIDE_CHARACTER_DEVICE);
     options.filter.file_types[GNOME_VFS_FILE_TYPE_BLOCK_DEVICE] = g_settings_get_boolean 
(options.gcmd_settings->filter, GCMD_SETTINGS_FILTER_HIDE_BLOCK_DEVICE);
-    options.filter.file_types[GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK] = gnome_cmd_data_get_bool 
("/options/show_symbolic_link", FALSE);
+    options.filter.file_types[GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK] = g_settings_get_boolean 
(options.gcmd_settings->filter, GCMD_SETTINGS_FILTER_HIDE_SYMBOLIC_LINK);
     options.filter.hidden = gnome_cmd_data_get_bool ("/options/hidden_filter", TRUE);
     options.filter.backup = gnome_cmd_data_get_bool ("/options/backup_filter", TRUE);
 
@@ -2269,7 +2280,7 @@ void GnomeCmdData::save()
     set_gsettings_when_changed      (options.gcmd_settings->filter, GCMD_SETTINGS_FILTER_HIDE_SOCKET, 
&(options.filter.file_types[GNOME_VFS_FILE_TYPE_SOCKET]));
     set_gsettings_when_changed      (options.gcmd_settings->filter, 
GCMD_SETTINGS_FILTER_HIDE_CHARACTER_DEVICE, 
&(options.filter.file_types[GNOME_VFS_FILE_TYPE_CHARACTER_DEVICE]));
     set_gsettings_when_changed      (options.gcmd_settings->filter, GCMD_SETTINGS_FILTER_HIDE_BLOCK_DEVICE, 
&(options.filter.file_types[GNOME_VFS_FILE_TYPE_BLOCK_DEVICE]));
-    gnome_cmd_data_set_bool   ("/options/show_symbolic_link", 
options.filter.file_types[GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK]);
+    set_gsettings_when_changed      (options.gcmd_settings->filter, GCMD_SETTINGS_FILTER_HIDE_SYMBOLIC_LINK, 
&(options.filter.file_types[GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK]));
 
     gnome_cmd_data_set_bool   ("/options/hidden_filter", options.filter.hidden);
     gnome_cmd_data_set_bool   ("/options/backup_filter", options.filter.backup);
diff --git a/src/gnome-cmd-data.h b/src/gnome-cmd-data.h
index 037cadd..001caa9 100644
--- a/src/gnome-cmd-data.h
+++ b/src/gnome-cmd-data.h
@@ -71,6 +71,7 @@ GcmdSettings *gcmd_settings_new (void);
 #define GCMD_SETTINGS_FILTER_HIDE_SOCKET              "hide-socket"
 #define GCMD_SETTINGS_FILTER_HIDE_CHARACTER_DEVICE    "hide-char-device"
 #define GCMD_SETTINGS_FILTER_HIDE_BLOCK_DEVICE        "hide-block-device"
+#define GCMD_SETTINGS_FILTER_HIDE_SYMBOLIC_LINK       "hide-symbolic-link"
 
 struct GnomeCmdConRemote;
 


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