[gnome-commander/GSettings] Adds delete_default to GSettings (now known as confirm-delete-default)



commit eac5c055df078211382c647ca1eb79bb15a6758b
Author: Uwe Scholz <uwescholz src gnome org>
Date:   Sun Jun 19 11:55:51 2016 +0200

    Adds delete_default to GSettings (now known as confirm-delete-default)

 data/org.gnome.gnome-commander.gschema.xml |   17 ++++++++++++-----
 src/gnome-cmd-data.cc                      |   20 ++++++++++++++++++--
 src/gnome-cmd-data.h                       |    1 +
 3 files changed, 31 insertions(+), 7 deletions(-)
---
diff --git a/data/org.gnome.gnome-commander.gschema.xml b/data/org.gnome.gnome-commander.gschema.xml
index 4686207..d099d10 100644
--- a/data/org.gnome.gnome-commander.gschema.xml
+++ b/data/org.gnome.gnome-commander.gschema.xml
@@ -73,6 +73,11 @@
     <value nick="styled text" value="2"/>
   </enum>
 
+  <enum id="org.gnome.gnome-commander.preferences.confirmation.confirm-delete-default-enum">
+    <value nick="cancel" value="3"/>
+    <value nick="delete" value="1"/>
+  </enum>
+
   <schema gettext-domain="gnome-commander" id="org.gnome.gnome-commander.preferences.general" 
path="/org/gnome/gnome-commander/preferences/general/">
     <key name="use-default-font" type="b">
       <default>true</default>
@@ -352,6 +357,13 @@
           Defines if deletion of an item should be confirmed.
       </description>
     </key>
+    <key name="confirm-delete-default" 
enum="org.gnome.gnome-commander.preferences.confirmation.confirm-delete-default-enum">
+      <default l10n="messages">'delete'</default>
+      <summary>Delete default</summary>
+      <description>
+          This setting defines the default active option in the delete confirmation dialog.
+      </description>
+    </key>
     <key name="copy-overwrite" type="i">
       <default l10n="messages">1</default>
       <summary></summary>
@@ -362,11 +374,6 @@
       <summary></summary>
       <description></description>
     </key>
-    <key name="delete-default" type="i">
-      <default l10n="messages">1</default>
-      <summary></summary>
-      <description></description>
-    </key>
     <key name="confirm-mouse-dnd" type="b">
       <default l10n="messages">true</default>
       <summary></summary>
diff --git a/src/gnome-cmd-data.cc b/src/gnome-cmd-data.cc
index 33afda1..6feb035 100644
--- a/src/gnome-cmd-data.cc
+++ b/src/gnome-cmd-data.cc
@@ -284,6 +284,14 @@ void on_confirm_delete_changed ()
     gnome_cmd_data.options.confirm_delete = confirm_delete;
 }
 
+void on_confirm_delete_default_changed ()
+{
+    gint confirm_delete_default;
+
+    confirm_delete_default = g_settings_get_int (gnome_cmd_data.options.gcmd_settings->confirm, 
GCMD_SETTINGS_CONFIRM_DELETE_DEFAULT);
+    gnome_cmd_data.options.confirm_delete_default = (GtkButtonsType) confirm_delete_default;
+}
+
 void on_symlink_string_changed ()
 {
     gnome_cmd_data.options.symlink_prefix = g_settings_get_string 
(gnome_cmd_data.options.gcmd_settings->general, GCMD_SETTINGS_SYMLINK_PREFIX);
@@ -445,6 +453,11 @@ static void gcmd_connect_gsettings_signals(GcmdSettings *gs)
                       G_CALLBACK (on_confirm_delete_changed),
                       NULL);
 
+    g_signal_connect (gs->confirm,
+                      "changed::confirm-delete-default",
+                      G_CALLBACK (on_confirm_delete_default_changed),
+                      NULL);
+
 }
 
 
@@ -1955,6 +1968,9 @@ void GnomeCmdData::migrate_all_data_to_gsettings()
         //delete
         migrate_data_int_value_into_gsettings(gnome_cmd_data_get_bool ("/confirm/delete", TRUE) ? 1 : 0,
                                                         options.gcmd_settings->confirm, 
GCMD_SETTINGS_CONFIRM_DELETE);
+        //delete_default
+        migrate_data_int_value_into_gsettings(gnome_cmd_data_get_int ("/confirm/delete_default", 1),
+                                                        options.gcmd_settings->confirm, 
GCMD_SETTINGS_CONFIRM_DELETE_DEFAULT);
         // 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
@@ -2064,7 +2080,7 @@ void GnomeCmdData::load()
     options.list_row_height = g_settings_get_uint (options.gcmd_settings->general, 
GCMD_SETTINGS_LIST_ROW_HEIGHT);
 
     options.confirm_delete = g_settings_get_boolean (options.gcmd_settings->confirm, 
GCMD_SETTINGS_CONFIRM_DELETE);
-    options.confirm_delete_default = (GtkButtonsType) gnome_cmd_data_get_int ("/confirm/delete_default", 
GTK_BUTTONS_OK);
+    options.confirm_delete_default = (GtkButtonsType) g_settings_get_enum (options.gcmd_settings->confirm, 
GCMD_SETTINGS_CONFIRM_DELETE_DEFAULT);
     options.confirm_copy_overwrite = (GnomeCmdConfirmOverwriteMode) gnome_cmd_data_get_int 
("/confirm/copy_overwrite", GNOME_CMD_CONFIRM_OVERWRITE_QUERY);
     options.confirm_move_overwrite = (GnomeCmdConfirmOverwriteMode) gnome_cmd_data_get_int 
("/confirm/move_overwrite", GNOME_CMD_CONFIRM_OVERWRITE_QUERY);
     options.confirm_mouse_dnd = gnome_cmd_data_get_bool ("/confirm/confirm_mouse_dnd", TRUE);
@@ -2611,7 +2627,7 @@ void GnomeCmdData::save()
     g_free (utf8_date_format);
 
     set_gsettings_when_changed      (options.gcmd_settings->confirm, GCMD_SETTINGS_CONFIRM_DELETE, 
&(options.confirm_delete));
-    gnome_cmd_data_set_int    ("/confirm/delete_default", options.confirm_delete_default);
+    set_gsettings_enum_when_changed (options.gcmd_settings->confirm, GCMD_SETTINGS_CONFIRM_DELETE_DEFAULT, 
options.confirm_delete_default);
     gnome_cmd_data_set_int    ("/confirm/copy_overwrite", options.confirm_copy_overwrite);
     gnome_cmd_data_set_int    ("/confirm/move_overwrite", options.confirm_move_overwrite);
     gnome_cmd_data_set_bool   ("/confirm/confirm_mouse_dnd", options.confirm_mouse_dnd);
diff --git a/src/gnome-cmd-data.h b/src/gnome-cmd-data.h
index 6bce6a8..e29b658 100644
--- a/src/gnome-cmd-data.h
+++ b/src/gnome-cmd-data.h
@@ -104,6 +104,7 @@ GcmdSettings *gcmd_settings_new (void);
 
 #define GCMD_PREF_CONFIRM                             "org.gnome.gnome-commander.preferences.confirmation"
 #define GCMD_SETTINGS_CONFIRM_DELETE                  "confirm-delete"
+#define GCMD_SETTINGS_CONFIRM_DELETE_DEFAULT          "confirm-delete-default"
 
 struct GnomeCmdConRemote;
 


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