summaryrefslogtreecommitdiff
path: root/src/roster.py
diff options
context:
space:
mode:
authorlouiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13>2010-10-17 17:27:07 +0000
committerlouiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13>2010-10-17 17:27:07 +0000
commitf4c5e0a091e9e56e95ff687654e68e90dc6144e0 (patch)
treecb6ce6b15f3dad1b502f5065ebc42b9928e3d8e4 /src/roster.py
parent17ebb92ece4dc7b45b816bac660fed6ade9db0e7 (diff)
downloadpoezio-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.py13
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