diff options
author | Ummu <jeff@ummu.org> | 2009-08-24 14:49:19 +0400 |
---|---|---|
committer | Ummu <jeff@ummu.org> | 2009-08-24 14:49:19 +0400 |
commit | 25dc3f3a837cdf033a7986467f97da8907b2bbe8 (patch) | |
tree | 9b6bd39e67b019b12d035b03cee702b6f48adfed | |
parent | 1af82499712b3e5c77888bf2f0e9237e2ebcaaa9 (diff) |
sends remove stanza when line is removed
-rw-r--r-- | src/common/connection.py | 10 | ||||
-rw-r--r-- | src/common/jingle.py | 4 | ||||
-rw-r--r-- | src/whiteboardwidget.py | 7 |
3 files changed, 19 insertions, 2 deletions
diff --git a/src/common/connection.py b/src/common/connection.py index 8d206e034..6ba221b02 100644 --- a/src/common/connection.py +++ b/src/common/connection.py @@ -1987,6 +1987,16 @@ class Connection(ConnectionHandlers): 'parent':parent} sxe.addChild(name='new', attrs=attrs) self.connection.send(message) + + def delete_whiteboard_node(self, jid, sid, rids): + message = common.xmpp.Node(node="<message to='%s' xmlns='jabber:client'/>" + % jid) + sxe = message.addChild(name='sxe', attrs={'session':sid}, + namespace='urn:xmpp:tmp:sxe') + + for x in rids: + sxe.addChild(name='remove', attrs = {'target':x}) + self.connection.send(message) diff --git a/src/common/jingle.py b/src/common/jingle.py index 74e22d425..066430a1a 100644 --- a/src/common/jingle.py +++ b/src/common/jingle.py @@ -388,6 +388,10 @@ class JingleWhiteboard(JingleContent): self.session.connection.send_whiteboard_node(self.session.peerjid, self.session.sid, items, rids) + + def del_item(self, rids): + self.session.connection.delete_whiteboard_node(self.session.peerjid, + self.session.sid, rids) def encode(self, xml): # encodes it sendable string diff --git a/src/whiteboardwidget.py b/src/whiteboardwidget.py index 7b5f2ff96..c4ca613c2 100644 --- a/src/whiteboardwidget.py +++ b/src/whiteboardwidget.py @@ -304,14 +304,17 @@ class SVGObject(): self.session.send_items(self.items, rids) def del_item(self, item): + rids = [] for x in self.items.keys(): - print item if self.items[x]['type'] == 'element': if self.items[x]['data'][1] == item: - print 'found' for y in self.items[x]['children']: + rids.append(y) self.del_rid(y) + rids.append(x) self.del_rid(x) + break + self.session.del_item(rids) def clear_canvas(self): for x in self.items.keys(): |