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 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): pixbuf = self.get_pixbuf_from_url(url, self.plugin.config["PREVIEW_SIZE"]) if pixbuf: # insert image buffer_ = mark.get_buffer() end_iter = buffer_.get_iter_at_mark(mark) anchor = buffer_.create_child_anchor(end_iter) img = TextViewImage(anchor, special_text) 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: # insert image buffer_ = mark.get_buffer() end_iter = buffer_.get_iter_at_mark(mark) anchor = buffer_.create_child_anchor(end_iter) img = TextViewImage(anchor, special_text) 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 add_to_textview(): try: # textview closed in the meantime etc. buffer_ = repl_start.get_buffer() iter_ = buffer_.get_iter_at_mark(repl_start) buffer_.insert(iter_, "\n") anchor = buffer_.create_child_anchor(iter_) # Use url as tooltip for image img = TextViewImage(anchor, url) img.set_from_pixbuf(pixbuf) eb.add(img) eb.show_all() self.textview.tv.add_child_at_anchor(eb, anchor) buffer_.delete(iter_, buffer_.get_iter_at_mark(repl_end)) except: pass return False
def add_to_textview(): try: # textview closed in the meantime etc. buffer_ = repl_start.get_buffer() iter_ = buffer_.get_iter_at_mark(repl_start) buffer_.insert(iter_, "\n") anchor = buffer_.create_child_anchor(iter_) # Use weburl as tooltip for image img = TextViewImage(anchor, weburl) loader = gtk.gdk.PixbufLoader() loader.write(data) loader.close() pixbuf = loader.get_pixbuf() img.set_from_pixbuf(pixbuf) eb.add(img) eb.show_all() textview.add_child_at_anchor(eb, anchor) buffer_.delete(iter_, buffer_.get_iter_at_mark(repl_end)) except: pass return False
def add_to_textview(): try: # textview closed in the meantime etc. buffer_ = repl_start.get_buffer() iter_ = buffer_.get_iter_at_mark(repl_start) buffer_.insert(iter_, "\n") anchor = buffer_.create_child_anchor(iter_) # Use weburl as tooltip for image img = TextViewImage(anchor, weburl) loader = gtk.gdk.PixbufLoader() loader.write(data) loader.close() pixbuf = loader.get_pixbuf() img.set_from_pixbuf(pixbuf) eb.add(img) eb.show_all() textview.add_child_at_anchor(eb, anchor) buffer_.delete(iter_, buffer_.get_iter_at_mark(repl_end)) except: pass return False
def print_special_text(self, special_text, other_tags, graphics=True, iter__=None): if gajim.interface.pointim_sharp_slash_re.match(special_text): # insert post num #123456// buffer_, iter_, tag = self.get_iter_and_tag('pointim_sharp_slash') buffer_.insert_with_tags(iter__, special_text, tag) self.last_pointim_num = special_text self.textview.plugin_modified = True return if gajim.interface.pointim_nick_re.match(special_text): # insert pointim nick @nickname//// buffer_, iter_, tag = self.get_iter_and_tag('pointim_nick') mark = buffer_.create_mark(None, iter__, True) nick = special_text[1:].rstrip(':') buffer_.insert_with_tags(iter__, special_text, tag) # insert avatars if not self.plugin.config['SHOW_AVATARS']: self.textview.plugin_modified = True return b_nick = buffer_.get_text(buffer_.get_start_iter(), buffer_.get_iter_at_mark(mark),False) if self.plugin.config['ONLY_AUTHOR_AVATAR'] and not \ special_text.endswith(':') and b_nick[-9:] not in ('Subscribed to ' ): self.textview.plugin_modified = True return if self.plugin.config['ONLY_FIRST_AVATAR']: if b_nick[-9:] not in ('Reply by ', 'message from ', 'ended by ', 'Subscribed to '): if b_nick[-2] != gajim.config.get('after_nickname'): self.textview.plugin_modified = True return elif b_nick[-1] == '\n': self.textview.plugin_modified = True return conn = gajim.connections[self.chat_control.account] if not conn.connected: self.textview.plugin_modified = True return # search id in the db query = "select nick, id from person where nick = :nick" self.plugin.cursor.execute(query, {'nick':nick}) db_item = self.plugin.cursor.fetchone() if db_item: # nick in the db pixbuf = self.get_avatar(db_item[1], nick, True) 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) self.textview.plugin_modified = True return else: # nick not in the db gobject.idle_add(self.get_new_avatar, mark, nick) return if gajim.interface.pointim_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) uid = special_text.split('/')[-1] url = "http://i.pointim.com/photos-512/%s" % uid gajim.thread_interface(self.insert_pic_preview, [mark, special_text, url]) self.textview.plugin_modified = True return