[gnome-commander] tab lock: serialization



commit 2b50a6dabe29b77fe2aa2e2d03b69774ca5d9057
Author: Piotr Eljasiak <epiotr src gnome org>
Date:   Wed Jan 12 18:17:38 2011 +0100

    tab lock: serialization

 src/gnome-cmd-data.h        |    2 +-
 src/gnome-cmd-file-list.cc  |    2 +-
 src/gnome-cmd-main-win.cc   |    8 ++++----
 src/gnome-cmd-xml-config.cc |    5 +++--
 src/main.cc                 |    4 ++--
 5 files changed, 11 insertions(+), 10 deletions(-)
---
diff --git a/src/gnome-cmd-data.h b/src/gnome-cmd-data.h
index 00bfb10..693fa19 100644
--- a/src/gnome-cmd-data.h
+++ b/src/gnome-cmd-data.h
@@ -160,7 +160,7 @@ struct GnomeCmdData
         gchar *other_value;
     };
 
-    typedef triple<std::string,GnomeCmdFileList::ColumnID,GtkSortType> Tab;
+    typedef std::pair<std::string,triple<GnomeCmdFileList::ColumnID,GtkSortType,gboolean> > Tab;
 
     struct Private;
 
diff --git a/src/gnome-cmd-file-list.cc b/src/gnome-cmd-file-list.cc
index 1d37d19..fc83037 100644
--- a/src/gnome-cmd-file-list.cc
+++ b/src/gnome-cmd-file-list.cc
@@ -2962,6 +2962,6 @@ void GnomeCmdFileList::init_dnd()
 
 XML::xstream &operator << (XML::xstream &xml, GnomeCmdFileList &fl)
 {
-    return xml << XML::tag("Tab") << XML::attr("dir") << GNOME_CMD_FILE (fl.cwd)->get_real_path() << XML::attr("sort") << fl.get_sort_column() << XML::attr("asc") << fl.get_sort_order() << XML::endtag();
+    return xml << XML::tag("Tab") << XML::attr("dir") << GNOME_CMD_FILE (fl.cwd)->get_real_path() << XML::attr("sort") << fl.get_sort_column() << XML::attr("asc") << fl.get_sort_order() << XML::attr("lock") << fl.locked << XML::endtag();
 }
 
diff --git a/src/gnome-cmd-main-win.cc b/src/gnome-cmd-main-win.cc
index 9b8a2c7..cda2ad3 100644
--- a/src/gnome-cmd-main-win.cc
+++ b/src/gnome-cmd-main-win.cc
@@ -808,21 +808,21 @@ static void init (GnomeCmdMainWin *mw)
     GnomeCmdCon *home = get_home_con ();
 
     if (gnome_cmd_data.tabs[LEFT].empty())
-        gnome_cmd_data.tabs[LEFT].push_back(make_triple(string(g_get_home_dir ()), GnomeCmdFileList::COLUMN_NAME, GTK_SORT_ASCENDING));
+        gnome_cmd_data.tabs[LEFT].push_back(make_pair(string(g_get_home_dir ()), make_triple(GnomeCmdFileList::COLUMN_NAME, GTK_SORT_ASCENDING, FALSE)));
 
     for (vector<GnomeCmdData::Tab>::const_iterator i=gnome_cmd_data.tabs[LEFT].begin(); i!=gnome_cmd_data.tabs[LEFT].end(); ++i)
     {
         GnomeCmdDir *dir = gnome_cmd_dir_new (home, gnome_cmd_con_create_path (home, i->first.c_str()));
-        mw->fs(LEFT)->new_tab(dir, i->second, i->third, FALSE, TRUE);
+        mw->fs(LEFT)->new_tab(dir, i->second.first, i->second.second, i->second.third, TRUE);
     }
 
     if (gnome_cmd_data.tabs[RIGHT].empty())
-        gnome_cmd_data.tabs[RIGHT].push_back(make_triple(string(g_get_home_dir ()), GnomeCmdFileList::COLUMN_NAME, GTK_SORT_ASCENDING));
+        gnome_cmd_data.tabs[RIGHT].push_back(make_pair(string(g_get_home_dir ()), make_triple(GnomeCmdFileList::COLUMN_NAME, GTK_SORT_ASCENDING,FALSE)));
 
     for (vector<GnomeCmdData::Tab>::const_iterator i=gnome_cmd_data.tabs[RIGHT].begin(); i!=gnome_cmd_data.tabs[RIGHT].end(); ++i)
     {
         GnomeCmdDir *dir = gnome_cmd_dir_new (home, gnome_cmd_con_create_path (home, i->first.c_str()));
-        mw->fs(RIGHT)->new_tab(dir, i->second, i->third, FALSE, TRUE);
+        mw->fs(RIGHT)->new_tab(dir, i->second.first, i->second.second, i->second.third, TRUE);
     }
 
     g_signal_connect (mw, "size-allocate", G_CALLBACK (on_size_allocate), mw);
diff --git a/src/gnome-cmd-xml-config.cc b/src/gnome-cmd-xml-config.cc
index d8a25eb..dfa9ee0 100644
--- a/src/gnome-cmd-xml-config.cc
+++ b/src/gnome-cmd-xml-config.cc
@@ -408,7 +408,7 @@ static void xml_start(GMarkupParseContext *context,
 
     GnomeCmdData *cfg = (GnomeCmdData *) user_data;
     gchar *param1, *param2, *param3;
-    gboolean param4;
+    gboolean param4, param5;
 
     switch (xml_elem_names[xml_paths.top()])
     {
@@ -426,13 +426,14 @@ static void xml_start(GMarkupParseContext *context,
                                              G_MARKUP_COLLECT_STRING, "dir", &param1,
                                              G_MARKUP_COLLECT_STRING, "sort", &param2,
                                              G_MARKUP_COLLECT_BOOLEAN, "asc", &param4,
+                                             G_MARKUP_COLLECT_BOOLEAN, "lock", &param5,
                                              G_MARKUP_COLLECT_INVALID))
             {
                 string dir(param1);
                 gint sort = atoi(param2);
 
                 if (!dir.empty() && sort<GnomeCmdFileList::NUM_COLUMNS)
-                    cfg->tabs[xml_fs].push_back(make_triple(string(param1),(GnomeCmdFileList::ColumnID) sort,(GtkSortType) param4));
+                    cfg->tabs[xml_fs].push_back(make_pair(string(param1),make_triple((GnomeCmdFileList::ColumnID) sort,(GtkSortType) param4,param5)));
             }
             break;
 
diff --git a/src/main.cc b/src/main.cc
index c3f508b..0146459 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -147,10 +147,10 @@ int main (int argc, char *argv[])
     else
     {
         if (start_dir_left)
-            gnome_cmd_data.tabs[LEFT].push_back(make_triple(string(start_dir_left),GnomeCmdFileList::COLUMN_NAME,GTK_SORT_ASCENDING));
+            gnome_cmd_data.tabs[LEFT].push_back(make_pair(string(start_dir_left),make_triple(GnomeCmdFileList::COLUMN_NAME,GTK_SORT_ASCENDING,FALSE)));
 
         if (start_dir_right)
-            gnome_cmd_data.tabs[RIGHT].push_back(make_triple(string(start_dir_right),GnomeCmdFileList::COLUMN_NAME,GTK_SORT_ASCENDING));
+            gnome_cmd_data.tabs[RIGHT].push_back(make_pair(string(start_dir_left),make_triple(GnomeCmdFileList::COLUMN_NAME,GTK_SORT_ASCENDING,FALSE)));
 
         gcmd_user_actions.set_defaults();
         ls_colors_init ();



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