Yes, this v2 has the discussed wording. Please commit. 2012/8/22 Simon Schampijer <si...@schampijer.de>: > Erasing an entry in the Journal does not ask for confirmation > before doing the erase. This patch adds an alert to the ListView > and the DetailView that asks for confirmation before doing the > erase. This is part of the touch interaction work [1]. > > The wording of the alert has been finallized with Gary > yesterday. > > Signed-off-by: Simon Schampijer <si...@laptop.org>
Acked-by: Manuel Quiñones <ma...@laptop.org> > > [1] http://wiki.sugarlabs.org/go/Features/Touch/Development#Journal > --- > src/jarabe/journal/journaltoolbox.py | 31 +++++++++++++++++++++++++------ > src/jarabe/journal/palettes.py | 22 +++++++++++++++++++++- > 2 files changed, 46 insertions(+), 7 deletions(-) > > diff --git a/src/jarabe/journal/journaltoolbox.py > b/src/jarabe/journal/journaltoolbox.py > index 2aa4153..9a5f5a2 100644 > --- a/src/jarabe/journal/journaltoolbox.py > +++ b/src/jarabe/journal/journaltoolbox.py > @@ -36,6 +36,7 @@ from sugar.graphics.combobox import ComboBox > from sugar.graphics.menuitem import MenuItem > from sugar.graphics.icon import Icon > from sugar.graphics.xocolor import XoColor > +from sugar.graphics.alert import Alert > from sugar.graphics import iconentry > from sugar.graphics import style > from sugar import mime > @@ -45,6 +46,7 @@ from jarabe.journal import misc > from jarabe.journal import model > from jarabe.journal.palettes import ClipboardMenu > from jarabe.journal.palettes import VolumeMenu > +from jarabe.journal import journalwindow > > > _AUTOSEARCH_TIMEOUT = 1000 > @@ -438,12 +440,29 @@ class EntryToolbar(gtk.Toolbar): > _('Error')) > > def _erase_button_clicked_cb(self, button): > - registry = bundleregistry.get_registry() > - > - bundle = misc.get_bundle(self._metadata) > - if bundle is not None and registry.is_installed(bundle): > - registry.uninstall(bundle) > - model.delete(self._metadata['uid']) > + alert = Alert() > + erase_string = _('Erase') > + alert.props.title = erase_string > + alert.props.msg = _('Do you want to permanently erase \"%s\"?') \ > + % self._metadata['title'] > + icon = Icon(icon_name='dialog-cancel') > + alert.add_button(gtk.RESPONSE_CANCEL, _('Cancel'), icon) > + icon.show() > + ok_icon = Icon(icon_name='dialog-ok') > + alert.add_button(gtk.RESPONSE_OK, erase_string, ok_icon) > + ok_icon.show() > + alert.connect('response', self.__erase_alert_response_cb) > + journalwindow.get_journal_window().add_alert(alert) > + alert.show() > + > + def __erase_alert_response_cb(self, alert, response_id): > + journalwindow.get_journal_window().remove_alert(alert) > + if response_id is gtk.RESPONSE_OK: > + registry = bundleregistry.get_registry() > + bundle = misc.get_bundle(self._metadata) > + if bundle is not None and registry.is_installed(bundle): > + registry.uninstall(bundle) > + model.delete(self._metadata['uid']) > > def _resume_menu_item_activate_cb(self, menu_item, service_name): > misc.resume(self._metadata, service_name) > diff --git a/src/jarabe/journal/palettes.py b/src/jarabe/journal/palettes.py > index 8fc1e5d..f0d686f 100644 > --- a/src/jarabe/journal/palettes.py > +++ b/src/jarabe/journal/palettes.py > @@ -29,6 +29,7 @@ from sugar.graphics.palette import Palette > from sugar.graphics.menuitem import MenuItem > from sugar.graphics.icon import Icon > from sugar.graphics.xocolor import XoColor > +from sugar.graphics.alert import Alert > from sugar import mime > > from jarabe.model import friends > @@ -36,6 +37,7 @@ from jarabe.model import filetransfer > from jarabe.model import mimeregistry > from jarabe.journal import misc > from jarabe.journal import model > +from jarabe.journal import journalwindow > > > class ObjectPalette(Palette): > @@ -142,7 +144,25 @@ class ObjectPalette(Palette): > _('Error')) > > def __erase_activate_cb(self, menu_item): > - model.delete(self._metadata['uid']) > + alert = Alert() > + erase_string = _('Erase') > + alert.props.title = erase_string > + alert.props.msg = _('Do you want to permanently erase \"%s\"?') \ > + % self._metadata['title'] > + icon = Icon(icon_name='dialog-cancel') > + alert.add_button(gtk.RESPONSE_CANCEL, _('Cancel'), icon) > + icon.show() > + ok_icon = Icon(icon_name='dialog-ok') > + alert.add_button(gtk.RESPONSE_OK, erase_string, ok_icon) > + ok_icon.show() > + alert.connect('response', self.__erase_alert_response_cb) > + journalwindow.get_journal_window().add_alert(alert) > + alert.show() > + > + def __erase_alert_response_cb(self, alert, response_id): > + journalwindow.get_journal_window().remove_alert(alert) > + if response_id is gtk.RESPONSE_OK: > + model.delete(self._metadata['uid']) > > def __detail_activate_cb(self, menu_item): > self.emit('detail-clicked', self._metadata['uid']) > -- > 1.7.11.4 > > _______________________________________________ > Sugar-devel mailing list > Sugar-devel@lists.sugarlabs.org > http://lists.sugarlabs.org/listinfo/sugar-devel -- .. manuq .. _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel