Mercurial > getan > getan
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)