From e847a9f00102d7d5ca5c933bf63d0e398523b0e9 Mon Sep 17 00:00:00 2001 From: Goffi Date: Tue, 17 Nov 2015 12:28:45 +0100 Subject: [PATCH] primitivus: fixed showDialog and XMLUI message dialog --- frontends/src/primitivus/primitivus | 12 +++++++----- frontends/src/primitivus/xmlui.py | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/frontends/src/primitivus/primitivus b/frontends/src/primitivus/primitivus index f061d658..d5590332 100755 --- a/frontends/src/primitivus/primitivus +++ b/frontends/src/primitivus/primitivus @@ -585,12 +585,14 @@ class PrimitivusApp(QuickApp, InputHistory): def _dialogOkCb(self, widget, data): popup, answer_cb, answer_data = data self.removePopUp(popup) - answer_cb(True, *answer_data) + if answer_cb is not None: + answer_cb(True, answer_data) def _dialogCancelCb(self, widget, data): popup, answer_cb, answer_data = data self.removePopUp(popup) - answer_cb(False, *answer_data) + if answer_cb is not None: + answer_cb(False, answer_data) def showDialog(self, message, title="", type_="info", answer_cb = None, answer_data = None): if type_ == 'info': @@ -602,9 +604,9 @@ class PrimitivusApp(QuickApp, InputHistory): if answer_cb is None: popup.setCallback('ok', lambda dummy: self.removePopUp(popup)) elif type_ == 'yes/no': - popup = sat_widgets.ConfirmDialog(message, - yes_cb=self._dialogOkCb, yes_value = (popup, answer_cb, answer_data), - no_cb=self._dialogCancelCb, no_value = (popup, answer_cb, answer_data)) + popup = sat_widgets.ConfirmDialog(message) + popup.setCallback('yes', self._dialogOkCb, (popup, answer_cb, answer_data)) + popup.setCallback('no', self._dialogCancelCb, (popup, answer_cb, answer_data)) else: popup = sat_widgets.alert(title, message, ok_cb=answer_cb) if answer_cb is None: diff --git a/frontends/src/primitivus/xmlui.py b/frontends/src/primitivus/xmlui.py index ffc8e713..35222f62 100644 --- a/frontends/src/primitivus/xmlui.py +++ b/frontends/src/primitivus/xmlui.py @@ -336,7 +336,7 @@ class PrimitivusMessageDialog(PrimitivusDialog, xmlui.MessageDialog, sat_widgets def __init__(self, _xmlui_parent, title, message, level): PrimitivusDialog.__init__(self, _xmlui_parent) xmlui.MessageDialog.__init__(self, _xmlui_parent) - sat_widgets.Alert.__init__(self, title, message, ok_cb=lambda dummy: self._xmluiValidated()) + sat_widgets.Alert.__init__(self, title, message, ok_cb=lambda dummy: self._xmluiClose()) class PrimitivusNoteDialog(xmlui.NoteDialog, PrimitivusMessageDialog):