diff --git a/common/jabber.py b/common/jabber.py index a0368a234..b7a7afc60 100644 --- a/common/jabber.py +++ b/common/jabber.py @@ -62,7 +62,7 @@ An example of usage for a simple client would be ( only psuedo code !) """ -# $Id: jabber.py,v 1.56 2004/01/08 15:48:59 snakeru Exp $ +# $Id: jabber.py,v 1.4 2004/01/14 01:06:27 asterix86 Exp $ import xmlstream import sha, time @@ -373,18 +373,13 @@ class Connection(xmlstream.Client): self.DEBUG("waiting for %s" % ustr(ID),DBG_NODE_IQ) while (not self._expected[ID]) and not has_timed_out: - print "tjs pas" if not self.process(0.2): return None if timeout and (time.time() > abort_time): - print "Timeout" has_timed_out = True if has_timed_out: - print "\n timeOut " self.lastErr = "Timeout" return None - print "On a eut la rep" response = self._expected[ID] - print response del self._expected[ID] if response.getErrorCode(): self.lastErr = response.getError() diff --git a/core/core.py b/core/core.py index 686284fd0..2cbcc5a83 100644 --- a/core/core.py +++ b/core/core.py @@ -112,7 +112,8 @@ class GajimCore: password = self.cfgParser.__getattr__("%s" % account+"_password") ressource = self.cfgParser.__getattr__("%s" % account+"_ressource") self.con = common.jabber.Client(host = \ - hostname, debug = [common.jabber.DBG_ALWAYS], log = sys.stderr) + hostname, debug = [common.jabber.DBG_ALWAYS], log = sys.stderr, connection=common.xmlstream.TCP, port=5222) +# hostname, debug = [common.jabber.DBG_ALWAYS], log = sys.stderr, connection=common.xmlstream.TCP_SSL, port=5223) try: self.con.connect() except IOError, e: diff --git a/plugins/gtkgui/gtkgui.glade b/plugins/gtkgui/gtkgui.glade index 0521b02ea..44c90e381 100644 --- a/plugins/gtkgui/gtkgui.glade +++ b/plugins/gtkgui/gtkgui.glade @@ -517,7 +517,7 @@ False False GTK_JUSTIFY_LEFT - False + True False 0.95 0.5 @@ -3231,7 +3231,7 @@ when NOT onlie True - dialog1 + Message GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False @@ -3952,18 +3952,4 @@ when NOT onlie - - True - window1 - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - True - False - - - - - - diff --git a/plugins/gtkgui/gtkgui.py b/plugins/gtkgui/gtkgui.py index b06491d08..fc2b5b95a 100644 --- a/plugins/gtkgui/gtkgui.py +++ b/plugins/gtkgui/gtkgui.py @@ -770,13 +770,19 @@ class roster: if u.show != 'offline' or self.showOffline or 'Agents' in u.groups: for g in u.groups: if not self.l_group.has_key(g): + self.l_group[g] = {'iter':None, 'hide':False} + if not self.l_group[g]['iter']: iterG = self.treestore.append(None, (self.pixbufs['closed'], g, 'group', FALSE, self.grpbgcolor, TRUE)) - self.l_group[g] = iterG + self.l_group[g] = {'iter':iterG, 'hide':False} newgrp = 1 if g == 'Agents': - iterU = self.treestore.append(self.l_group[g], (self.pixbufs[u.show], u.name, 'agent', FALSE, self.userbgcolor, TRUE)) + iterU = self.treestore.append(self.l_group[g]['iter'], \ + (self.pixbufs[u.show], u.name, 'agent', FALSE, \ + self.userbgcolor, TRUE)) else: - iterU = self.treestore.append(self.l_group[g], (self.pixbufs[u.show], u.name, u.jid, TRUE, self.userbgcolor, TRUE)) + iterU = self.treestore.append(self.l_group[g]['iter'], \ + (self.pixbufs[u.show], u.name, u.jid, TRUE, \ + self.userbgcolor, TRUE)) self.l_contact[u.jid]['iter'].append(iterU) if newgrp == 1: #expand new groups @@ -785,7 +791,8 @@ class roster: def redraw_roster(self): for j in self.l_contact.keys(): self.l_contact[j]['iter'] = [] - self.l_group = {} + for g in self.l_group.keys(): + self.l_group[g]['iter'] = None self.draw_roster() def draw_roster(self): @@ -808,6 +815,9 @@ class roster: show = 'offline' user1 = user(ji, name, tab[jid]['groups'], show, tab[jid]['status'], tab[jid]['sub'], '') self.l_contact[ji] = {'user':user1, 'iter':[]} + for i in tab[jid]['groups'] : + if not i in self.l_group.keys(): + self.l_group[i] = {'iter':None, 'hide':False} def update_iter(self, widget, path, iter, data): jid = self.treestore.get_value(iter, 2) @@ -829,7 +839,14 @@ class roster: else: if show == 'offline' and not self.showOffline: for i in self.l_contact[jid]['iter']: - self.treestore.remove(i) + parent_i = self.treestore.iter_parent(i) + if self.treestore.iter_n_children(parent_i) == 1: + self.treestore.remove(i) + grp = self.treestore.get_value(parent_i, 1) + self.treestore.remove(parent_i) + self.l_group[grp]['iter'] = None + else: + self.treestore.remove(i) self.l_contact[jid]['iter'] = [] else: for i in self.l_contact[jid]['iter']: @@ -913,7 +930,7 @@ class roster: self.treestore.clear() #l_contact = {jid:{'user':_, 'iter':[iter1, ...]] self.l_contact = {} - #l_group = {name:iter} + #l_group = {name:{'iter':_, 'hide':Bool} self.l_group = {} def on_treeview_event(self, widget, event):