Commit graph libervia-backend/frontends/src/quick_frontend/quick_app.py
Author SHA1 Message Date
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
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
ed8821d54b quick_frontend: add a 'presence' listener for the 'presenceUpdate' signal 2015-02-22 15:11:29 +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
269e2a7c8b frontends (quick_frontend): fixes a typo (listerner --> listener) 2015-02-20 22:06:13 +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
8ce5c1862b core, frontends: refactoring to base Libervia on QuickFrontend (big mixed commit):
/!\ not finished, everything is still instable !
    - bridge: DBus bridge has been modified to allow blocking call to be called in the same way as asynchronous calls
    - bridge: calls with a callback and no errback are now possible, default errback log the error
    - constants: removed hack to manage presence without OrderedDict, as an OrderedDict like class has been implemented in Libervia
    - core: getLastResource has been removed and replaced by getMainResource (there is a global better management of resources)
    - various style improvments: use of constants when possible, fixed variable overlaps, import of module instead of direct class import
    - frontends: printInfo and printMessage methods in (Quick)Chat are more generic (use of extra instead of timestamp)
    - frontends: bridge creation and option parsing (command line arguments) are now specified by the frontend in QuickApp __init__
    - frontends: ProfileManager manage a more complete plug sequence (some stuff formerly manage in contact_list have moved to ProfileManager)
    - quick_frontend (quick_widgets): QuickWidgetsManager is now iterable (all widgets are then returned), or can return an iterator on a specific class (return all widgets of this class) with getWidgets
    - frontends: tools.jid can now be used in Pyjamas, with some care
    - frontends (XMLUI): profile is now managed
    - core (memory): big improvment on entities cache management (and specially resource management)
    - core (params/exceptions): added PermissionError
    - various fixes and improvments, check diff for more details
2015-01-24 01:00:29 +01:00
Goffi
e4708c9cbb quick_frontend, primitivus: multi-profiles refactoring part 1 (big commit, sorry :p):
This refactoring allow primitivus to manage correctly several profiles at once, with various other improvments:
    - profile_manager can now plug several profiles at once, requesting password when needed. No more profile plug specific method is used anymore in backend, instead a "validated" key is used in actions
    - Primitivus widget are now based on a common "PrimitivusWidget" classe which mainly manage the decoration so far
    - all widgets are treated in the same way (contactList, Chat, Progress, etc), no more chat_wins specific behaviour
    - widgets are created in a dedicated manager, with facilities to react on new widget creation or other events
    - quick_frontend introduce a new QuickWidget class, which aims to be as generic and flexible as possible. It can manage several targets (jids or something else), and several profiles
    - each widget class return a Hash according to its target. For example if given a target jid and a profile, a widget class return a hash like (target.bare, profile), the same widget will be used for all resources of the same jid
    - better management of CHAT_GROUP mode for Chat widgets
    - some code moved from Primitivus to QuickFrontend, the final goal is to have most non backend code in QuickFrontend, and just graphic code in subclasses
    - no more (un)escapePrivate/PRIVATE_PREFIX
    - contactList improved a lot: entities not in roster and special entities (private MUC conversations) are better managed
    - resources can be displayed in Primitivus, and their status messages
    - profiles are managed in QuickFrontend with dedicated managers


This is work in progress, other frontends are broken. Urwid SàText need to be updated. Most of features of Primitivus should work as before (or in a better way ;))
2014-12-10 19:00:09 +01:00
souliane
5781d78d2b frontends (quick_app): fixes wrong JID construction when processing getPresenceStatuses result 2014-10-18 13:02:41 +02:00
souliane
c850615a2d primitivus: implement parameter "Show empty groups" 2014-10-06 13:54:41 +02:00
souliane
e554934f31 primitivus: implement "Show offline contacts" parameter (sync with "DISCONNECTED_HIDE" action key) 2014-10-06 12:44:58 +02:00
souliane
7a344fcf5d frontends: printInfo and printMessage timestamp attribute defaults to None instead of '' 2014-10-04 10:23:13 +02:00
Goffi
b41bda0a18 frontends: use of new "info" type in newMessage 2014-09-05 19:29:30 +02:00
souliane
987cfbf89d move sat.tools.jid to sat_frontends.tools.jid 2014-08-26 12:52:46 +02:00
souliane
162b310cd7 quick_frontend: fixes an issue with the profile in the signal handler 2014-08-21 22:46:57 +02:00
Goffi
c75cee8241 frontends: signals are managed in a more generic way 2014-08-11 19:10:24 +02:00
Goffi
08be0324a6 core, frontends (menus): MENU_ROOM and MENU_SINGLE are now managed 2014-06-26 00:05:20 +02:00
souliane
7fd9b694a6 frontends (quick_frontend): fixes the handling of asyncConnect failure 2014-06-15 16:09:30 +02:00
souliane
a5dd35ce65 frontends: async failures are more detailed (full class name + error message) 2014-06-07 15:39:20 +02:00
souliane
244a33d2c7 core (xmpp), stdui (profile_manager), bridge, frontends: raise an exception if the XMPP connection failed instead of sending a signal 2014-05-23 09:59:35 +02:00
souliane
f09fb76752 frontends: fixes bug with private message introduced with revision 1000 (6f1e03068b5f) + display messages from contacts not in roster 2014-05-29 14:34:01 +02:00
souliane
8be7416569 core, stdui (profile manager), quick_app: ask for another XMPP password when profile authentication succeed but XMPP connection fails 2014-05-21 23:15:01 +02:00
souliane
fa430d5105 quick_app, primitivus: update the connection mechanism to ask for non empty profile passwords 2014-05-07 16:11:32 +02:00
souliane
1eeddf5900 better PEP-8 compliance 2014-05-07 15:44:31 +02:00
Goffi
468206e529 quick_frontend: use of new logging system 2014-05-05 18:58:34 +02:00
Goffi
7aa7895208 quick frontends: first connection fixes 2014-03-31 15:22:35 +02:00
Goffi
382d49a628 core (memory): entities cache improvments:
- entities cache is no more limited to bare jid
    - resources are now automatically updated in bare jid cache
2014-03-28 18:07:17 +01:00
souliane
bc9efbda82 bridge, frontends: display presence with the highest priority + reset your own presence when you (dis)connect 2014-03-20 21:18:18 +01:00
souliane
67d15eb488 primitivus: display chat states (with symbols) for MUC participants 2014-03-17 13:24:55 +01:00
souliane
73b374f6fc quick_app: better PEP-8 compliance 2014-03-16 21:25:49 +01:00
Goffi
2ca6efd8cc dates update 2014-02-04 18:32:49 +01:00
Goffi
fc003ecf77 frontends: fixed sendMessage calls, sendMessage is now async so callback and errback need to be specified + redraw in PrimivitusApp.notify 2014-01-03 21:25:07 +01:00
Goffi
5a00dc9503 core: i18n refactoring:
- _() is no more installed in __builtin__
    - instead, there is a new sat.core.i18n module
    - added D_() method for deferred translation
    - languageSwitch method allow to dynamically change translation language
    - import gettext is tested against ImportError, and dummy methods are used when not available (mainly useful for Libervia)
2013-12-29 17:06:01 +01:00
souliane
74fc11535c quick_frontend: fix presence/status update (do not share between different resources) 2013-12-18 09:55:02 +01:00
souliane
4d393d47c0 frontends: set and retrieve your own presence and status 2013-11-25 01:56:07 +01:00
souliane
f5dd3f2265 frontends: define the constants with classes and inheritance instance of using __builtin__ 2013-11-23 10:21:40 +01:00
souliane
b824f9c2ce frontends: presence update in quick app:
- bug fix "s/type/show/g"
- better PEP8 compliance
- all "show" value different then "unavailable" mean (more or less) "online"
2013-11-24 11:22:20 +01:00
Goffi
9d42c269db core: sendMessage's options parameter has been renamed to extra to be consistent with newMessage 2013-11-13 13:58:10 +01:00
souliane
36cea6fc91 tools: renamed tools.jid.JID attribute "short" to "bare" 2013-10-29 16:26:55 +01:00
souliane
cac3cd810f primitivus, wix: auto-display MUC dialog after it has been joined:
- a patch will follow to add a parameter for the user to choose between "always open", "never open" and "ask each time".
2013-10-28 18:29:34 +01:00
souliane
9378880e62 plugin XEP-0085: renamed category and parameter 2013-09-07 19:50:12 +02:00
souliane
9cb7071e89 plugin XEP-0085: Chat State Notifications
- new "options" parameter to send chat states
    - plugin command export: messages without body are now delivered (since all the chat states other than "active" need them)
2013-09-05 20:48:47 +02:00
Goffi
8e2f394b5b core, bridge, jp, quick_frontend: SàT stop more gracefully if bridge can't be initialised:
- new BridgeInitError and BridgeExceptionNoService are in core.exceptions
    - D-Bus NotSupported is catched in bridge, and launch a BridgeInitError
    - BridgeInitError stop SàT core, jp, and quick_frontends with an explanation message.
fix bug 27
2013-06-21 02:00:37 +02:00
Thomas Preud'homme
1005013314 quick frontend, jp: fix locales 2013-04-07 22:54:47 +02:00
Goffi
1cd98e8dea fixed licences in docstrings (they are now in comments) 2013-03-08 00:36:22 +01:00