Commit graph

1231 commits

Author SHA1 Message Date
Stephan Erb
1b2e12057c Some cleanups and an attempt to fix the MUC highlight problem. 2008-07-21 21:44:40 +00:00
Brendan Taylor
913c434c80 update status in resource-specific chat windows 2008-07-19 18:31:45 +00:00
Stephan Erb
d83f9da555 Improved groupchat minimization:
* partly rewrote join_room because it was hard to read
 * Correctly handle invites from anonymous rooms. Fixes #4057
 * Use HIG dialog for invitation requests
 * Fix bug where minimized groupchats where hidden after a reconnect
 * Removed some duplicated code
2008-07-19 17:36:21 +00:00
js
1fabaa8844 Keep last status on autoconnect. 2008-07-16 15:50:51 +00:00
Stephan Erb
c99048b02f Fix two caps related tracebacks:
Quick fix: What does not exist cannot support anything. Fixes #4031.
Fix variable referencing. Fixes #4076.
2008-07-08 19:15:54 +00:00
Stephan Erb
40c2b97c99 Redraw family after readding. See r9894 2008-07-06 22:55:42 +00:00
Stephan Erb
0bb1f1d656 Correctly readd a metacontact family after removing a single brother.
* Coding standards
* remove useless key-list creation
2008-07-06 22:24:58 +00:00
Stephan Erb
eda061e15d Don't crash when we receive contacts that have a group tag assigned multiple times.
Remove some usage of has_key() in the contacts module. It is a bit slower (method overhead) and will be deprecated soon.
In roster_window. make a small if-clause more pythonic.
2008-07-06 21:35:19 +00:00
Yann Leboulanger
74c53da32a fix arguments order in contacts.py, some coding standards. should fix #4081 2008-07-05 19:04:27 +00:00
Stephan Erb
0671e6c865 Correctly count metacontacts in non merged accounts mode if we have metacontacts over several accounts. 2008-07-05 06:33:49 +00:00
Stephan Erb
215fdc964a Count metacontacts only once.
Remove timing information for roster drawing.
2008-07-04 21:29:46 +00:00
Yann Leboulanger
26785a25f1 fix traceback when unblocking a group. fixes #4074 2008-07-02 10:57:31 +00:00
js
0405981b15 Added a function to check for specific features. This makes
implementing a later coming fallback to disco rather easy.
2008-07-02 09:20:49 +00:00
js
38760989d1 Typo. 2008-07-02 08:47:01 +00:00
js
62fe1c72e3 Use caps to determine remote clients' support for specific features.
Caps is now used for: File Transfers, MUC Invites, Ad-Hoc Commands.

TODO:
 * Also handle it this way for typing notifications
   (This might give some trouble / compatibility issues)
 * Fall back to service discovery if no caps are available. Otherwise,
   we break compatibility with a lot of clients. (Asterix?)
2008-07-01 10:26:50 +00:00
Stephan Erb
a836c7eca9 Fix really bad modelfilter bug that may have caused segfaults.
This also fixes the problem of showing the wrong icon when expanding metacontacts.

Example:
We have the groups A, B, C in our child model
But only A and C are visible (and therefore in modelfilter)

Imagine we have a childIter_G pointing to group B
Getting its path in the childmodel, will give us (lets say) 2
2 means now the second group/row in the CHILD model
We now pass this to the tree and tell him "Expand row 2"
The tree itself is looking at the 2nd row of modelfilter: "Hey modelfilter, expand row number 2"

For modelfilter row number 2 is C and NOT B
2008-06-30 22:23:07 +00:00
Stephan Erb
a1f595b78f Commit two new assert statements in roster window.
We are not absolutely sure why some things are happening. Maybe that will help tracing the strange bugs.
2008-06-30 21:27:04 +00:00
Yann Leboulanger
2f14a995ee don't send our presence when we unblock a contact and we are invisible. Fixes #4001 2008-06-27 16:48:05 +00:00
Brendan Taylor
b21a1e2489 win.get_controls() isn't needed anymore 2008-06-26 23:37:12 +00:00
Brendan Taylor
e3613be1fa first pass at stripping out the one-tab-per-session code 2008-06-26 23:36:58 +00:00
Stephan Erb
2cd24aa8ae Do not update metacontacts when nothing has changed. Fixes sending metacontact info to server when we expand a groupchat. 2008-06-26 14:09:27 +00:00
Stephan Erb
2c83acb614 Various roster_window and modelfilter fixes.
* Do not double escape group names
 * Try to remove SelfContact on disconnect only once
 * Do not show minimized groupchats which were minimized after disconnect
 * Always reset group expand state after adding a contact to roster.
2008-06-25 13:15:05 +00:00
Yann Leboulanger
9457c28a63 don't try the old (XEP-018) way to go invisible. It's not XMPP complient. That prevent to show the we are invisible but we are not. Fixes #4012 2008-06-25 09:25:43 +00:00
Stephan Erb
e17cbf0da0 Remove unused function. Make remove_groupchat more solid. 2008-06-24 22:15:10 +00:00
Yann Leboulanger
9512a941ad mood and activity menuitem changes to Checkmenuitem 2008-06-23 19:42:40 +00:00
Yann Leboulanger
bed750410e ability to ignore a transport contact. see #3984 2008-06-23 16:21:21 +00:00
Stephan Erb
473e2cdbd8 Handle remote roster changes.
* Don't traceback when another resource of us is moving contacts to new/different groups.
 * Always refilter all involved groups.
 * It is now possible to not update contacts severside when using add/remove_from_groups
2008-06-17 19:25:17 +00:00
Jean-Marie Traissard
1712fee325 [sgala] Prevent TB 2008-06-16 09:51:03 +00:00
Yann Leboulanger
c967351d36 don't allow to block a transport contact. Fixes #3984 2008-06-16 07:31:26 +00:00
Stephan Erb
df1be596e4 Correctly update metacontact icon on expand when a child has pending events. 2008-06-16 00:00:52 +00:00
Stephan Erb
0d27f521d4 Do not hide big brother contacts when a child has pending events. Fixes #3921 2008-06-15 23:51:40 +00:00
Stephan Erb
c5f7922e29 Two roster sort fixes.
* Change metacontact ordering. Fallback to priority only if two contacts have the same show, not the other way round.
 * Move contacts that just signed out to the bottom of the group, not to the top.
2008-06-15 23:03:51 +00:00
Jean-Marie Traissard
ca457a7ac2 groups :
-Use a method to get_shown_groups (possibly more work to do (special group attribute))
-Show contact only if contact.ask, not according to modified xep 0162 logic. (I don't get neither the xep
meaning, neither this modified logic, can you explain steve-e ?)
-Remove contact before we modify it req_sub(). Else we can't remove it because iter is not found.
-When removing a contact and we let him in see us (observer), manually set show to offline, so he is not set as
visible.
-Remove observer from observer group if we asked him auth (I mean before he answer). Xep 0162 say he is not an
observer then. Fix contact staying in observer group when we get auth later.
-Renaming groups seems fixed (it's an accident :p )

More work on group to follow
2008-06-15 21:48:13 +00:00
Stephan Erb
5ddb2829f3 Do not instantly recalibrate metacontacts when the last online brother signs out. Fixes #3880. 2008-06-13 22:54:36 +00:00
Brendan Taylor
e4aa0de7f7 don't make submenus in the Actions menu if we've only got a zeroconf account and a normal account 2008-06-13 02:18:16 +00:00
Stephan Erb
f69299f6ff Add missing import. Fixes PEP tune checkbox toggeling. 2008-06-11 23:56:11 +00:00
Stephan Erb
f4a10ad5a9 Comment non working callback, but still keep it for reference. 2008-06-11 21:44:04 +00:00
Stephan Erb
d5bbc403c9 Various roster fixes.
* don't traceback when selfcontact is disconnecting
 * make more use of "remove contact after last event removed" mechanism
 * correctly redraw bigbrothers after status change
 * handle situation where we receive a message, go offline without reading it and reconnect after another resource has moved the sending contact to another group.

know bugs: newly added transports added to "not in roster group"
2008-06-10 21:18:55 +00:00
Stephan Erb
ce0910321d Some fixes for draw_contact.
* show correct expand icon for metacontacts in different groups
 * only redraw parent when really necessary
 * remove obscure code
 * fix draw_parent_contact
2008-06-09 22:53:45 +00:00
Stephan Erb
11f9800bec Create new method for extracting the nearby_family. DRY! 2008-06-09 21:01:12 +00:00
Stephan Erb
6e442a50c8 Fix var usage.
(Commit correct hg rev :-) )
2008-06-09 18:31:05 +00:00
Stephan Erb
db5b3c724b Introduce _recalibrate_metacontact_family()
Do not risk invalidating child_model iters when redrawing a contact.
Move logic to update the family when the big brother has changed to an extra function.

ToDo:
 * nearby_family code duplication
 * totaly restructure and cleanup draw_contact
2008-06-09 18:27:40 +00:00
Jean-Marie Traissard
f9c981df5d -Set General and Observer group directly in contact instance, instead of calculating it each time
-When creating self-contact contact instance, store it with group 'self_contact', so it never goes in General
-Make general group not be seen visible because of self contact even if self.regroup
-Remove the self contact instance itself too when WE deconnect or when IT deconnect, so we will
not see it as offline if refilling roster (regroup account for example)
2008-06-08 21:27:31 +00:00
js
c2eb4b5a9f Completely remove OTR.
Sorry, it just wasn't maintainable. The problem is the current libotr
API. I'm sick of working around the strange libotr API, sick of getting
HTML messages, sick of losing messages. The final argument for
completely removing it was that we can't get the message ID of a sent
msg anymore - which we need. I tried to work around this as well, but
there seems to be no way to wait for a signal in glib the way I would
need it for the workaround (I wanted to emit a signal in inject_message
and then wait for it after the call to otr_message_fragment_and_send
so the signal can pass us the message id). And the last reason is that
we're heading towards a new release and thus want to stabilize the code,
thus don't have time to work around even more libotr API strangeness.
I will give feedback to the libotr developers, who are currently
planning a new API, so that we can hopefully see OTR support once again
as soon as libotr4 is released.

Kjell already announced that he will continue his branch:
https://code.launchpad.net/~afflux/gajim/otr

I really hope the libotr devs will provide a sane API with libotr4 so
we can integrate OTR support again.

Oh, and I added one more try/except block for OS X.
2008-06-08 15:27:05 +00:00
Jean-Marie Traissard
0d645437d8 Don't act like if self contact is in group General. See #4000.
Don't make General group visible when we have self contact.
2008-06-08 14:35:40 +00:00
Jean-Marie Traissard
40e360d1c8 [modelfilter]Fix row behind that expand when moving contact problem.
This code seems not necessary. But why does that created that problem ?
It seems for some reason, path is not good. Probably the iter itself is not good. So expand act on the wrong
group (I can proove that).
2008-06-08 13:20:46 +00:00
js
03d68c0d26 Be more specific on excepts. 2008-06-08 10:19:26 +00:00
js
8def8de5c7 Make Gajim work on OS X again.
Someone completely broke it by trying to port it to native GTK.
However, that person didn't only break it with X11 GTK, with
native GTK it wasn't working correctly either.
Fixed it by adding lots of try/except blocks. Someone definitely
deserves to be slaughtered for completely breaking it on OS X…
2008-06-07 20:42:15 +00:00
Jean-Marie Traissard
7fbfa0547d Regroup window.present() calls. See #3908. 2008-06-05 15:09:17 +00:00
Stephan Erb
fa48c480ff Fix modelfilter regression. Renaming a group duplicated it.
Even make it work in merged accounts mode.
2008-06-02 17:59:59 +00:00