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):