Age | Commit message (Collapse) | Author |
|
The roster wrapper sucks and is way too slow. Halve refresh time by more
than 50% using manually managed counters.
|
|
Conflicts:
src/bookmark.py
src/config.py
src/connection.py
src/core/commands.py
src/core/core.py
src/core/handlers.py
src/windows/info_bar.py
src/windows/muc.py
src/windows/roster_win.py
src/windows/text_win.py
src/xhtml.py
|
|
|
|
|
|
fixes whitespace issues, some builtin overrides, and some enormous lines
might make poezio run nanoseconds faster!
|
|
.
|
|
- No idea why subclasses of ConversationTab were working before
(info_header was overriden with None in __init__)
- Or why the date parsing worked (“Exeception”)
- Some more reformatting with pylint indications
- Document each module in the tabs module
|
|
|
|
|
|
(why did that even work before)
|
|
it might be a little slower than before (more checks)
|
|
- now case-insensitive
- search in the bare jid instead of userpart only (and still in roster
names)
- do not display groups when searching
- display offline contacts
- do not expand resources if they were before the search
|
|
When an external (or internal) event may cause the order of the
cache to be modified, or new elements to be added, schedule it
for a rebuild. Otherwise, don’t, and only rebuild it when
refreshing (that should improve refresh speed a lot).
Also, if the position in the roster is further than the total size
of the roster, go back to the top instead of displaying an empty
window with “+++”.
|
|
- Do not crash because of low disk space
- Notify the user whenever it happens
- A few functions now return a boolean instead of nothing
- Config.silent_set is Config.set_and_save without toggle and returning
strings. It is used whenever we don’t need set_and_save
- Config.set_and_save now returns a tuple (that can be passed directly
to core.information())
TODO: display the precise error to the user (instead of “unable to…”)
|
|
(add a defaultdict to keep the folded state in each group)
|
|
- Disable the history when searching
- → allow moving the cursor around to select a contact when searching
- fix refresh issues
|
|
|
|
|
|
(force every file opening to be with the utf-8 encoding)
|
|
|
|
- http://pastebin.archlinux.fr/449676
|
|
- get rid of the ugly blacklist thing that didn’t work sometimes
|
|
|
|
- Change the separator from _ to :
- Move the functions away in another module to avoir cluttering the
roster code
- Add a case-sensitive sort (“sname”)
|
|
- put the online contacts at the beginning of the list
- allows, e.g. jid_reverse_online_reverse, to put offline contacts at
the start of the group, in alphabetical order
|
|
|
|
- defaults to "name" (sort by group name)
- document it
- also, micro-optimize get_nb_connected_contacts()
|
|
- defaults to jid_show (which means that they are sorted into sub-groups
by show and are sorted by JID inside those)
- See the default config file or the documentation for details
|
|
Contacts are first sorted alphabetically, and then sorted again
depending on their show; since the python sorts are stable, the order
will remain and the sub-groups (corresponding to one show type) will be
sorted alphabetically too.
|
|
|
|
|
|
Add a blacklist inside the roster that contains the bare JIDs of all the
rooms ever joined in this session, so that no JID using this server will
ever be shown as getting “offline”.
If there is a cleaner way to do that (discriminating JIDs), I welcome it.
|
|
|
|
|
|
|
|
Removes for Roster:
- empty() → Ø
- get_contact_len() → Ø
- remove_contact_from_group() → Ø
- add_contact_to_group() → Ø
- add_contact() → add()
- remove_contact() → __delitem__()
- get_contact_by_jid() → __getitem__()
- edit_groups_of_contact() → update_contact_groups()
Removes for RosterGroup:
- has_contact() → __contains__()
- add_contact() → add()
- remove_contact() → remove()
- is_empty() → __len__()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
User can now decide to accept or deny a subscription, in
the roster
|
|
|
|
|