comparison frontends/src/primitivus/primitivus @ 1106:e2e1e27a3680

frontends: XMLUI refactoring + dialogs: - there are now XMLUIPanel and XMLUIDialog both inheriting from XMLUIBase - following dialogs are managed: - MessageDialog - NoteDialog - ConfirmDialog - FileDialog - XMLUI creation is now made using xmlui.create(...) instead of instanciating directly XMLUI - classes must be registed in frontends - "parent" attribute renamed to "_xmlui_parent" to avoid name conflicts with frontends toolkits
author Goffi <goffi@goffi.org>
date Wed, 13 Aug 2014 14:48:49 +0200
parents a096b8579a3c
children 5968fd8d2248
comparison
equal deleted inserted replaced
1105:018bdd687747 1106:e2e1e27a3680
31 from sat_frontends.quick_frontend.quick_chat_list import QuickChatList 31 from sat_frontends.quick_frontend.quick_chat_list import QuickChatList
32 from sat_frontends.quick_frontend.quick_utils import getNewPath, unescapePrivate 32 from sat_frontends.quick_frontend.quick_utils import getNewPath, unescapePrivate
33 from sat_frontends.primitivus.profile_manager import ProfileManager 33 from sat_frontends.primitivus.profile_manager import ProfileManager
34 from sat_frontends.primitivus.contact_list import ContactList 34 from sat_frontends.primitivus.contact_list import ContactList
35 from sat_frontends.primitivus.chat import Chat 35 from sat_frontends.primitivus.chat import Chat
36 from sat_frontends.primitivus.xmlui import XMLUI 36 from sat_frontends.primitivus import xmlui
37 from sat_frontends.primitivus.progress import Progress 37 from sat_frontends.primitivus.progress import Progress
38 from sat_frontends.primitivus.notify import Notify 38 from sat_frontends.primitivus.notify import Notify
39 from sat_frontends.tools.misc import InputHistory 39 from sat_frontends.tools.misc import InputHistory
40 from sat_frontends.constants import Const as commonConst # FIXME 40 from sat_frontends.constants import Const as commonConst # FIXME
41 from sat.tools.jid import JID 41 from sat.tools.jid import JID
460 def action_cb(data): 460 def action_cb(data):
461 if not data: 461 if not data:
462 # action was a one shot, nothing to do 462 # action was a one shot, nothing to do
463 pass 463 pass
464 elif "xmlui" in data: 464 elif "xmlui" in data:
465 ui = XMLUI(self, xml_data=data['xmlui']) 465 ui = xmlui.create(self, xml_data=data['xmlui'])
466 ui.show() 466 ui.show()
467 elif "authenticated_profile" in data: 467 elif "authenticated_profile" in data:
468 assert("caller" in data) 468 assert("caller" in data)
469 if data["caller"] == "profile_manager": 469 if data["caller"] == "profile_manager":
470 assert(isinstance(self.main_widget, ProfileManager)) 470 assert(isinstance(self.main_widget, ProfileManager))
527 title = _('Form') 527 title = _('Form')
528 if data['type'] == 'registration': 528 if data['type'] == 'registration':
529 title = _('Registration') 529 title = _('Registration')
530 misc['target'] = data['target'] 530 misc['target'] = data['target']
531 misc['action_back'] = self.bridge.gatewayRegister 531 misc['action_back'] = self.bridge.gatewayRegister
532 ui = XMLUI(self, title=title, xml_data = data['xml'], misc = misc) 532 ui = xmlui.create(self, title=title, xml_data = data['xml'], misc = misc)
533 if data['type'] == 'registration': 533 if data['type'] == 'registration':
534 ui.show('popup') 534 ui.show('popup')
535 else: 535 else:
536 ui.show('window') 536 ui.show('window')
537 elif type_ == "ERROR": 537 elif type_ == "ERROR":
571 def onDisconnectRequest(self, menu): 571 def onDisconnectRequest(self, menu):
572 self.bridge.disconnect(self.profile) 572 self.bridge.disconnect(self.profile)
573 573
574 def onParam(self, menu): 574 def onParam(self, menu):
575 def success(params): 575 def success(params):
576 self.addWindow(XMLUI(self, xml_data=params)) 576 self.addWindow(xmlui.create(self, xml_data=params))
577 577
578 def failure(error): 578 def failure(error):
579 self.showPopUp(sat_widgets.Alert(_("Error"), _("Can't get parameters (%s)") % error, ok_cb=self.removePopUp)) 579 self.showPopUp(sat_widgets.Alert(_("Error"), _("Can't get parameters (%s)") % error, ok_cb=self.removePopUp))
580 self.bridge.getParamsUI(app=C.APP_NAME, profile_key=self.profile, callback=success, errback=failure) 580 self.bridge.getParamsUI(app=C.APP_NAME, profile_key=self.profile, callback=success, errback=failure)
581 581