# HG changeset patch # User Björn Ricks # Date 1315829134 -7200 # Node ID 8f433e3c2f21885e674ea8c567cb12b63bceef2f # Parent 4912568f9048115fb95e5d82dbba1fc8d7fc246b Allow to pass entries to the DeleteEntryState By default DeleteEntryState uses the selected entries if no entry is passes to the constructor. This allows to reuse the state class for single entry deletion diff -r 4912568f9048 -r 8f433e3c2f21 getan/states.py --- a/getan/states.py Mon Sep 12 13:57:58 2011 +0200 +++ b/getan/states.py Mon Sep 12 14:05:34 2011 +0200 @@ -420,9 +420,12 @@ 'delete' : _("Really delete this entry? (y/n)"), } - def __init__(self, state, controller, view): + def __init__(self, state, controller, view, entries=None): super(DeleteEntryState, self).__init__(state, controller, view) self.view.set_footer_text(self.msg('delete'), 'question') + self.entries = entries + if not self.entries: + self.entries = [x.item for x in self.view.selection] def keypress(self, key): ret = super(DeleteEntryState, self).keypress(key) @@ -430,9 +433,8 @@ return ret if 'y' in key: - entries = [x.item for x in self.view.selection] - if entries: - self.controller.delete_entries(entries) + if self.entries: + self.controller.delete_entries(self.entries) self.renew_focus() self.view.set_footer_text("", 'entry_footer') return DefaultEntryListState(self.projectlist_state,