Commit graph

1,415 commits

Author SHA1 Message Date
Goffi
565c0b2b71 quick_frontend (menus): added a quick_menus module to manage easily menus logic:
- there are 2 mains types of menu: MenuItem which can be launched, and MenuCategory which contains other menus
    - local menus (from frontend only) and distant menus (from backend and its plugins) are managed
    - there is a menu manager which, in a similar ways as for widgets, manages the menus logic and should be instantiated by host
    - when a context is necessary (this is the case for most of menus), a data collector is used: it collects data from the caller (the instance linked to the menu) and construct data which is then sent throught bridge
    - to have implementation specific to a frontend which override the backend one, there is a MenuHook class
    - it is possible to place an expected menu in the desired position with MenuPlaceHolder class
2015-03-17 19:33:05 +01:00
Goffi
991a2cbf33 quick_frontends: added "menu" listeners, which is called when a menu is added or removed. 2015-03-17 19:33:04 +01:00
Goffi
0a10ae37a6 frontends: added a host_listener module which manage a listener launched when host is ready, useful to instantiate things on host in optional modules (e.g. menus). 2015-03-17 19:30:43 +01:00
souliane
b76d829249 quick_frontend, primitivus (chat): pass a sorted list to Chat.setPresents 2015-03-11 20:06:13 +01:00
souliane
e597a804d9 frontends (quick_frontend, primitivus): fixes room games:
- add quick_frontend.quick_games for registering the signals and registering the UI classes
    - rename the signals handlers to fit the convention (e.g.: tarotGameScoreHandler)
    - rename card_game to game_tarot, quick_card_game to quick_game_tarot, CardGame to TarotGame
2015-03-11 12:43:48 +01:00
souliane
5ef7999fa7 plugins room_game, quiz, radiocol, tarot: use JID instead of unicode in many methods + class attributes 2015-03-11 12:36:22 +01:00
souliane
d9cc2f181e plugins XEP-0045, XEP-0249, parrot: use JID instead of unicode in many methods + class attributes 2015-03-11 12:35:21 +01:00
souliane
2a7bf77142 core (constants): add menu type MENU_ROOM_OCCUPANT_CONTEXT 2015-03-09 16:37:15 +01:00
souliane
204f024e0c plugin XEP-0045: make joinMUC asynchronous and fixes its handler 2015-03-07 16:28:12 +01:00
souliane
b524d41446 core: fixes bug introduced by 1262 (f8a8434dbac7) in SAT.delContact 2015-03-06 16:06:38 +01:00
souliane
723cb3cce4 frontends (primitivus): fixes setting the presence and status (for now all the profiles share the same info) 2015-03-06 15:24:45 +01:00
souliane
5169c7f602 frontends (primitivus): assign the current profile to the parameters dialog 2015-03-06 14:46:03 +01:00
souliane
6336e629c0 quick_frontend: register the 'personalEvent' signal 2015-03-06 14:22:49 +01:00
souliane
728d264136 quick_frontend: replace last occurences of QuickApp.chat_wins with QuickApp.widgets 2015-03-05 13:48:49 +01:00
souliane
3a35a5590d frontends (primitivus): fixes MUC nicks completion 2015-03-04 14:04:03 +01:00
souliane
b160e3d92c quick_frontend: add a method getWidget to return a widget without creating it if it doesn't exist 2015-03-04 14:17:38 +01:00
souliane
16cdbbbe1f frontends: add listeners 'profilePlugged', 'disconnect' and 'gotMenus' (the last one to be removed when the menus are refactored to quick_app) 2015-03-03 22:17:57 +01:00
souliane
5d1681de93 frontends (QuickApp), tools (TriggerManager): frontends can also use triggers + add those for sending and receiving a message 2015-03-03 15:05:10 +01:00
souliane
8b15911077 frontends (XMLUI): fixes wrong argument name 2015-03-03 06:00:23 +01:00
Goffi
3ed295e7b1 quick frontends: signal cache: if a signal arrives between the beginning of profile plugging, and the when the profile is actually ready, it is cached and replayed when the profile is ready. 2015-02-24 20:29:57 +01:00
Goffi
90b4969e39 primitivus (contact list): removed our own bare jid from not_in_roster 2015-02-24 18:21:03 +01:00
Goffi
542e1d4753 quick frontends (contact list): added self.whoami 2015-02-24 18:20:34 +01:00
Goffi
8f5b116211 quick_frontends, primitivus (contact list): added nick observer + implemented onNickUpdate 2015-02-24 17:14:10 +01:00
Goffi
60bc78db4c plugin XEP-0054: "nick" is now keeped in cache:
- cache now manage different kind of data (instead of only avatar)
	- PeristentBinaryDict is used to keep cache (because we now store a dict, not just strings)
	- CACHED_DATA is a set of data kept in cache (only nick and avatar so far)
	- a signal update flag is put on "nick"
	- data in cache are reset if they are not present in cache (this avoid to keep the old value)
2015-02-24 17:01:33 +01:00
Goffi
1492f2a3d7 core (persistent dict): added setdefault method 2015-02-24 16:54:28 +01:00
Goffi
d1dad92f8c quick frontends, primitivus: fixed listener calls (kwargs where forgotten) + fixed presence listener + renamed updatePresence to onPresenceUpdate for consistency with oter listeners 2015-02-24 16:52:44 +01:00
Goffi
3d568ab9c8 quick frontends: fixed use of profile for listeners 2015-02-24 14:40:19 +01:00
Goffi
27c26487c3 merged souliane changes 2015-02-23 18:08:22 +01:00
Goffi
288aaca7e8 primitivus, quick_frontends: moved newMessage signal handler to quick_frontend 2015-02-23 18:04:25 +01:00
Goffi
d3dd1ce464 plugin XEP-0085: fixed bad call to udateEntityData 2015-02-23 18:04:25 +01:00
Goffi
4c3525a5f1 quick frontends(contact list): added a getFullJid method to add resource to a bare jid 2015-02-23 18:04:25 +01:00
Goffi
e541547e23 quick_frontends (contact list): use of intermediate method for showEmptyGroups and showOfflineMessages to convert bridge values to actual booleans 2015-02-23 18:04:16 +01:00
souliane
b836fef4dd quick_frontend, primitivus: use a listener to update the contact list when receiving a presence 2015-02-22 21:30:20 +01:00
souliane
8c46a23869 quick_frontend (quick_app): addListener takes a profiles_filter argument to check the profile before calling a listener (profile must be passed right after the event type in callListeners) 2015-02-22 20:39:33 +01:00
souliane
d70f08d524 plugin XEP-0085: fixes the calls to memory.deleteEntityDatum and self.updateCache (was self.updateEntityData, has been renamed to avoid confusion with the memory method) 2015-02-22 11:43:11 +01:00
souliane
ed8821d54b quick_frontend: add a 'presence' listener for the 'presenceUpdate' signal 2015-02-22 15:11:29 +01:00
souliane
cf58422fcc quick_frontend (quick_contact_list): add property roster_entities_connected and method getSpecials 2015-02-21 12:39:04 +01:00
souliane
9461ac75ce frontends: merge sat_frontends.constants to sat_frontends.quick_frontend.constants 2015-02-22 14:13:42 +01:00
souliane
fa8f119a56 quick_frontend (quick_app): fixes the call to a bridge method that was done with a JID instead of unicode 2015-02-22 13:58:33 +01:00
souliane
b5d70cbe34 core, quick_frontends: fixes one typo and a variable naming issue 2015-02-21 17:22:39 +01:00
souliane
4c7e81ad6c quick_frontend, primitivus: fixes typo between method alert and class Alert 2015-02-21 12:34:48 +01:00
souliane
269e2a7c8b frontends (quick_frontend): fixes a typo (listerner --> listener) 2015-02-20 22:06:13 +01:00
Goffi
1b684d2dba quick frontends (quick widgets): doesn't force anymore "on_new_widget" to None for on_existing_widget=C.WIDGET_RECREATE: the original behaviour for on_new_widget need to be kept 2015-02-10 19:08:01 +01:00
souliane
61f1d1de6a quick_frontend (quick_widgets): revert commit 1319 2015-02-10 10:33:54 +01:00
Goffi
662a446bb3 merges souliane commits 2015-02-09 21:40:45 +01:00
Goffi
01364793ed quick frontends(quick app): add a listeners (observer/observable) mechanism to call a callback when a event happen. Implemented an "avatar" event. 2015-02-09 21:39:51 +01:00
Goffi
b705b5688f frontends (quick frontend): use of new getEntitiesData to get cached values for avatars on profile connection. 2015-02-09 21:39:51 +01:00
Goffi
027ab18369 plugin xep-0054: various improvments on avatars management:
- avatars_cache is now managing cache load per profile
    - use of new profileConnecting method to load persistent data, this prevent to have presence_available trigger called before cache data is loaded
    - better management of avatars already in cache (prevent decoding avatars when it is already in cache)
2015-02-09 21:39:51 +01:00
Goffi
b00abe5dc7 core: added a "profileConnecting" method check:
if a plugin has a profileConnecting method, it will be called when the profile is being connected but before the client stream is started. That can be usefull if things need to be done before the communication is started: e.g. putting triggers, loading PersistentDict, etc.
2015-02-09 21:39:51 +01:00
Goffi
cdfb2c4dc6 core (memory): updateEntityData now accept a "silent" argument to avoid sending signal to frontends when updating an attribute with "signalOnUpdate" flag. 2015-02-09 21:39:51 +01:00