This is, however, only a half fix as this fixes that it fails when
there's None in waiting_descriptors[2], but actually, there never
should be None, so I have to investigate why there was none.
This patch is, however, correct and needed and the other queues also
have that check. It's just that I also need to fix the reason for
the None in the queue.
An idea: Currently, we don't send the message when the key has not
enough trust. How about showing the unauthenticated icon then, but
sending the message?
This workaround will still work once fallback to disco is supported,
though it SHOULD be removed then as it's not necassary anymore then.
@bct: Now we only need to get rid of that password dialog :).
We can assume the user's PC is safe, otherwise encryption won't help
anyway as the key could be stolen. If the user is too paranoid, he can
still disable it and thus also force the other end to stop logging.
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.
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?)
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