Commit graph libervia-backend/frontends/src/primitivus/chat.py
Author SHA1 Message Date
souliane
2203e6aa52 quick_frontend, primitivus: fixes a couple of issues:
- chat: notification was raising an error when you just entered the room and self.nick is None
    - quick_widget: deleting a widget was modifying a dict while looping on it + unselect widget when it's being deleted
2015-04-16 17:17:28 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
souliane
ff0166e95f quick_frontend, primitivus: various fixes (MUC and cached signals):
- actually call the cached signals, everything was there but the call was not done
    - display '[]' instead of '[None]' when group message coming from the room (no resource)
    - catch the exception when trying to delete an occupant who's not in the room
    - do not cache a "main resource" for MUC entities
2015-03-25 15:25:51 +01:00
souliane
30f1169e22 primitivus (Chat): fixes updating the occupant list when someone leaves, changes his nick or is added in last position 2015-03-25 10:09:59 +01:00
souliane
e81c92c549 quick_frontend, primivitus: revert changes made in rev 1386 (1f3513cfb246) concerning ChatText.nick: was mixing MUC occupant nick and roster contact nick/node 2015-03-25 09:42:05 +01:00
souliane
78f14091b1 quick_frontend, primitivus: remove QuickChat.updateEntityState and QuickChat.setContactStates, use more general QuickChat.update (also called when joining the room to initialise the occupants list) 2015-03-24 17:31:08 +01:00
souliane
5c1fe63580 quick_frontend, primivitus: remove QuickChat.getUserNick + primivitus ChatText gets the user nick directly from parent Chat instance 2015-03-23 15:38:32 +01:00
souliane
83af62d142 quick_frontend, primitivus (chat): merge setOccupantStates and setContactStates 2015-03-23 09:34:23 +01:00
souliane
6dc8b211bf quick_frontend, primitivus: better PEP-8 compliance + remove/rename some (Quick)Chat attributes:
- remove QuickChat.id, use QuickChat.target instead
    - rename Chat.present_panel to Chat.occupants_panel
    - rename Chat.present_wid to Chat.occupants_list
2015-03-22 14:20:19 +01:00
souliane
14f4b4b8ec quick_frontends, primitivus: move the chat states logic to quick_frontend 2015-03-20 16:28:19 +01:00
souliane
c6419871ac quick_frontends, primitivus: know who are the MUC occupants from the presence informations:
- QuickChat.occupants is now a property using cached information
    - some MUC handlers are no more needed, the presence handler is enough
2015-03-20 16:25:38 +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
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
7a344fcf5d frontends: printInfo and printMessage timestamp attribute defaults to None instead of '' 2014-10-04 10:23:13 +02:00
Goffi
171f1677d2 Primitivus (xmlui): fixed window closing on save params + removed now unused onConfigureRoom in Chat 2014-09-08 18:32:36 +02:00
Goffi
9a04bc6d32 Primitivus (file transfer): an error popup is shown when bad unicode is used in path, and an info popup is show to indicate that the file request has been sent 2014-09-08 15:50:51 +02:00
Goffi
17b1f461db primivitus: info messages now use "info_msg" attribute (yellow) 2014-09-05 19:29:30 +02:00
Goffi
c45ba71f2a primitivus: use of new keys modules from Urwid SàText 2014-09-04 19:05:57 +02:00
souliane
987cfbf89d move sat.tools.jid to sat_frontends.tools.jid 2014-08-26 12:52:46 +02:00
Goffi
706782eeb1 primivitus: fixed jid escaping for dynamic menus in one2one chat 2014-08-25 21:32:23 +02:00
souliane
7afc9b83fa primitivus (chat): fixes the messages display when opening a new chat window 2014-08-24 18:39:32 +02:00
souliane
3cee372b02 quick_frontend, primitivus: add primitivus command ":history [limit]" (default value for limit is 50) 2014-08-23 20:26:04 +02:00
souliane
e72f7d728c primitivus: prevent a notification flood when displaying the history 2014-08-22 12:31:55 +02:00
Goffi
b6563c596b 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
2014-08-13 14:48:49 +02:00
Goffi
08be0324a6 core, frontends (menus): MENU_ROOM and MENU_SINGLE are now managed 2014-06-26 00:05:20 +02:00
souliane
a5dd35ce65 frontends: async failures are more detailed (full class name + error message) 2014-06-07 15:39:20 +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
Goffi
7feab1c6d9 primitivus: removed deprecated use of set_focus 2014-03-21 15:04:03 +01:00
souliane
67d15eb488 primitivus: display chat states (with symbols) for MUC participants 2014-03-17 13:24:55 +01:00
souliane
24beb81688 misc: fix unnamed arguments in format strings 2014-02-17 14:58:26 +01:00
Goffi
4d14048f8c frontends: fixed /me usage + renamed a couple of "type" parameters to type_ 2014-02-04 18:51:16 +01:00
Goffi
2ca6efd8cc dates update 2014-02-04 18:32:49 +01:00
Goffi
72fd99f679 plugin XEP-0045, primitivus: added MUC configuration 2014-02-04 18:06:12 +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
f3abbcb467 primivitus: do not notify when an empty message is received 2013-11-25 12:36:49 +01:00
souliane
36cea6fc91 tools: renamed tools.jid.JID attribute "short" to "bare" 2013-10-29 16:26:55 +01:00
souliane
ed7fd60e98 primitivus: code factorization for user notification 2013-10-21 15:52:28 +02:00
souliane
f9bd9dd9b2 misc: a few "cosmetic" changes (PEP 8...) 2013-09-05 20:57:00 +02:00
souliane
41375e7bde primitivus: chat state implementation
for now chat states are displayed in primitivus surrended text (after the contact's name)
2013-09-08 19:13:02 +02:00
Goffi
fc74cc35d0 Primitivus: fixed xmlui/chat bad contents change 2013-03-10 20:54:45 +01:00
Goffi
1cd98e8dea fixed licences in docstrings (they are now in comments) 2013-03-08 00:36:22 +01:00
Goffi
05c53bf2d6 primitivus: fixed urwid issues with recent urwid versions
fix bug 18
2013-02-24 13:57:37 +01:00
Emmanuel Gil Peyrot
27b3592e16 Remove trailing whitespaces. 2013-01-18 17:55:34 +01:00
Goffi
def79e44cd dates update 2013-01-07 23:30:13 +01:00
Goffi
297b439369 frontends: incoming files transfer management:
- quick app: getWaitingConf is used on profile connexion
    - primitivus: askConfirmation is now managed, use new 'dir' style of FileDialog
2012-11-14 20:37:15 +01:00
Goffi
9351b96cdb primitivus: fixed info messages timestamp 2012-10-28 17:59:24 +01:00
Goffi
7b62c7eef1 primitivus: fixed double messages discarding 2012-10-21 13:23:21 +02:00
Goffi
7c6c829ea5 primitivus: better chat text insertion in chat window 2012-10-21 12:55:47 +02:00