comparison frontends/src/primitivus/primitivus @ 2134:f45250052846

primitivus: fixed display of error if a message can't be sent
author Goffi <goffi@goffi.org>
date Sun, 05 Feb 2017 14:55:21 +0100
parents 2f264f3df280
children be96beb7ca14
comparison
equal deleted inserted replaced
2133:7de291c3cd0c 2134:f45250052846
86 chat_widget = self.host.selected_widget 86 chat_widget = self.host.selected_widget
87 self.host.messageSend( 87 self.host.messageSend(
88 chat_widget.target, 88 chat_widget.target,
89 {'': editBar.get_edit_text()}, # TODO: handle language 89 {'': editBar.get_edit_text()}, # TODO: handle language
90 mess_type = C.MESS_TYPE_GROUPCHAT if chat_widget.type == C.CHAT_GROUP else C.MESS_TYPE_CHAT, # TODO: put this in QuickChat 90 mess_type = C.MESS_TYPE_GROUPCHAT if chat_widget.type == C.CHAT_GROUP else C.MESS_TYPE_CHAT, # TODO: put this in QuickChat
91 errback=lambda failure: self.host.notify(_("Error while sending message ({})").format(failure)), 91 errback=lambda failure: self.host.showDialog(_("Error while sending message ({})").format(failure), type="error"),
92 profile_key=chat_widget.profile 92 profile_key=chat_widget.profile
93 ) 93 )
94 editBar.set_edit_text('') 94 editBar.set_edit_text('')
95 elif self.mode == C.MODE_COMMAND: 95 elif self.mode == C.MODE_COMMAND:
96 self.commandHandler() 96 self.commandHandler()
715 popup, answer_cb, answer_data = data 715 popup, answer_cb, answer_data = data
716 self.removePopUp(popup) 716 self.removePopUp(popup)
717 if answer_cb is not None: 717 if answer_cb is not None:
718 answer_cb(False, answer_data) 718 answer_cb(False, answer_data)
719 719
720 def showDialog(self, message, title="", type_="info", answer_cb = None, answer_data = None): 720 def showDialog(self, message, title="", type="info", answer_cb = None, answer_data = None):
721 if type_ == 'info': 721 if type == 'info':
722 popup = sat_widgets.Alert(title, message, ok_cb=answer_cb) 722 popup = sat_widgets.Alert(title, message, ok_cb=answer_cb)
723 if answer_cb is None: 723 if answer_cb is None:
724 popup.setCallback('ok', lambda dummy: self.removePopUp(popup)) 724 popup.setCallback('ok', lambda dummy: self.removePopUp(popup))
725 elif type_ == 'error': 725 elif type == 'error':
726 popup = sat_widgets.Alert(title, message, ok_cb=answer_cb) 726 popup = sat_widgets.Alert(title, message, ok_cb=answer_cb)
727 if answer_cb is None: 727 if answer_cb is None:
728 popup.setCallback('ok', lambda dummy: self.removePopUp(popup)) 728 popup.setCallback('ok', lambda dummy: self.removePopUp(popup))
729 elif type_ == 'yes/no': 729 elif type == 'yes/no':
730 popup = sat_widgets.ConfirmDialog(message) 730 popup = sat_widgets.ConfirmDialog(message)
731 popup.setCallback('yes', self._dialogOkCb, (popup, answer_cb, answer_data)) 731 popup.setCallback('yes', self._dialogOkCb, (popup, answer_cb, answer_data))
732 popup.setCallback('no', self._dialogCancelCb, (popup, answer_cb, answer_data)) 732 popup.setCallback('no', self._dialogCancelCb, (popup, answer_cb, answer_data))
733 else: 733 else:
734 popup = sat_widgets.Alert(title, message, ok_cb=answer_cb) 734 popup = sat_widgets.Alert(title, message, ok_cb=answer_cb)
735 if answer_cb is None: 735 if answer_cb is None:
736 popup.setCallback('ok', lambda dummy: self.removePopUp(popup)) 736 popup.setCallback('ok', lambda dummy: self.removePopUp(popup))
737 log.error(u'unmanaged dialog type: {}'.format(type_)) 737 log.error(u'unmanaged dialog type: {}'.format(type))
738 self.showPopUp(popup) 738 self.showPopUp(popup)
739 739
740 def dialogFailure(self, failure): 740 def dialogFailure(self, failure):
741 """Show a failure that has been returned by an asynchronous bridge method. 741 """Show a failure that has been returned by an asynchronous bridge method.
742 742