comparison src/browser/sat_browser/base_menu.py @ 589:a5019e62c3e9 frontends_multi_profiles

browser side: big refactoring to base Libervia on QuickFrontend, first draft: /!\ not finished, partially working and highly instable - add collections module with an OrderedDict like class - SatWebFrontend inherit from QuickApp - general sat_frontends tools.jid module is used - bridge/json methods have moved to json module - UniBox is partially removed (should be totally removed before merge to trunk) - Signals are now register with the generic registerSignal method (which is called mainly in QuickFrontend) - the generic getOrCreateWidget method from QuickWidgetsManager is used instead of Libervia's specific methods - all Widget are now based more or less directly on QuickWidget - with the new QuickWidgetsManager.getWidgets method, it's no more necessary to check all widgets which are instance of a particular class - ChatPanel and related moved to chat module - MicroblogPanel and related moved to blog module - global and overcomplicated send method has been disabled: each class should manage its own sending - for consistency with other frontends, former ContactPanel has been renamed to ContactList and vice versa - for the same reason, ChatPanel has been renamed to Chat - for compatibility with QuickFrontend, a fake profile is used in several places, it is set to C.PROF_KEY_NONE (real profile is managed server side for obvious security reasons) - changed default url for web panel to SàT website, and contact address to generic SàT contact address - ContactList is based on QuickContactList, UI changes are done in update method - bride call (now json module) have been greatly improved, in particular call can be done in the same way as for other frontends (bridge.method_name(arg1, arg2, ..., callback=cb, errback=eb). Blocking method must be called like async methods due to javascript architecture - in bridge calls, a callback can now exists without errback - hard reload on BridgeSignals remote error has been disabled, a better option should be implemented - use of constants where that make sens, some style improvments - avatars are temporarily disabled - lot of code disabled, will be fixed or removed before merge - various other changes, check diff for more details server side: manage remote exception on getEntityData, removed getProfileJid call, added getWaitingConf, added getRoomsSubjects
author Goffi <goffi@goffi.org>
date Sat, 24 Jan 2015 01:45:39 +0100
parents 85699d18921f
children c2abadf31afb
comparison
equal deleted inserted replaced
585:bade589dbd5a 589:a5019e62c3e9
52 else: 52 else:
53 self.callback = getattr(object_, handler) 53 self.callback = getattr(object_, handler)
54 self.data = data 54 self.data = data
55 55
56 def execute(self): 56 def execute(self):
57 log.debug("execute %s" % self.callback)
57 self.callback(self.data) if self.data else self.callback() 58 self.callback(self.data) if self.data else self.callback()
58 59
59 60
60 class PluginMenuCmd: 61 class PluginMenuCmd:
61 """Like MenuCmd, but instead of executing a method, it will command the bridge to launch an action""" 62 """Like MenuCmd, but instead of executing a method, it will command the bridge to launch an action"""
305 return [cat.item for cat in self.node.getCategories(parent_path)] 306 return [cat.item for cat in self.node.getCategories(parent_path)]
306 307
307 def addMenuItem(self, path, path_i18n, types, menu_cmd, asHTML=False): 308 def addMenuItem(self, path, path_i18n, types, menu_cmd, asHTML=False):
308 return self.node.addMenuItem(path, path_i18n, types, menu_cmd, asHTML).item 309 return self.node.addMenuItem(path, path_i18n, types, menu_cmd, asHTML).item
309 310
310 def addCategory(self, path, path_i18n, types, menu_bar): 311 def addCategory(self, path, path_i18n, types, menu_bar=None):
311 return self.node.addCategory(path, path_i18n, types, menu_bar).item 312 return self.node.addCategory(path, path_i18n, types, menu_bar).item
312 313
313 def addItem(self, item, asHTML=None, popup=None): 314 def addItem(self, item, asHTML=None, popup=None):
314 return self.node.addItem(item, asHTML, popup).item 315 return self.node.addItem(item, asHTML, popup).item
315 316