[Thunar-workers] CVS: design/ui ChangeLog, 1.6, 1.7 ThunarWindow.py, 1.2, 1.3

Benedikt Meurer benny at xfce.org
Sun Feb 27 22:37:07 CET 2005


Update of /var/cvs/thunar/design/ui
In directory espresso.foo-projects.org:/tmp/cvs-serv6559

Modified Files:
	ChangeLog ThunarWindow.py 
Log Message:
2005-02-27	Benedikt Meurer <benny at xfce.org>

	* ThunarWindow.py: Implement the `Forward' and `Back' browser
	  actions.




Index: ChangeLog
===================================================================
RCS file: /var/cvs/thunar/design/ui/ChangeLog,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ChangeLog	27 Feb 2005 18:13:49 -0000	1.6
+++ ChangeLog	27 Feb 2005 21:37:05 -0000	1.7
@@ -1,5 +1,10 @@
 2005-02-27	Benedikt Meurer <benny at xfce.org>
 
+	* ThunarWindow.py: Implement the `Forward' and `Back' browser
+	  actions.
+
+2005-02-27	Benedikt Meurer <benny at xfce.org>
+
 	* rox/: Use parts of the ROX Python libraries for the browser-like
 	  prototype.
 	* Main.py, ThunarFileInfo.py, ThunarListView.py, ThunarMimeDatabase.py,

Index: ThunarWindow.py
===================================================================
RCS file: /var/cvs/thunar/design/ui/ThunarWindow.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- ThunarWindow.py	27 Feb 2005 18:13:49 -0000	1.2
+++ ThunarWindow.py	27 Feb 2005 21:37:05 -0000	1.3
@@ -70,7 +70,7 @@
         ], self)
         self.action_group.add_actions([
             ('view-menu', None, '_View'),
-            ('reload', gtk.STOCK_REFRESH, '_Reload', '<Control>R', None, lambda ign, self: self._action_open_dir(self.info)),
+            ('reload', gtk.STOCK_REFRESH, '_Reload', '<Control>R', None, lambda ign, self: self._internal_open_dir(self.info)),
         ], self)
         self.action_group.add_toggle_actions([
             ('sidepane', None, '_Side Pane', None, None, lambda ign, self: self._action_show_sidepane(), True),
@@ -82,8 +82,8 @@
         self.action_group.add_actions([
             ('go-menu', None, '_Go'),
             ('go-up', gtk.STOCK_GO_UP, '_Up', '<Alt>Up', None, lambda ign, self: self._action_open_dir(self.info.get_parent())),
-            ('go-back', gtk.STOCK_GO_BACK, '_Back', '<Alt>Left'),
-            ('go-forward', gtk.STOCK_GO_FORWARD, '_Forward', '<Alt>Right'),
+            ('go-back', gtk.STOCK_GO_BACK, '_Back', '<Alt>Left', None, lambda ign, self: self._action_go_back()),
+            ('go-forward', gtk.STOCK_GO_FORWARD, '_Forward', '<Alt>Right', None, lambda ign, self: self._action_go_forward()),
             ('go-home', gtk.STOCK_HOME, '_Home Folder', None, None, lambda ign, self: self._action_open_dir(ThunarFileInfo(os.getenv('HOME')))),
             ('go-location', None, '_Location...', '<Control>L', None, lambda ign, self: self._action_open_location()),
         ], self)
@@ -171,6 +171,9 @@
         self.main_vbox.pack_start(self.status_bar, False, False, 0)
         self.status_bar.show()
 
+        self.back_list = []
+        self.forward_list = []
+
         # get initial state right
         self._selection_changed()
 
@@ -228,6 +231,14 @@
 
 
     def _action_open_dir(self, info):
+        self.back_list.append(self.info)
+        self.forward_list = []
+        self.action_group.get_action('go-back').set_property('sensitive', True)
+        self.action_group.get_action('go-forward').set_property('sensitive', False)
+        self._internal_open_dir(info)
+
+
+    def _internal_open_dir(self, info):
         model = ThunarModel(info)
         self.view.set_model(model)
         self.info = info
@@ -245,6 +256,26 @@
         self.swin.get_vadjustment().set_value(0)
 
 
+    def _action_go_back(self):
+        if not self.back_list:
+            return
+        info = self.back_list.pop(len(self.back_list) - 1)
+        self.forward_list.append(self.info)
+        self.action_group.get_action('go-back').set_property('sensitive', (self.back_list != []))
+        self.action_group.get_action('go-forward').set_property('sensitive', True)
+        self._internal_open_dir(info)
+
+
+    def _action_go_forward(self):
+        if not self.forward_list:
+            return
+        info = self.forward_list.pop(len(self.forward_list) - 1)
+        self.back_list.append(self.info)
+        self.action_group.get_action('go-back').set_property('sensitive', True)
+        self.action_group.get_action('go-forward').set_property('sensitive', (self.forward_list != []))
+        self._internal_open_dir(info)
+
+
     def _action_open_location(self):
         dialog = gtk.Dialog('Open Location', self, gtk.DIALOG_DESTROY_WITH_PARENT | gtk.DIALOG_NO_SEPARATOR | gtk.DIALOG_MODAL, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
         dialog.set_default_response(gtk.RESPONSE_OK)




More information about the Thunar-workers mailing list