diff --git a/src/cell_renderer_image.py b/src/cell_renderer_image.py index 2af7fd551..f09dfa7ac 100644 --- a/src/cell_renderer_image.py +++ b/src/cell_renderer_image.py @@ -33,9 +33,11 @@ class CellRendererImage(gtk.GenericCellRenderer): 'Image', gobject.PARAM_READWRITE), } - def __init__(self): + def __init__(self, col_index, tv_index): self.__gobject_init__() self.image = None + self.col_index = col_index + self.tv_index = tv_index self.iters = {} def do_set_property(self, pspec, value): @@ -45,10 +47,12 @@ class CellRendererImage(gtk.GenericCellRenderer): return getattr(self, pspec.name) def func(self, model, path, iter, (image, tree)): - if model.get_value(iter, 0) != image: + if model.get_value(iter, self.tv_index) != image: return self.redraw = 1 - cell_area = tree.get_cell_area(path, tree.get_column(0)) + col = tree.get_column(self.col_index) + cell_area = tree.get_cell_area(path, col) + tree.queue_draw_area(cell_area.x, cell_area.y, cell_area.width, cell_area.height) @@ -59,7 +63,8 @@ class CellRendererImage(gtk.GenericCellRenderer): iter = self.iters[image] iter.advance() model = tree.get_model() - model.foreach(self.func, (image, tree)) + if model: + model.foreach(self.func, (image, tree)) if self.redraw: gobject.timeout_add(iter.get_delay_time(), self.animation_timeout, tree, image) diff --git a/src/common/connection.py b/src/common/connection.py index ec47355ef..3dd3e65f0 100644 --- a/src/common/connection.py +++ b/src/common/connection.py @@ -1265,10 +1265,10 @@ class Connection: dic[i]['options'][j]['values'] = [] for tag in tags: dic[i]['options'][j]['values'].append(tag.getData()) - j += 1 if not label: label = dic[i]['options'][j]['values'][0] dic[i]['options'][j]['label'] = label + j += 1 if not dic[i].has_key('values'): dic[i]['values'] = [dic[i]['options'][0]['values'][0]] i += 1 diff --git a/src/config.py b/src/config.py index 67d56538c..7eac99021 100644 --- a/src/config.py +++ b/src/config.py @@ -130,7 +130,7 @@ class PreferencesWindow: iconsets_list = os.listdir(os.path.join(gajim.DATA_DIR, 'iconsets')) # new model, image in 0, string in 1 model = gtk.ListStore(gtk.Image, str) - renderer_image = cell_renderer_image.CellRendererImage() + renderer_image = cell_renderer_image.CellRendererImage(0, 0) renderer_text = gtk.CellRendererText() renderer_text.set_property('xpad', 5) self.iconset_combobox.pack_start(renderer_image, expand = False) @@ -1928,7 +1928,7 @@ class ManageEmoticonsWindow: col = gtk.TreeViewColumn(_('Image')) self.emot_tree.append_column(col) - renderer = cell_renderer_image.CellRendererImage() + renderer = cell_renderer_image.CellRendererImage(1, 2) col.pack_start(renderer, expand = False) col.add_attribute(renderer, 'image', 2) @@ -1983,12 +1983,7 @@ class ManageEmoticonsWindow: continue img = gtk.Image() img.show() - if file.find('.gif') != -1: - pix = gtk.gdk.PixbufAnimation(file) - img.set_from_animation(pix) - else: - pix = gtk.gdk.pixbuf_new_from_file(file) - img.set_from_pixbuf(pix) + img.set_from_file(file) model.set(iter, 2, img) def on_emot_cell_edited(self, cell, row, new_text): @@ -2081,12 +2076,7 @@ class ManageEmoticonsWindow: model.set_value(iter, 1, file) img = gtk.Image() img.show() - if file.find('.gif') != -1: - pix = gtk.gdk.PixbufAnimation(file) - img.set_from_animation(pix) - else: - pix = gtk.gdk.pixbuf_new_from_file(file) - img.set_from_pixbuf(pix) + img.set_from_file(file) model.set(iter, 2, img) def on_button_new_emoticon_clicked(self, widget, data=None): @@ -2268,7 +2258,7 @@ class ManageBookmarksWindow: def on_manage_bookmarks_window_destroy(self, widget, event): del gajim.interface.instances['manage_bookmarks'] - def on_add_bookmark_button_clicked(self,widget): + def on_add_bookmark_button_clicked(self, widget): ''' Add a new bookmark. ''' @@ -2288,7 +2278,9 @@ class ManageBookmarksWindow: add_to = iter account = model.get_value(add_to, 1) - self.treestore.append(add_to, [account,_('New Room'), '', False, '', '']) + nick = gajim.nicks[account] + self.treestore.append(add_to, [account, _('New Room'), '', False, '', + nick]) self.view.expand_row(model.get_path(add_to), True) diff --git a/src/groupchat_control.py b/src/groupchat_control.py index 81953c6e3..1ab8cf295 100644 --- a/src/groupchat_control.py +++ b/src/groupchat_control.py @@ -145,7 +145,7 @@ class GroupchatControl(ChatControlBase): store = gtk.TreeStore(gtk.Image, str, str, str) store.set_sort_column_id(C_TEXT, gtk.SORT_ASCENDING) column = gtk.TreeViewColumn('contacts') - renderer_image = cell_renderer_image.CellRendererImage() + renderer_image = cell_renderer_image.CellRendererImage(0, 0) renderer_image.set_property('width', 20) column.pack_start(renderer_image, expand = False) column.add_attribute(renderer_image, 'image', 0) diff --git a/src/groupchat_window.py b/src/groupchat_window.py index 6dd36f42a..a572317bb 100644 --- a/src/groupchat_window.py +++ b/src/groupchat_window.py @@ -1445,7 +1445,7 @@ current room topic.') % command, room_jid) store = gtk.TreeStore(gtk.Image, str, str, str) store.set_sort_column_id(C_TEXT, gtk.SORT_ASCENDING) column = gtk.TreeViewColumn('contacts') - renderer_image = cell_renderer_image.CellRendererImage() + renderer_image = cell_renderer_image.CellRendererImage(0, 0) renderer_image.set_property('width', 20) column.pack_start(renderer_image, expand = False) column.add_attribute(renderer_image, 'image', 0) diff --git a/src/gtkgui.glade b/src/gtkgui.glade index a0ea85e56..552477baa 100644 --- a/src/gtkgui.glade +++ b/src/gtkgui.glade @@ -6208,7 +6208,7 @@ Custom False - + True @@ -12415,7 +12415,7 @@ Static True True - True + False False False True diff --git a/src/roster_window.py b/src/roster_window.py index 3872b2644..75b3ca6e3 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -2660,7 +2660,7 @@ _('If "%s" accepts this request you will know his or her status.') % jid) liststore = gtk.ListStore(str, gtk.Image, str, bool) self.status_combobox = self.xml.get_widget('status_combobox') - cell = cell_renderer_image.CellRendererImage() + cell = cell_renderer_image.CellRendererImage(0, 1) self.status_combobox.pack_start(cell, False) # img to show is in in 2nd column of liststore @@ -2721,7 +2721,7 @@ _('If "%s" accepts this request you will know his or her status.') % jid) # this col has two cells: first one img, second one text col = gtk.TreeViewColumn() - render_image = cell_renderer_image.CellRendererImage() # show img or +- + render_image = cell_renderer_image.CellRendererImage(0, 0) # show img or +- col.pack_start(render_image, expand = False) col.add_attribute(render_image, 'image', C_IMG) col.set_cell_data_func(render_image, self.iconCellDataFunc, None) diff --git a/src/tabbed_chat_window.py b/src/tabbed_chat_window.py index 463ccb720..4e2765760 100644 --- a/src/tabbed_chat_window.py +++ b/src/tabbed_chat_window.py @@ -234,7 +234,8 @@ class TabbedChatWindow(chat.Chat): else: tb.set_sensitive(False) #we talk about a contact here - tt = _('%s has not broadcasted an OpenPGP key nor you have assigned one') % contact.name + tt = _('%s has not broadcast an OpenPGP key, nor has one neen assigned') %\ + contact.name tip = gtk.Tooltips() tip.set_tip(self.xmls[jid].get_widget('gpg_eventbox'), tt)