diff getan/states.py @ 25:155b23da504b

Bugfix and improvements in the process to move/delete entries.
author Ingo Weinzierl <ingo_weinzierl@web.de>
date Sun, 29 Aug 2010 19:56:11 +0200
parents 9c4e8ba3c4fa
children 1a90a126c415
line wrap: on
line diff
--- a/getan/states.py	Sun Aug 29 19:10:48 2010 +0200
+++ b/getan/states.py	Sun Aug 29 19:56:11 2010 +0200
@@ -349,11 +349,13 @@
             return ret
 
         if 'd' in key:
-            return DeleteEntryState(self.projectlist_state,
-                                    self.controller, self.view)
+            if self.view.selection:
+                return DeleteEntryState(self.projectlist_state,
+                                        self.controller, self.view)
         if 'm' in key:
-            return MoveEntryState(self.projectlist_state,
-                                  self.controller, self.view)
+            if self.view.selection:
+                return MoveEntryState(self.projectlist_state,
+                                      self.controller, self.view)
         return self
 
 
@@ -372,8 +374,11 @@
             return ret
 
         if 'y' in key:
-            self.controller.delete_entries(self.view.selection)
-            self.renew_focus()
+            entries = [x.item for x in self.view.selection]
+            if entries:
+                self.controller.delete_entries(entries)
+                self.renew_focus()
+            self.view.set_footer_text("", 'entry_footer')
             return DefaultEntryListState(self.projectlist_state,
                                          self.controller, self.view)
 
@@ -401,13 +406,13 @@
         if 'y' in key and self.proj:
             logger.debug("MoveEntryState: move selected entries.")
             self.controller.move_selected_entries(self.proj)
+            self.renew_focus()
             self.view.set_footer_text('', 'entry_footer')
             self.proj = None
-            self.renew_focus()
             return DefaultEntryListState(self.projectlist_state,
                                          self.controller, self.view)
 
-        if 'n' in key:
+        if 'n' in key and self.proj:
             self.view.set_footer_text('', 'entry_footer')
             return DefaultEntryListState(self.projectlist_state,
                                          self.controller, self.view)
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)