[gnome-commander] Fixed problem #660268 (remember directory history between sessions)



commit b4f7f9aa43ff4dddcfdc76568993d5bb84c43bf6
Author: Piotr Eljasiak <epiotr src gnome org>
Date:   Mon Oct 3 23:39:17 2011 +0200

    Fixed problem #660268 (remember directory history between sessions)

 NEWS                        |    1 +
 doc/C/gnome-commander.xml   |    3 +++
 src/gnome-cmd-xml-config.cc |   19 +++++++++++++++++++
 3 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/NEWS b/NEWS
index 9bf53fd..cc6753e 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ Bug fixes:
  * Fixed problems #632064, #632208, #633107, #633167, #633331, #634972, #637873, #638059 (bugs in gnome-commander-help.master.po)
  * Fixed problem #657780 (bugs in nl.po)
  * Fixed problem #660043 (shortcut ALT+DOWN not documented)
+ * Fixed problem #660268 (remember directory history between sessions)
  * Fixed Ubuntu problem #117226 (bookmarks unification)
  * Fixed problem with right mouse button selection not being precise
 
diff --git a/doc/C/gnome-commander.xml b/doc/C/gnome-commander.xml
index 5b6c992..518de4f 100644
--- a/doc/C/gnome-commander.xml
+++ b/doc/C/gnome-commander.xml
@@ -7579,6 +7579,9 @@
                             <para>Fixed problem #660043 (shortcut ALT+DOWN not documented)</para>
                         </listitem>
                         <listitem>
+                            <para>Fixed problem #660268 (remember directory history between sessions)</para>
+                        </listitem>
+                        <listitem>
                             <para>Fixed Ubuntu problem #117226 (bookmarks unification)</para>
                         </listitem>
                         <listitem>
diff --git a/src/gnome-cmd-xml-config.cc b/src/gnome-cmd-xml-config.cc
index acec467..1f00d89 100644
--- a/src/gnome-cmd-xml-config.cc
+++ b/src/gnome-cmd-xml-config.cc
@@ -336,6 +336,9 @@ enum {XML_ELEM_NOT_FOUND,
       XML_GNOMECOMMANDER_LAYOUT,
       XML_GNOMECOMMANDER_LAYOUT_PANEL,
       XML_GNOMECOMMANDER_LAYOUT_PANEL_TAB,
+      XML_GNOMECOMMANDER_HISTORY,
+      XML_GNOMECOMMANDER_HISTORY_DIRECTORIES,
+      XML_GNOMECOMMANDER_HISTORY_DIRECTORIES_DIRECTORY,
       XML_GNOMECOMMANDER_ADVANCEDRENAMETOOL,
       XML_GNOMECOMMANDER_ADVANCEDRENAMETOOL_WINDOWSIZE,
       XML_GNOMECOMMANDER_ADVANCEDRENAMETOOL_PROFILE,
@@ -438,6 +441,15 @@ static void xml_start(GMarkupParseContext *context,
             }
             break;
 
+        case XML_GNOMECOMMANDER_HISTORY_DIRECTORIES_DIRECTORY:
+            if (g_markup_collect_attributes (element_name, attribute_names, attribute_values, error,
+                                             G_MARKUP_COLLECT_STRING, "path", &param1,
+                                             G_MARKUP_COLLECT_INVALID))
+            {
+                gnome_cmd_con_get_dir_history (get_home_con())->add(param1);
+            }
+            break;
+
         case XML_GNOMECOMMANDER_ADVANCEDRENAMETOOL_WINDOWSIZE:
             if (g_markup_collect_attributes (element_name, attribute_names, attribute_values, error,
                                              G_MARKUP_COLLECT_STRING, "width", &param1,
@@ -698,6 +710,10 @@ static void xml_end (GMarkupParseContext *context,
 
     switch (xml_elem_names[xml_paths.top()])
     {
+        case XML_GNOMECOMMANDER_HISTORY_DIRECTORIES:
+            gnome_cmd_con_get_dir_history (get_home_con())->reverse();
+            break;
+
         case XML_GNOMECOMMANDER_ADVANCEDRENAMETOOL_PROFILE:
             cfg->advrename_defaults.profiles.push_back(xml_adv_profile);
             break;
@@ -800,6 +816,9 @@ gboolean gnome_cmd_xml_config_parse (const gchar *xml, gsize xml_len, GnomeCmdDa
                         {XML_GNOMECOMMANDER_LAYOUT_PANEL, "/GnomeCommander/Layout/Panel"},
                         {XML_GNOMECOMMANDER_LAYOUT_PANEL_TAB, "/GnomeCommander/Layout/Panel/Tab"},
                         {XML_GNOMECOMMANDER_ADVANCEDRENAMETOOL, "/GnomeCommander/AdvancedRenameTool"},
+                        {XML_GNOMECOMMANDER_HISTORY, "/GnomeCommander/History"},
+                        {XML_GNOMECOMMANDER_HISTORY_DIRECTORIES, "/GnomeCommander/History/Directories"},
+                        {XML_GNOMECOMMANDER_HISTORY_DIRECTORIES_DIRECTORY, "/GnomeCommander/History/Directories/Directory"},
                         {XML_GNOMECOMMANDER_ADVANCEDRENAMETOOL_WINDOWSIZE, "/GnomeCommander/AdvancedRenameTool/WindowSize"},
                         {XML_GNOMECOMMANDER_ADVANCEDRENAMETOOL_PROFILE, "/GnomeCommander/AdvancedRenameTool/Profile"},
                         {XML_GNOMECOMMANDER_ADVANCEDRENAMETOOL_PROFILE_TEMPLATE, "/GnomeCommander/AdvancedRenameTool/Profile/Template"},



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