changeset 76201ae6c611 in /home/hg/repos/gajim-plugins
author: Denis Fomin <[email protected]>
branches:
details:gajim-plugins?cmd=changeset;node=76201ae6c611
description: JuickPlugin.UrlImagePreviewPlugin. support latest gajim
diffstat:
juick/plugin.py | 31 ++++++++++++++++++-------------
url_image_preview/url_image_preview.py | 2 +-
2 файлов изменено, 19 вставок(+), 14 удалений(-)
различия (91 строк):
diff -r 3c625f96aafb -r 76201ae6c611 juick/plugin.py
--- a/juick/plugin.py Mon Sep 16 21:46:41 2013 +0400
+++ b/juick/plugin.py Tue Sep 17 12:51:59 2013 +0400
@@ -378,32 +378,36 @@
if not pixbuf:
self.textview.plugin_modified = True
return
- end_iter = buffer_.get_iter_at_mark(mark)
- anchor = buffer_.create_child_anchor(end_iter)
- img = TextViewImage(anchor, nick)
- img.set_from_pixbuf(pixbuf)
- img.show()
- self.textview.tv.add_child_at_anchor(img, anchor)
+ gobject.idle_add(self.set_avatar, mark, nick, pixbuf)
self.textview.plugin_modified = True
return
else:
# nick not in the db
gobject.idle_add(self.get_new_avatar, mark, nick)
+ self.textview.plugin_modified = True
return
if gajim.interface.juick_pic_re.match(special_text) and \
self.plugin.config['SHOW_PREVIEW']:
# show pics preview
buffer_, iter_, tag = self.get_iter_and_tag('url')
- mark = buffer_.create_mark(None, iter__, True)
- buffer_.insert_with_tags(iter__, special_text, tag)
+ mark = buffer_.create_mark(None, buffer_.get_end_iter(), True)
uid = special_text.split('/')[-1]
url = "http://i.juick.com/photos-512/%s" % uid
gajim.thread_interface(self.insert_pic_preview, [mark,
special_text,
- url])
+ url, tag])
self.textview.plugin_modified = True
return
- def insert_pic_preview(self, mark, special_text, url):
+ def set_avatar(self, mark, nick, pixbuf):
+ buffer_ = mark.get_buffer()
+ end_iter = buffer_.get_iter_at_mark(mark)
+ anchor = buffer_.create_child_anchor(end_iter)
+ img = TextViewImage(anchor, nick)
+ img.set_from_pixbuf(pixbuf)
+ img.show()
+ self.textview.tv.add_child_at_anchor(img, anchor)
+
+ def insert_pic_preview(self, mark, special_text, url, tag):
pixbuf = self.get_pixbuf_from_url( url, self.plugin.config[
'PREVIEW_SIZE'])
if pixbuf:
@@ -415,6 +419,9 @@
img.set_from_pixbuf(pixbuf)
img.show()
self.textview.tv.add_child_at_anchor(img, anchor)
+ buffer_ = mark.get_buffer()
+ end_iter = buffer_.get_iter_at_mark(mark)
+ buffer_.insert_with_tags(end_iter, special_text, tag)
def get_iter_and_tag(self, tag_name):
buffer_ = self.textview.tv.get_buffer()
@@ -430,17 +437,15 @@
_id = str(j[0]['uid'])
except urllib2.HTTPError, e:
return
+ pixbuf = self.get_avatar(_id, nick)
buffer_ = mark.get_buffer()
end_iter = buffer_.get_iter_at_mark(mark)
- pixbuf = self.get_avatar(_id, nick)
anchor = buffer_.create_child_anchor(end_iter)
img = TextViewImage(anchor, nick)
img.set_from_pixbuf(pixbuf)
img.show()
self.textview.tv.add_child_at_anchor(img, anchor)
-
-
def get_avatar(self, uid, nick, need_check=None):
# search avatar in cache or download from juick.com
pic = uid + '.png'
diff -r 3c625f96aafb -r 76201ae6c611 url_image_preview/url_image_preview.py
--- a/url_image_preview/url_image_preview.py Mon Sep 16 21:46:41 2013 +0400
+++ b/url_image_preview/url_image_preview.py Tue Sep 17 12:51:59 2013 +0400
@@ -50,7 +50,7 @@
iter_=None)
def print_special_text1(self, chat_control, special_text, other_tags=None,
- graphics=True):
+ graphics=True, iter_=None):
for control in self.controls:
if control.chat_control == chat_control:
control.disconnect_from_chat_control()
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits