Changeset 10023
- Timestamp:
- 07/25/08 02:43:01 (3 months ago)
- Location:
- trunk
- Files:
-
- 5 modified
-
data/glade/preferences_window.glade (modified) (2 diffs)
-
po/de.po (modified) (1 diff)
-
src/common/pep.py (modified) (1 diff)
-
src/config.py (modified) (2 diffs)
-
src/roster_window.py (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/glade/preferences_window.glade
r9828 r10023 74 74 </child> 75 75 <child> 76 <widget class="GtkCheckButton" id="s ort_by_show_checkbutton">77 <property name="visible">True</property> 78 <property name="can_focus">True</property> 79 <property name="tooltip" translatable="yes">If checked, Gajim will sort contacts in roster window and groupchats by their status and not by the shown name</property>80 <property name="label" translatable="yes"> _Sort contacts by status</property>76 <widget class="GtkCheckButton" id="show_mood_in_roster_checkbutton"> 77 <property name="visible">True</property> 78 <property name="can_focus">True</property> 79 <property name="tooltip" translatable="yes">If checked, Gajim will display status messages of contacts under the contact name in roster window and in group chats</property> 80 <property name="label" translatable="yes">Display m_ood of contacts in roster</property> 81 81 <property name="use_underline">True</property> 82 82 <property name="response_id">0</property> 83 83 <property name="draw_indicator">True</property> 84 <signal name="toggled" handler="on_s ort_by_show_checkbutton_toggled"/>84 <signal name="toggled" handler="on_show_mood_in_roster_checkbutton_toggled"/> 85 85 </widget> 86 86 <packing> … … 88 88 <property name="fill">False</property> 89 89 <property name="position">2</property> 90 </packing> 91 </child> 92 <child> 93 <widget class="GtkCheckButton" id="sort_by_show_checkbutton"> 94 <property name="visible">True</property> 95 <property name="can_focus">True</property> 96 <property name="tooltip" translatable="yes">If checked, Gajim will sort contacts in roster window and groupchats by their status and not by the shown name</property> 97 <property name="label" translatable="yes">_Sort contacts by status</property> 98 <property name="use_underline">True</property> 99 <property name="response_id">0</property> 100 <property name="draw_indicator">True</property> 101 <signal name="toggled" handler="on_sort_by_show_checkbutton_toggled"/> 102 </widget> 103 <packing> 104 <property name="expand">False</property> 105 <property name="fill">False</property> 106 <property name="position">3</property> 90 107 </packing> 91 108 </child> -
trunk/po/de.po
r10007 r10023 4714 4714 #: ../src/common/helpers.py:350 4715 4715 msgid "afraid" 4716 msgstr " Fürchtend"4716 msgstr "Verängstigt" 4717 4717 4718 4718 #: ../src/common/helpers.py:350 4719 4719 msgid "amazed" 4720 msgstr " Überrascht"4720 msgstr "Verblüfft" 4721 4721 4722 4722 #: ../src/common/helpers.py:350 -
trunk/src/common/pep.py
r10022 r10023 63 63 del contact.mood['text'] 64 64 65 gajim.interface.roster.draw_ contact(user, name)65 gajim.interface.roster.draw_mood(user, name) 66 66 ctrl = gajim.interface.msg_win_mgr.get_control(user, name) 67 67 if ctrl: -
trunk/src/config.py
r9906 r10023 93 93 # Display avatars in roster 94 94 st = gajim.config.get('show_avatars_in_roster') 95 self.xml.get_widget('show_avatars_in_roster_checkbutton').set_active(st) 95 self.xml.get_widget('show_avatars_in_roster_checkbutton'). \ 96 set_active(st) 96 97 97 98 # Display status msg under contact name in roster 98 99 st = gajim.config.get('show_status_msgs_in_roster') 99 self.xml.get_widget('show_status_msgs_in_roster_checkbutton').set_active( 100 st) 100 self.xml.get_widget('show_status_msgs_in_roster_checkbutton'). \ 101 set_active( st) 102 103 # Display mood in roster 104 st = gajim.config.get('show_mood_in_roster') 105 self.xml.get_widget('show_mood_in_roster_checkbutton'). \ 106 set_active(st) 101 107 102 108 # Sort contacts by show … … 527 533 if ctl.type_id == message_control.TYPE_GC: 528 534 ctl.update_ui() 535 536 def on_show_mood_in_roster_checkbutton_toggled(self, widget): 537 self.on_checkbutton_toggled(widget, 'show_mood_in_roster') 538 gajim.interface.roster.setup_and_draw_roster() 529 539 530 540 def on_sort_by_show_checkbutton_toggled(self, widget): -
trunk/src/roster_window.py
r10022 r10023 77 77 C_JID, # the jid of the row 78 78 C_ACCOUNT, # cellrenderer text that holds account name 79 C_MOOD ,79 C_MOOD_PIXBUF, 80 80 C_AVATAR_PIXBUF, # avatar_pixbuf 81 81 C_PADLOCK_PIXBUF, # use for account row only … … 609 609 for c, acc in brothers: 610 610 self.draw_contact(c.jid, acc) 611 self.draw_mood(c.jid, acc) 611 612 self.draw_avatar(c.jid, acc) 612 613 … … 653 654 654 655 self.draw_contact(jid, account) 656 self.draw_mood(jid, account) 655 657 self.draw_avatar(jid, account) 656 658 self.draw_account(account) … … 710 712 for c, acc in contacts: 711 713 self.draw_contact(c.jid, acc) 714 self.draw_mood(c.jid, acc) 712 715 self.draw_avatar(c.jid, acc) 713 716 for group in contact.get_shown_groups(): … … 766 769 for c, acc in brothers: 767 770 self.draw_contact(c.jid, acc) 771 self.draw_mood(c.jid, acc) 768 772 self.draw_avatar(c.jid, acc) 769 773 … … 1175 1179 self.model[child_iter][C_IMG] = img 1176 1180 self.model[child_iter][C_NAME] = name 1177 1178 if contact.mood.has_key('mood') \1179 and contact.mood['mood'] in MOODS:1180 self.model[child_iter][C_MOOD] = \1181 gtkgui_helpers.load_mood_icon(1182 contact.mood['mood'])1183 elif contact.mood.has_key('mood'):1184 self.model[child_iter][C_MOOD] = \1185 gtkgui_helpers.load_mood_icon(1186 'unknown')1187 else:1188 self.model[child_iter][C_MOOD] = None1189 1181 1190 1182 # We are a little brother … … 1205 1197 1206 1198 1199 def draw_mood(self, jid, account): 1200 iters = self._get_contact_iter(jid, account, model = self.model) 1201 if not iters or not gajim.config.get('show_mood_in_roster'): 1202 return 1203 jid = self.model[iters[0]][C_JID] 1204 jid = jid.decode('utf-8') 1205 contact = gajim.contacts.get_contact(account, jid) 1206 if contact.mood.has_key('mood') \ 1207 and contact.mood['mood'] in MOODS: 1208 pixbuf = gtkgui_helpers.load_mood_icon( 1209 contact.mood['mood']).get_pixbuf() 1210 elif contact.mood.has_key('mood'): 1211 pixbuf = gtkgui_helpers.load_mood_image( 1212 'unknown').get_pixbuf() 1213 else: 1214 pixbuf = None 1215 for child_iter in iters: 1216 self.model[child_iter][C_MOOD_PIXBUF] = pixbuf 1217 return False 1218 1219 1207 1220 def draw_avatar(self, jid, account): 1208 1221 iters = self._get_contact_iter(jid, account, model = self.model) … … 1251 1264 for jid in jids: 1252 1265 self.draw_contact(jid, account) 1266 self.draw_mood(jid, account) 1253 1267 self.draw_avatar(jid, account) 1254 1268 yield True … … 1264 1278 # avatar_pixbuf, padlock_pixbuf) 1265 1279 self.model = gtk.TreeStore(gtk.Image, str, str, str, str, 1266 gtk. Image, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf)1280 gtk.gdk.Pixbuf, gtk.gdk.Pixbuf, gtk.gdk.Pixbuf) 1267 1281 1268 1282 self.model.set_sort_func(1, self._compareIters) … … 3666 3680 for c, acc in brothers: 3667 3681 self.draw_contact(c.jid, acc) 3682 self.draw_mood(c.jid, acc) 3668 3683 self.draw_avatar(c.jid, acc) 3669 3684 … … 4172 4187 renderer.set_property('xpad', 8) 4173 4188 4189 4190 def _fill_mood_pixbuf_rederer(self, column, renderer, model, titer, 4191 data = None): 4192 '''When a row is added, set properties for avatar renderer''' 4193 theme = gajim.config.get('roster_theme') 4194 type_ = model[titer][C_TYPE] 4195 if type_ in ('group', 'account'): 4196 renderer.set_property('visible', False) 4197 return 4198 4199 # allocate space for the icon only if needed 4200 if model[titer][C_MOOD_PIXBUF]: 4201 renderer.set_property('visible', True) 4202 else: 4203 renderer.set_property('visible', False) 4204 if type_: # prevent type_ = None, see http://trac.gajim.org/ticket/2534 4205 if not model[titer][C_JID] or not model[titer][C_ACCOUNT]: 4206 # This can append at the moment we add the row 4207 return 4208 jid = model[titer][C_JID].decode('utf-8') 4209 account = model[titer][C_ACCOUNT].decode('utf-8') 4210 if jid in gajim.newly_added[account]: 4211 renderer.set_property('cell-background', gajim.config.get( 4212 'just_connected_bg_color')) 4213 elif jid in gajim.to_be_removed[account]: 4214 renderer.set_property('cell-background', gajim.config.get( 4215 'just_disconnected_bg_color')) 4216 else: 4217 color = gajim.config.get_per('themes', theme, 'contactbgcolor') 4218 if color: 4219 renderer.set_property('cell-background', color) 4220 else: 4221 renderer.set_property('cell-background', None) 4222 renderer.set_property('xalign', 1) # align pixbuf to the right 4223 4224 4174 4225 def _fill_avatar_pixbuf_rederer(self, column, renderer, model, titer, 4175 4226 data = None): … … 5976 6027 col.set_cell_data_func(render_text, self._nameCellDataFunc, None) 5977 6028 5978 if gajim.config.get('show_mood_in_roster'): 5979 render_image = cell_renderer_image.CellRendererImage( 5980 0, 0) 5981 col.pack_start(render_image, expand = False) 5982 col.add_attribute(render_image, 'image', C_MOOD) 5983 col.set_cell_data_func(render_image, 5984 self._iconCellDataFunc, None) 6029 render_pixbuf = gtk.CellRendererPixbuf() 6030 col.pack_start(render_pixbuf, expand = False) 6031 col.add_attribute(render_pixbuf, 'pixbuf', C_MOOD_PIXBUF) 6032 col.set_cell_data_func(render_pixbuf, 6033 self._fill_mood_pixbuf_rederer, None) 5985 6034 5986 6035 if gajim.config.get('avatar_position_in_roster') == 'right':
