[gnome-commander/GSettings] Adds file permission display mode (perm_disp_mode) to GSettings migration
- From: Uwe Scholz <uwescholz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-commander/GSettings] Adds file permission display mode (perm_disp_mode) to GSettings migration
- Date: Sat, 14 May 2016 13:44:40 +0000 (UTC)
commit 3aed372f24d2861d4a8cca196088bf8065f94f43
Author: Uwe Scholz <uwescholz src gnome org>
Date: Sat May 14 15:42:03 2016 +0200
Adds file permission display mode (perm_disp_mode) to GSettings migration
data/org.gnome.gnome-commander.gschema.xml | 16 ++++++++++++----
src/gnome-cmd-data.cc | 23 +++++++++++++++++++++--
src/gnome-cmd-data.h | 1 +
3 files changed, 34 insertions(+), 6 deletions(-)
---
diff --git a/data/org.gnome.gnome-commander.gschema.xml b/data/org.gnome.gnome-commander.gschema.xml
index 353b142..d460d0f 100644
--- a/data/org.gnome.gnome-commander.gschema.xml
+++ b/data/org.gnome.gnome-commander.gschema.xml
@@ -28,6 +28,11 @@
<value nick="powered" value="3"/>
</enum>
+ <enum id="org.gnome.gnome-commander.preferences.perm-display-mode-enum">
+ <value nick="text" value="0"/>
+ <value nick="numbers" 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>
@@ -49,10 +54,13 @@
using units such as B, KB or MB.
</description>
</key>
- <key name="perm-disp-mode" type="i">
- <default l10n="messages">1</default>
- <summary></summary>
- <description></description>
+ <key name='perm-display-mode' enum='org.gnome.gnome-commander.preferences.perm-display-mode-enum'>
+ <default l10n="messages">'text'</default>
+ <summary>Defines how the file permission will be displayed in the associated pane column.</summary>
+ <description>
+ The 'text' option results in a symbolic representation (e.g. rw-r--r--), whereas 'numbers'
+ results in an octal number representation (e.g. 644) of the mode bits pattern.
+ </description>
</key>
<key name="layout" type="i">
<default l10n="messages">2</default>
diff --git a/src/gnome-cmd-data.cc b/src/gnome-cmd-data.cc
index 7274b12..26e8f0b 100644
--- a/src/gnome-cmd-data.cc
+++ b/src/gnome-cmd-data.cc
@@ -86,6 +86,16 @@ void on_size_display_mode_changed ()
main_win->update_view();
}
+void on_perm_display_mode_changed ()
+{
+ gint perm_disp_mode;
+
+ perm_disp_mode = g_settings_get_enum (gnome_cmd_data.options.gcmd_settings->general,
GCMD_SETTINGS_PERM_DISP_MODE);
+ gnome_cmd_data.options.perm_disp_mode = (GnomeCmdPermDispMode) perm_disp_mode;
+
+ main_win->update_view();
+}
+
static void gcmd_settings_class_init (GcmdSettingsClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
@@ -106,6 +116,11 @@ static void gcmd_connect_gsettings_signals(GcmdSettings *gs)
"changed::size-display-mode",
G_CALLBACK (on_size_display_mode_changed),
NULL);
+
+ g_signal_connect (gs->general,
+ "changed::perm-display-mode",
+ G_CALLBACK (on_perm_display_mode_changed),
+ NULL);
}
@@ -1428,6 +1443,10 @@ void GnomeCmdData::migrate_all_data_to_gsettings()
ihelper = migrate_data_int_value_into_gsettings(gnome_cmd_data_get_int ("/options/size_disp_mode",
GNOME_CMD_SIZE_DISP_MODE_POWERED),
options.gcmd_settings->general,
GCMD_SETTINGS_SIZE_DISP_MODE);
g_settings_set_enum (options.gcmd_settings->general, GCMD_SETTINGS_SIZE_DISP_MODE, ihelper);
+ // perm_disp_mode
+ ihelper = migrate_data_int_value_into_gsettings(gnome_cmd_data_get_int ("/options/perm_disp_mode",
GNOME_CMD_SIZE_DISP_MODE_POWERED),
+ options.gcmd_settings->general,
GCMD_SETTINGS_PERM_DISP_MODE);
+ g_settings_set_enum (options.gcmd_settings->general, GCMD_SETTINGS_PERM_DISP_MODE, ihelper);
// ToDo: Move old xml-file to ~/.gnome-commander/gnome-commander.xml.backup
// à la save_devices_old ("devices.backup");
@@ -1530,7 +1549,7 @@ void GnomeCmdData::load()
options.color_themes[GNOME_CMD_COLOR_NONE].curs_bg = NULL;
options.size_disp_mode = (GnomeCmdSizeDispMode) g_settings_get_enum (options.gcmd_settings->general,
GCMD_SETTINGS_SIZE_DISP_MODE);
- options.perm_disp_mode = (GnomeCmdPermDispMode) gnome_cmd_data_get_int ("/options/perm_disp_mode",
GNOME_CMD_PERM_DISP_MODE_TEXT);
+ options.perm_disp_mode = (GnomeCmdPermDispMode) g_settings_get_enum (options.gcmd_settings->general,
GCMD_SETTINGS_PERM_DISP_MODE);
#ifdef HAVE_LOCALE_H
gchar *utf8_date_format = gnome_cmd_data_get_string ("/options/date_disp_mode", "%x %R");
@@ -1996,7 +2015,7 @@ void GnomeCmdData::load_more()
void GnomeCmdData::save()
{
g_settings_set_enum (options.gcmd_settings->general, GCMD_SETTINGS_SIZE_DISP_MODE,
options.size_disp_mode);
- gnome_cmd_data_set_int ("/options/perm_disp_mode", options.perm_disp_mode);
+ g_settings_set_enum (options.gcmd_settings->general, GCMD_SETTINGS_PERM_DISP_MODE,
options.perm_disp_mode);
gnome_cmd_data_set_int ("/options/layout", options.layout);
gnome_cmd_data_set_int ("/options/list_row_height", options.list_row_height);
diff --git a/src/gnome-cmd-data.h b/src/gnome-cmd-data.h
index db0dea9..ccc8dcc 100644
--- a/src/gnome-cmd-data.h
+++ b/src/gnome-cmd-data.h
@@ -52,6 +52,7 @@ GcmdSettings *gcmd_settings_new (void);
#define GCMD_SETTINGS_PANEL_FONT "panel-font"
#define GCMD_SETTINGS_SYSTEM_FONT "monospace-font-name"
#define GCMD_SETTINGS_SIZE_DISP_MODE "size-display-mode"
+#define GCMD_SETTINGS_PERM_DISP_MODE "perm-display-mode"
#define GCMD_PREF_GENERAL "org.gnome.gnome-commander.preferences.general"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]