diff options
author | louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13> | 2010-10-17 17:27:07 +0000 |
---|---|---|
committer | louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13> | 2010-10-17 17:27:07 +0000 |
commit | f4c5e0a091e9e56e95ff687654e68e90dc6144e0 (patch) | |
tree | cb6ce6b15f3dad1b502f5065ebc42b9928e3d8e4 /src/roster.py | |
parent | 17ebb92ece4dc7b45b816bac660fed6ade9db0e7 (diff) | |
download | poezio-f4c5e0a091e9e56e95ff687654e68e90dc6144e0.tar.gz poezio-f4c5e0a091e9e56e95ff687654e68e90dc6144e0.tar.bz2 poezio-f4c5e0a091e9e56e95ff687654e68e90dc6144e0.tar.xz poezio-f4c5e0a091e9e56e95ff687654e68e90dc6144e0.zip |
Multi-resource. Handling <presence /> stanzas. But the normal conversation window is broken :^). Fixed #1888
Diffstat (limited to 'src/roster.py')
-rw-r--r-- | src/roster.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/roster.py b/src/roster.py index 72f885bc..03a5f93a 100644 --- a/src/roster.py +++ b/src/roster.py @@ -14,13 +14,11 @@ # You should have received a copy of the GNU General Public License # along with Poezio. If not, see <http://www.gnu.org/licenses/>. -from contact import Contact - -from common import debug +from contact import Contact, Resource class Roster(object): def __init__(self): - self._contacts = {} # key = jid; value = Contact() + self._contacts = {} # key = bare jid; value = Contact() self._roster_groups = [] def add_contact(self, contact, jid): @@ -97,6 +95,8 @@ class Roster(object): if not group.folded: for contact in group.get_contacts(): l += 1 + if not contact._folded: + l += contact.get_nb_resources() return l def __repr__(self): @@ -115,10 +115,10 @@ class RosterGroup(object): Online/Offline or whatever """ def __init__(self, name, folded=False): - # debug('New group: %s \n' % name) self._contacts = [] self.name = name self.folded = folded # if the group content is to be shown + def is_empty(self): return len(self._contacts) == 0 @@ -143,3 +143,6 @@ class RosterGroup(object): def __repr__(self): return '<Roster_group: %s; %s>' % (self.name, self._contacts) + + def toggle_folded(self): + self.folded = not self.folded |