Commit graph libervia-backend/frontends/src/primitivus/contact_list.py
Author SHA1 Message Date
Goffi
aace5a2520 quick_frontend, primitivus (chat): mention detection in group chat + notification (mention and messages) 2016-06-27 22:37:51 +02:00
Goffi
b388d2b172 quick_frontend, primitivus: notifications refactoring
replaced old "alerts" system by a more generic one which use listeners and can activate callbacks on notification click.
2016-06-27 22:36:22 +02:00
Goffi
8851addc20 quick frontend, primitivus: quickContactList refactored to handle several profiles at once 2016-04-18 18:31:13 +02:00
Goffi
6bbcbaf522 use of /usr/bin/env instead of /usr/bin/python in shebang 2016-04-17 14:45:26 +02:00
Goffi
348be27934 copyright update 2016-01-03 16:28:30 +01:00
souliane
54e9afe5a3 quick_frontend, primitivus: display the number of alerts for each contact and not only a symbol (*) 2015-11-24 13:31:28 +01:00
souliane
cc829beac7 quick_frontend, primitivus: move code to remove a new message alert from primitivus to quick_frontend 2015-04-16 13:31:14 +02:00
Goffi
fbec02d396 2015 copyright dates update 2015-03-30 10:26:26 +02:00
souliane
1a03845539 primitivus (contact_list): fixes hide/show disconnected contacts via keyboard shortcut 2015-03-24 10:46:42 +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
Goffi
90b4969e39 primitivus (contact list): removed our own bare jid from not_in_roster 2015-02-24 18:21:03 +01:00
Goffi
8f5b116211 quick_frontends, primitivus (contact list): added nick observer + implemented onNickUpdate 2015-02-24 17:14:10 +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
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
cf106bde77 primitivus: fixes displaying online contacts when "Show offline contacts" is False 2014-10-07 11:45:34 +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
Goffi
ab8bc3cddd Primitivus: fixed focus in ContactList:
current behavious is temporary and will need to be rethinked a bit: if FOCUS_SWITCH is pressed, the focus change on top widget, if FOCUS_UP/DOWN is pressed, focus will throught contact list.
2014-09-08 18:14:51 +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
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
f3a0686176 primitivus: fixes contact group update 2014-04-27 18:22:12 +02:00
Goffi
7feab1c6d9 primitivus: removed deprecated use of set_focus 2014-03-21 15:04:03 +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
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
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
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
Goffi
e3286d5554 primitivus: disconnected contact crash fix
fix IndexError when selecting a contact and hiding disconnected ones
fix bug 47
2013-09-22 01:49:19 +02:00
Goffi
1cd98e8dea fixed licences in docstrings (they are now in comments) 2013-03-08 00:36:22 +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
4e1905c238 primitivus: Primitivus is now modal (vi-like behaviour):
- there are currently 3 modes: NORMAL, INSERTION and COMMAND
    - when a chat window is selected, INSERTION mode is set if possible
    - completion is managed according to mode. Currently only INSERTION mode do something
    - first command implementation: :quit
2012-10-21 16:40:19 +02:00
Goffi
d5fac19b9e Primitivus: present contacts in groups chat can now be clicked
- updated GenericList/List signals to manage change/click fix in urwid-satext
    - a click on a nick in a group chat create a private conversation with her, and select this conversation
    /!\ history in backend doesn't manage correctly yet the private conversations /!\
2012-10-16 01:22:40 +02:00
Goffi
8ad8ca1933 quick frontend, primitivus, wix: MUC private messages management
/!\ not fully finished, backend part is not done yet /!\
    - as resources are discarded to manage chat windows lists, a pretty dirty hack is done to work around this:
      full jid is escaped using a prefix (it becomes invalid and resource is preserved).
    - new quick_utils module, with helper methods. escapePrivate and unescapePrivate implementations
    - MUC private messages are not managed in Wix yet
2012-10-11 00:48:35 +02:00
Goffi
c520325941 frontends, core, plugin XEP-0045: leave implementation + better nick change
- memory: individual entity cache can be deleted
	- plugin XEP-0045: nick change are now detected and userChangedNick signal is sent instead of joined/left
	- plugin XEP-0045: leave implementation
	- frontends: userChangedNick signal management
	- Primitivus: an alert is shown in notification bar in case of error in sendMessage
2012-09-28 00:26:24 +02:00
Goffi
80faa0976c QuickFrontend, Primitivus, Wix: special entities management:
- MUC rooms are special entities
	- Primitivus: special entities are shown at the top of the contacts list above a divider,
	 		      presence updates are temporary ignored for them
2012-09-25 23:10:22 +02:00
Goffi
b44412ec0d core, quick_frontend, primitivus, wix: Contacts List refactoring phase 1:
- QuickContactManagement is not used anymore and will be removed, ContactList + Core are used instead
	- disconnected contacts are now displayed in Primitivus (M-d to show/hide them)
	- avatars are temporary unavailable in wix
	- new bridge method: getContactsFromGroup
2012-09-25 00:58:34 +02:00
Goffi
97420f39d5 primitivus: keep focus position in contacts list on redraw 2012-09-05 00:19:32 +02:00
Goffi
920fe825cd primitivus: fixed display for selected entity in contacts list + added indentation for status message 2012-09-04 13:36:14 +02:00
Goffi
b068c6a536 primitivus: contacts list improvments:
- icon and color are used to show availability (away, do not disturb, etc)
	- status are shown with meta-s (hidden by default)
2012-09-04 01:15:19 +02:00
Goffi
c5a930b627 Licence modification: the full project is now under AGPL v3+ instead of GPL v3+ 2012-08-01 22:53:02 +02:00
Goffi
21dbb4473a copyleft date update 2012-03-06 09:07:24 +01:00
Goffi
02509cdeb1 2011 copyright upgrade 2011-01-05 18:52:38 +01:00
Goffi
ff07dfb2b8 distutils installation script, draft 2011-01-05 01:56:36 +01:00
Goffi
e4452c4b03 Files reorganisation 2010-12-29 01:06:29 +01:00
Renamed from frontends/primitivus/contact_list.py (Previous history)