[gnome-commander/GSettings] Migrate gnome_config options from .gnome2/gnome-commander-size into GSettings
- From: Uwe Scholz <uwescholz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-commander/GSettings] Migrate gnome_config options from .gnome2/gnome-commander-size into GSettings
- Date: Sun, 7 Aug 2016 13:38:10 +0000 (UTC)
commit 725004ec7d9181c4e0c9e49b37c7c9d13114987d
Author: Uwe Scholz <uwescholz src gnome org>
Date: Sun Aug 7 12:49:57 2016 +0200
Migrate gnome_config options from .gnome2/gnome-commander-size into GSettings
data/org.gnome.gnome-commander.gschema.xml | 77 ++++++++++++++++++++++++++
src/gnome-cmd-data.cc | 83 ++++++++++++++++++++++------
src/gnome-cmd-data.h | 15 ++++-
src/gnome-cmd-file-list.cc | 25 +++-----
src/gnome-cmd-file-list.h | 1 -
5 files changed, 164 insertions(+), 37 deletions(-)
---
diff --git a/data/org.gnome.gnome-commander.gschema.xml b/data/org.gnome.gnome-commander.gschema.xml
index 323a089..f24f294 100644
--- a/data/org.gnome.gnome-commander.gschema.xml
+++ b/data/org.gnome.gnome-commander.gschema.xml
@@ -276,6 +276,83 @@
Position of the main window in vertical direction.
</description>
</key>
+ <key name="main-win-width" type="u">
+ <default>600</default>
+ <summary>Main window width</summary>
+ <description>
+ This options defines the width of the main window.
+ </description>
+ </key>
+ <key name="main-win-height" type="u">
+ <default>400</default>
+ <summary>Main window heigth</summary>
+ <description>
+ This options defines the heigth of the main window.
+ </description>
+ </key>
+ <key name="column-width-icon" type="u">
+ <default>16</default>
+ <summary>Width of icon column</summary>
+ <description>
+ This options defines the width of the icon column.
+ </description>
+ </key>
+ <key name="column-width-name" type="u">
+ <default>140</default>
+ <summary>Width of name column</summary>
+ <description>
+ This options defines the width of the name column.
+ </description>
+ </key>
+ <key name="column-width-ext" type="u">
+ <default>40</default>
+ <summary>Width of extension column</summary>
+ <description>
+ This options defines the width of the extension column.
+ </description>
+ </key>
+ <key name="column-width-dir" type="u">
+ <default>240</default>
+ <summary>Width of directory column</summary>
+ <description>
+ This options defines the width of the directory column.
+ </description>
+ </key>
+ <key name="column-width-size" type="u">
+ <default>70</default>
+ <summary>Width of size column</summary>
+ <description>
+ This options defines the width of the size column.
+ </description>
+ </key>
+ <key name="column-width-date" type="u">
+ <default>150</default>
+ <summary>Width of date column</summary>
+ <description>
+ This options defines the width of the date column.
+ </description>
+ </key>
+ <key name="column-width-perm" type="u">
+ <default>70</default>
+ <summary>Width of permissions column</summary>
+ <description>
+ This options defines the width of the permissions column.
+ </description>
+ </key>
+ <key name="column-width-owner" type="u">
+ <default>50</default>
+ <summary>Width of owner column</summary>
+ <description>
+ This options defines the width of the owner column.
+ </description>
+ </key>
+ <key name="column-width-group" type="u">
+ <default>50</default>
+ <summary>Width of group column</summary>
+ <description>
+ This options defines the width of the group column.
+ </description>
+ </key>
<!-- https://developer.gimp.org/api/2.0/gdk/gdk-Event-Structures.html#GdkWindowState -->
<key name="main-win-state" type="u">
<default l10n="messages">4</default>
diff --git a/src/gnome-cmd-data.cc b/src/gnome-cmd-data.cc
index cd3033f..59b022c 100644
--- a/src/gnome-cmd-data.cc
+++ b/src/gnome-cmd-data.cc
@@ -3022,6 +3022,49 @@ void GnomeCmdData::migrate_all_data_to_gsettings()
}
g_free(package_config_path);
+ ////////////////////////////////////////////////////////////////////////////
+ // Data migration from .gnome2/gnome-commander-size, created by gnome_config
+ ////////////////////////////////////////////////////////////////////////////
+ package_config_path = g_strdup_printf("%s-size",gnome_config_get_real_path(PACKAGE));
+ fd = fopen (package_config_path, "r");
+ if (fd)
+ {
+ // main_win/width
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/main_win/width", 600),
+ options.gcmd_settings->general,
GCMD_SETTINGS_MAIN_WIN_WIDTH);
+ // main_win/height
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/main_win/height", 400),
+ options.gcmd_settings->general,
GCMD_SETTINGS_MAIN_WIN_HEIGHT);
+ // column-widths/fs_col_width0..8
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/column-widths/fs_col_width0",
16),
+ options.gcmd_settings->general,
GCMD_SETTINGS_COLUMN_WIDTH_ICON);
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/column-widths/fs_col_width1",
140),
+ options.gcmd_settings->general,
GCMD_SETTINGS_COLUMN_WIDTH_NAME);
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/column-widths/fs_col_width2",
40),
+ options.gcmd_settings->general,
GCMD_SETTINGS_COLUMN_WIDTH_EXT);
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/column-widths/fs_col_width3",
240),
+ options.gcmd_settings->general,
GCMD_SETTINGS_COLUMN_WIDTH_DIR);
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/column-widths/fs_col_width4",
70),
+ options.gcmd_settings->general,
GCMD_SETTINGS_COLUMN_WIDTH_SIZE);
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/column-widths/fs_col_width5",
150),
+ options.gcmd_settings->general,
GCMD_SETTINGS_COLUMN_WIDTH_DATE);
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/column-widths/fs_col_width6",
70),
+ options.gcmd_settings->general,
GCMD_SETTINGS_COLUMN_WIDTH_PERM);
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/column-widths/fs_col_width7",
50),
+ options.gcmd_settings->general,
GCMD_SETTINGS_COLUMN_WIDTH_OWNER);
+ migrate_data_int_value_into_gsettings(get_int ("/gnome-commander-size/column-widths/fs_col_width8",
50),
+ options.gcmd_settings->general,
GCMD_SETTINGS_COLUMN_WIDTH_GROUP);
+ fclose (fd);
+
+ // Rename config file
+ gchar* temp;
+ temp = g_strdup_printf("%s.deprecated", package_config_path);
+ if (g_rename(package_config_path, temp) != 0 )
+ g_warning("Renaming of %s to %s failed!", package_config_path, temp);
+ g_free(temp);
+ }
+ g_free(package_config_path);
+
// Activate gcmd gsettings signals
gcmd_connect_gsettings_signals(gnome_cmd_data.options.gcmd_settings);
}
@@ -3350,15 +3393,17 @@ void GnomeCmdData::load()
options.select_dirs = g_settings_get_boolean (options.gcmd_settings->general, GCMD_SETTINGS_SELECT_DIRS);
options.case_sens_sort = g_settings_get_boolean (options.gcmd_settings->general,
GCMD_SETTINGS_CASE_SENSITIVE);
- main_win_width = get_int ("/gnome-commander-size/main_win/width", 600);
- main_win_height = get_int ("/gnome-commander-size/main_win/height", 400);
-
- for (gint i=0; i<GnomeCmdFileList::NUM_COLUMNS; i++)
- {
- gchar *tmp = g_strdup_printf ("/gnome-commander-size/column-widths/fs_col_width%d", i);
- fs_col_width[i] = get_int (tmp,
GnomeCmdFileList::get_column_default_width((GnomeCmdFileList::ColumnID) i));
- g_free (tmp);
- }
+ main_win_width = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_MAIN_WIN_WIDTH);
+ main_win_height = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_MAIN_WIN_HEIGHT);
+ fs_col_width[0] = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_ICON);
+ fs_col_width[1] = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_NAME);
+ fs_col_width[2] = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_EXT);
+ fs_col_width[3] = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_DIR);
+ fs_col_width[4] = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_SIZE);
+ fs_col_width[5] = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_DATE);
+ fs_col_width[6] = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_PERM);
+ fs_col_width[7] = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_OWNER);
+ fs_col_width[8] = g_settings_get_uint (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_GROUP);
options.color_mode = gcmd_owner.is_root() ? (GnomeCmdColorMode) GNOME_CMD_COLOR_DEEP_BLUE
: (GnomeCmdColorMode) g_settings_get_enum
(options.gcmd_settings->colors, GCMD_SETTINGS_COLORS_THEME);
@@ -3937,15 +3982,17 @@ void GnomeCmdData::save()
if (quick_connect_uri)
set_gsettings_when_changed (options.gcmd_settings->network, GCMD_SETTINGS_QUICK_CONNECT_URI,
(gpointer) quick_connect_uri);
- gnome_config_set_int ("/gnome-commander-size/main_win/width", main_win_width);
- gnome_config_set_int ("/gnome-commander-size/main_win/height", main_win_height);
-
- for (gint i=0; i<GnomeCmdFileList::NUM_COLUMNS; i++)
- {
- gchar *tmp = g_strdup_printf ("/gnome-commander-size/column-widths/fs_col_width%d", i);
- gnome_config_set_int (tmp, fs_col_width[i]);
- g_free (tmp);
- }
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_MAIN_WIN_WIDTH,
&(main_win_width));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_MAIN_WIN_HEIGHT,
&(main_win_height));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_ICON,
&(fs_col_width[0]));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_NAME,
&(fs_col_width[1]));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_EXT,
&(fs_col_width[2]));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_DIR,
&(fs_col_width[3]));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_SIZE,
&(fs_col_width[4]));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_DATE,
&(fs_col_width[5]));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_PERM,
&(fs_col_width[6]));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_OWNER,
&(fs_col_width[7]));
+ set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_COLUMN_WIDTH_GROUP,
&(fs_col_width[8]));
set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_SAVE_DIRS_ON_EXIT,
&(options.save_dirs_on_exit));
set_gsettings_when_changed (options.gcmd_settings->general, GCMD_SETTINGS_SAVE_TABS_ON_EXIT,
&(options.save_tabs_on_exit));
diff --git a/src/gnome-cmd-data.h b/src/gnome-cmd-data.h
index 88bb897..c697b60 100644
--- a/src/gnome-cmd-data.h
+++ b/src/gnome-cmd-data.h
@@ -99,6 +99,17 @@ GcmdSettings *gcmd_settings_new (void);
#define GCMD_SETTINGS_DEV_ONLY_ICON "dev-only-icon"
#define GCMD_SETTINGS_MAINMENU_VISIBILITY "mainmenu-visibility"
#define GCMD_SETTINGS_QUICK_SEARCH_SHORTCUT "quick-search"
+#define GCMD_SETTINGS_MAIN_WIN_WIDTH "main-win-width"
+#define GCMD_SETTINGS_MAIN_WIN_HEIGHT "main-win-height"
+#define GCMD_SETTINGS_COLUMN_WIDTH_ICON "column-width-icon"
+#define GCMD_SETTINGS_COLUMN_WIDTH_NAME "column-width-name"
+#define GCMD_SETTINGS_COLUMN_WIDTH_EXT "column-width-ext"
+#define GCMD_SETTINGS_COLUMN_WIDTH_DIR "column-width-dir"
+#define GCMD_SETTINGS_COLUMN_WIDTH_SIZE "column-width-size"
+#define GCMD_SETTINGS_COLUMN_WIDTH_DATE "column-width-date"
+#define GCMD_SETTINGS_COLUMN_WIDTH_PERM "column-width-perm"
+#define GCMD_SETTINGS_COLUMN_WIDTH_OWNER "column-width-owner"
+#define GCMD_SETTINGS_COLUMN_WIDTH_GROUP "column-width-group"
#define GCMD_PREF_FILTER "org.gnome.gnome-commander.preferences.filter"
#define GCMD_SETTINGS_FILTER_HIDE_UNKNOWN "hide-unknown"
@@ -614,8 +625,8 @@ struct GnomeCmdData
gboolean use_gcmd_block;
- gint main_win_width;
- gint main_win_height;
+ guint main_win_width;
+ guint main_win_height;
GdkWindowState main_win_state;
std::map<guint,std::vector<Tab> > tabs;
diff --git a/src/gnome-cmd-file-list.cc b/src/gnome-cmd-file-list.cc
index fab468e..2e082d7 100644
--- a/src/gnome-cmd-file-list.cc
+++ b/src/gnome-cmd-file-list.cc
@@ -95,7 +95,6 @@ struct GnomeCmdFileListColumn
{
guint id;
const gchar *title;
- guint default_width;
GtkJustification justification;
GtkSortType default_sort_direction;
GCompareDataFunc sort_func;
@@ -113,15 +112,15 @@ static gint sort_by_group (GnomeCmdFile *f1, GnomeCmdFile *f2, GnomeCmdFileList
static GnomeCmdFileListColumn file_list_column[GnomeCmdFileList::NUM_COLUMNS] =
-{{GnomeCmdFileList::COLUMN_ICON,"",16,GTK_JUSTIFY_CENTER,GTK_SORT_ASCENDING, NULL},
- {GnomeCmdFileList::COLUMN_NAME, N_("name"), 140, GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_name},
- {GnomeCmdFileList::COLUMN_EXT, N_("ext"), 40, GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_ext},
- {GnomeCmdFileList::COLUMN_DIR, N_("dir"), 240, GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_dir},
- {GnomeCmdFileList::COLUMN_SIZE, N_("size"), 70, GTK_JUSTIFY_RIGHT, GTK_SORT_DESCENDING, (GCompareDataFunc)
sort_by_size},
- {GnomeCmdFileList::COLUMN_DATE, N_("date"), 150, GTK_JUSTIFY_LEFT, GTK_SORT_DESCENDING, (GCompareDataFunc)
sort_by_date},
- {GnomeCmdFileList::COLUMN_PERM, N_("perm"), 70, GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_perm},
- {GnomeCmdFileList::COLUMN_OWNER, N_("uid"), 50, GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_owner},
- {GnomeCmdFileList::COLUMN_GROUP, N_("gid"), 50, GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_group}};
+{{GnomeCmdFileList::COLUMN_ICON,"",GTK_JUSTIFY_CENTER,GTK_SORT_ASCENDING, NULL},
+ {GnomeCmdFileList::COLUMN_NAME, N_("name"), GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_name},
+ {GnomeCmdFileList::COLUMN_EXT, N_("ext"), GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_ext},
+ {GnomeCmdFileList::COLUMN_DIR, N_("dir"), GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_dir},
+ {GnomeCmdFileList::COLUMN_SIZE, N_("size"), GTK_JUSTIFY_RIGHT, GTK_SORT_DESCENDING, (GCompareDataFunc)
sort_by_size},
+ {GnomeCmdFileList::COLUMN_DATE, N_("date"), GTK_JUSTIFY_LEFT, GTK_SORT_DESCENDING, (GCompareDataFunc)
sort_by_date},
+ {GnomeCmdFileList::COLUMN_PERM, N_("perm"), GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_perm},
+ {GnomeCmdFileList::COLUMN_OWNER, N_("uid"), GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_owner},
+ {GnomeCmdFileList::COLUMN_GROUP, N_("gid"), GTK_JUSTIFY_LEFT, GTK_SORT_ASCENDING, (GCompareDataFunc)
sort_by_group}};
struct GnomeCmdFileListClass
@@ -1665,12 +1664,6 @@ static void gnome_cmd_file_list_init (GnomeCmdFileList *fl)
* Public functions
***********************************/
-guint GnomeCmdFileList::get_column_default_width (ColumnID col)
-{
- return file_list_column[col].default_width;
-}
-
-
GnomeCmdFileList::ColumnID GnomeCmdFileList::get_sort_column() const
{
return (ColumnID) priv->current_col;
diff --git a/src/gnome-cmd-file-list.h b/src/gnome-cmd-file-list.h
index ef9a146..23ab33e 100644
--- a/src/gnome-cmd-file-list.h
+++ b/src/gnome-cmd-file-list.h
@@ -198,7 +198,6 @@ struct GnomeCmdFileList
ColumnID get_sort_column() const;
GtkSortType get_sort_order() const;
- static guint get_column_default_width(ColumnID col);
void invalidate_tree_size();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]