fixed an oops

This commit is contained in:
Nikos Kouremenos 2005-04-20 23:27:33 +00:00
parent ac53772333
commit b10b49b722
2 changed files with 74 additions and 61 deletions

View file

@ -980,8 +980,8 @@ class Account_modification_window:
def on_save_button_clicked(self, widget): def on_save_button_clicked(self, widget):
'''When save button is clicked: Save information in config file''' '''When save button is clicked: Save information in config file'''
save_password = save_password = self.xml.get_widget(
self.xml.get_widget('save_password_checkbutton').get_active() 'save_password_checkbutton').get_active()
password = self.xml.get_widget('password_entry').get_text() password = self.xml.get_widget('password_entry').get_text()
resource = self.xml.get_widget('resource_entry').get_text() resource = self.xml.get_widget('resource_entry').get_text()
priority = self.xml.get_widget('priority_spinbutton').get_value_as_int() priority = self.xml.get_widget('priority_spinbutton').get_value_as_int()
@ -1005,8 +1005,8 @@ class Account_modification_window:
if not self.xml.get_widget('log_history_checkbutton').get_active(): if not self.xml.get_widget('log_history_checkbutton').get_active():
list_no_log_for.append(name) list_no_log_for.append(name)
sync_with_global_status_checkbutton = sync_with_global_status_checkbutton =self.xml.get_widget(
self.xml.get_widget('sync_with_global_status_checkbutton').get_active() 'sync_with_global_status_checkbutton').get_active()
use_proxy = self.xml.get_widget('use_proxy_checkbutton').get_active() use_proxy = self.xml.get_widget('use_proxy_checkbutton').get_active()
proxyhost = self.xml.get_widget('proxyhost_entry').get_text() proxyhost = self.xml.get_widget('proxyhost_entry').get_text()
@ -1045,8 +1045,8 @@ class Account_modification_window:
gpg_password = '' gpg_password = ''
else: else:
keyID = self.xml.get_widget('gpg_key_label').get_text() keyID = self.xml.get_widget('gpg_key_label').get_text()
save_gpg_password = save_gpg_password =self.xml.get_widget(
self.xml.get_widget('gpg_save_password_checkbutton').get_active() 'gpg_save_password_checkbutton').get_active()
gpg_password = self.xml.get_widget('gpg_password_entry').get_text() gpg_password = self.xml.get_widget('gpg_password_entry').get_text()
#if we are modifying an account #if we are modifying an account
if self.modify: if self.modify:
@ -1190,16 +1190,16 @@ class Account_modification_window:
proxyhost = self.xml.get_widget('proxyhost_entry').get_text() proxyhost = self.xml.get_widget('proxyhost_entry').get_text()
proxyport = self.xml.get_widget('proxyport_entry').get_text() proxyport = self.xml.get_widget('proxyport_entry').get_text()
key_name = self.xml.get_widget('gpg_name_label').get_text() key_name = self.xml.get_widget('gpg_name_label').get_text()
save_password = save_password = self.xml.get_widget(
self.xml.get_widget('save_password_checkbutton').get_active() 'save_password_checkbutton').get_active()
if key_name == '': #no key selected if key_name == '': #no key selected
keyID = '' keyID = ''
save_gpg_password = False save_gpg_password = False
gpg_password = '' gpg_password = ''
else: else:
keyID = self.xml.get_widget('gpg_key_label').get_text() keyID = self.xml.get_widget('gpg_key_label').get_text()
save_gpg_password = save_gpg_password =self.xml.get_widget(
self.xml.get_widget('gpg_save_password_checkbutton').get_active() 'gpg_save_password_checkbutton').get_active()
gpg_password = self.xml.get_widget('gpg_password_entry').get_text() gpg_password = self.xml.get_widget('gpg_password_entry').get_text()
no_log_for = '' no_log_for = ''
if self.xml.get_widget('log_history_checkbutton').get_active(): if self.xml.get_widget('log_history_checkbutton').get_active():

View file

@ -111,10 +111,10 @@ class Roster_window:
model = self.tree.get_model() model = self.tree.get_model()
if self.get_account_iter(account): if self.get_account_iter(account):
return return
statuss = ['offline', 'connecting', 'online', 'away', 'xa', 'dnd',\ statuss = ['offline', 'connecting', 'online', 'away', 'xa', 'dnd',
'invisible'] 'invisible']
status = statuss[gajim.connections[account].connected] status = statuss[gajim.connections[account].connected]
model.append(None, (self.pixbufs[status], account, 'account', account,\ model.append(None, (self.pixbufs[status], account, 'account', account,
account, False)) account, False))
def remove_newly_added(self, jid, account): def remove_newly_added(self, jid, account):
@ -144,15 +144,15 @@ class Roster_window:
iterG = self.get_group_iter(g, account) iterG = self.get_group_iter(g, account)
if not iterG: if not iterG:
IterAcct = self.get_account_iter(account) IterAcct = self.get_account_iter(account)
iterG = model.append(IterAcct, \ iterG = model.append(IterAcct,
(self.pixbufs['closed'], g, 'group', \ (self.pixbufs['closed'], g, 'group',
g, account, False)) g, account, False))
if not self.groups[account].has_key(g): #It can probably never append if not self.groups[account].has_key(g): #It can probably never append
if account+g in self.hidden_lines: if account+g in self.hidden_lines:
self.groups[account][g] = {'expand': False} self.groups[account][g] = {'expand': False}
else: else:
self.groups[account][g] = {'expand': True} self.groups[account][g] = {'expand': True}
if not account in self.hidden_lines and not gajim.config.get(\ if not account in self.hidden_lines and not gajim.config.get(
'mergeaccounts'): 'mergeaccounts'):
self.tree.expand_row((model.get_path(iterG)[0]), False) self.tree.expand_row((model.get_path(iterG)[0]), False)
@ -160,7 +160,7 @@ class Roster_window:
if g == 'Agents': if g == 'Agents':
typestr = 'agent' typestr = 'agent'
model.append(iterG, (self.pixbufs[user.show], \ model.append(iterG, (self.pixbufs[user.show],
user.name, typestr, user.jid, account, False)) user.name, typestr, user.jid, account, False))
if self.groups[account][g]['expand']: if self.groups[account][g]['expand']:
@ -226,7 +226,6 @@ class Roster_window:
def make_menu(self): def make_menu(self):
'''create the main_window's menus''' '''create the main_window's menus'''
# try to avoid WIDGET_REALIZED_FOR_EVENT failed which freezes gajim
new_message_menuitem = self.xml.get_widget('new_message_menuitem') new_message_menuitem = self.xml.get_widget('new_message_menuitem')
join_gc_menuitem = self.xml.get_widget('join_gc_menuitem') join_gc_menuitem = self.xml.get_widget('join_gc_menuitem')
add_new_contact_menuitem = self.xml.get_widget('add_new_contact_menuitem') add_new_contact_menuitem = self.xml.get_widget('add_new_contact_menuitem')
@ -235,14 +234,14 @@ class Roster_window:
add_new_contact_menuitem.handler_disconnect(self.add_new_contact_handler_id) add_new_contact_menuitem.handler_disconnect(self.add_new_contact_handler_id)
self.add_new_contact_handler_id = None self.add_new_contact_handler_id = None
if self.service_disco_handler_id: if self.service_disco_handler_id:
service_disco_menuitem.handler_disconnect(\ service_disco_menuitem.handler_disconnect(
self.service_disco_handler_id) self.service_disco_handler_id)
self.service_disco_handler_id = None self.service_disco_handler_id = None
if self.join_gc_handler_id: if self.join_gc_handler_id:
join_gc_menuitem.handler_disconnect(self.join_gc_handler_id) join_gc_menuitem.handler_disconnect(self.join_gc_handler_id)
self.join_gc_handler_id = None self.join_gc_handler_id = None
if self.new_message_menuitem_handler_id: if self.new_message_menuitem_handler_id:
new_message_menuitem.handler_disconnect(\ new_message_menuitem.handler_disconnect(
self.new_message_menuitem_handler_id) self.new_message_menuitem_handler_id)
self.new_message_menuitem_handler_id = None self.new_message_menuitem_handler_id = None
#remove the existing submenus #remove the existing submenus
@ -301,27 +300,27 @@ class Roster_window:
gajim.config.get_per('accounts', account, 'hostname') gajim.config.get_per('accounts', account, 'hostname')
item = gtk.MenuItem(_('as ') + our_jid) item = gtk.MenuItem(_('as ') + our_jid)
sub_menu.append(item) sub_menu.append(item)
item.connect('activate', self.on_new_message_menuitem_activate, \ item.connect('activate', self.on_new_message_menuitem_activate,
account) account)
sub_menu.show_all() sub_menu.show_all()
elif len(gajim.connections) == 1: # one account elif len(gajim.connections) == 1: # one account
#add #add
if not self.add_new_contact_handler_id: if not self.add_new_contact_handler_id:
self.add_new_contact_handler_id = add_new_contact_menuitem.connect(\ self.add_new_contact_handler_id = add_new_contact_menuitem.connect(
'activate', self.on_add_new_contact, gajim.connections.keys()[0]) 'activate', self.on_add_new_contact, gajim.connections.keys()[0])
#disco #disco
if not self.service_disco_handler_id: if not self.service_disco_handler_id:
self.service_disco_handler_id = service_disco_menuitem.connect( \ self.service_disco_handler_id = service_disco_menuitem.connect(
'activate', self.on_service_disco_menuitem_activate, \ 'activate', self.on_service_disco_menuitem_activate,
gajim.connections.keys()[0]) gajim.connections.keys()[0])
#join_gc #join_gc
if not self.join_gc_handler_id: if not self.join_gc_handler_id:
self.join_gc_handler_id = join_gc_menuitem.connect( \ self.join_gc_handler_id = join_gc_menuitem.connect(
'activate', self.on_join_gc_activate, gajim.connections.keys()\ 'activate', self.on_join_gc_activate, gajim.connections.keys()
[0]) [0])
if not self.new_message_menuitem_handler_id: if not self.new_message_menuitem_handler_id:
self.new_message_menuitem_handler_id = new_message_menuitem. \ self.new_message_menuitem_handler_id = new_message_menuitem.\
connect('activate', self.on_new_message_menuitem_activate, \ connect('activate', self.on_new_message_menuitem_activate,
gajim.connections.keys()[0]) gajim.connections.keys()[0])
def draw_roster(self): def draw_roster(self):
@ -359,8 +358,8 @@ class Roster_window:
if not show: if not show:
show = 'offline' show = 'offline'
user1 = User(ji, name, array[jid]['groups'], show, \ user1 = User(ji, name, array[jid]['groups'], show,
array[jid]['status'], array[jid]['sub'], array[jid]['ask'], \ array[jid]['status'], array[jid]['sub'], array[jid]['ask'],
resource, 0, '') resource, 0, '')
#when we draw the roster, we can't have twice the same user with #when we draw the roster, we can't have twice the same user with
# 2 resources # 2 resources
@ -398,7 +397,7 @@ class Roster_window:
name = user.name name = user.name
if user.resource != '': if user.resource != '':
name += '/'+user.resource name += '/'+user.resource
self.plugin.windows[account]['chats'][user.jid].print_conversation(\ self.plugin.windows[account]['chats'][user.jid].print_conversation(
_('%s is now %s (%s)') % (name, show, status), user.jid, 'status') _('%s is now %s (%s)') % (name, show, status), user.jid, 'status')
def on_info(self, widget, user, account): def on_info(self, widget, user, account):
@ -468,7 +467,7 @@ class Roster_window:
item.connect('activate', self.authorize, jid, account) item.connect('activate', self.authorize, jid, account)
item = gtk.MenuItem(_('Rerequest authorization from')) item = gtk.MenuItem(_('Rerequest authorization from'))
sub_menu.append(item) sub_menu.append(item)
item.connect('activate', self.req_sub, jid, \ item.connect('activate', self.req_sub, jid,
_('I would like to add you to my contact list.'), account) _('I would like to add you to my contact list.'), account)
item = gtk.MenuItem(_('Remove')) item = gtk.MenuItem(_('Remove'))
@ -518,7 +517,7 @@ class Roster_window:
if self.contacts[account][jid][0].show == 'offline': if self.contacts[account][jid][0].show == 'offline':
item.set_sensitive(False) item.set_sensitive(False)
menu.append(item) menu.append(item)
item.connect('activate', self.on_agent_logging, jid, 'unavailable', \ item.connect('activate', self.on_agent_logging, jid, 'unavailable',
account) account)
item = gtk.MenuItem() item = gtk.MenuItem()
@ -609,7 +608,7 @@ class Roster_window:
if not self.contacts[account].has_key(jid): if not self.contacts[account].has_key(jid):
if not group: if not group:
group = 'General' group = 'General'
user1 = User(jid, pseudo, [group], 'requested', \ user1 = User(jid, pseudo, [group], 'requested',
'requested', 'none', 'subscribe', '', 0, '') 'requested', 'none', 'subscribe', '', 0, '')
self.contacts[account][jid] = [user1] self.contacts[account][jid] = [user1]
self.add_user_to_roster(jid, account) self.add_user_to_roster(jid, account)
@ -648,7 +647,7 @@ class Roster_window:
if event.type == gtk.gdk.BUTTON_PRESS: if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 3: # Right click if event.button == 3: # Right click
try: try:
path, column, x, y = self.tree.get_path_at_pos(int(event.x), \ path, column, x, y = self.tree.get_path_at_pos(int(event.x),
int(event.y)) int(event.y))
except TypeError: except TypeError:
self.tree.get_selection().unselect_all() self.tree.get_selection().unselect_all()
@ -668,7 +667,7 @@ class Roster_window:
return False return False
if event.button == 1: # Left click if event.button == 1: # Left click
try: try:
path, column, x, y = self.tree.get_path_at_pos(int(event.x), \ path, column, x, y = self.tree.get_path_at_pos(int(event.x),
int(event.y)) int(event.y))
except TypeError: except TypeError:
self.tree.get_selection().unselect_all() self.tree.get_selection().unselect_all()
@ -707,7 +706,7 @@ class Roster_window:
save_pass = gajim.config.get_per('accounts', account, 'savepass') save_pass = gajim.config.get_per('accounts', account, 'savepass')
if not save_pass and gajim.connections[account].connected < 2: if not save_pass and gajim.connections[account].connected < 2:
passphrase = '' passphrase = ''
w = dialogs.Passphrase_dialog(_('Enter your password for account %s') \ w = dialogs.Passphrase_dialog(_('Enter your password for account %s')
% account, 'Save password', autoconnect) % account, 'Save password', autoconnect)
passphrase, save = w.run() passphrase, save = w.run()
if passphrase == -1: if passphrase == -1:
@ -724,32 +723,32 @@ class Roster_window:
keyid = None keyid = None
save_gpg_pass = 0 save_gpg_pass = 0
save_gpg_pass = gajim.config.get_per('accounts', account, \ save_gpg_pass = gajim.config.get_per('accounts', account,
'savegpgpass') 'savegpgpass')
keyid = gajim.config.get_per('accounts', account, 'keyid') keyid = gajim.config.get_per('accounts', account, 'keyid')
if keyid and gajim.connections[account].connected < 2 and \ if keyid and gajim.connections[account].connected < 2 and \
gajim.config.get('usegpg'): gajim.config.get('usegpg'):
if save_gpg_pass: if save_gpg_pass:
passphrase = gajim.config.get_per('accounts', account, \ passphrase = gajim.config.get_per('accounts', account,
'gpgpassword') 'gpgpassword')
else: else:
passphrase = '' passphrase = ''
w = dialogs.Passphrase_dialog(\ w = dialogs.Passphrase_dialog(
_('Enter GPG key passphrase for account %s') % account, \ _('Enter GPG key passphrase for account %s') % account,
'Save passphrase', autoconnect) 'Save passphrase', autoconnect)
passphrase, save = w.run() passphrase, save = w.run()
if passphrase == -1: if passphrase == -1:
passphrase = '' passphrase = ''
if save: if save:
gajim.config.set_per('accounts', account, 'savegpgpass', True) gajim.config.set_per('accounts', account, 'savegpgpass', True)
gajim.config.set_per('accounts', account, 'gpgpassword', \ gajim.config.set_per('accounts', account, 'gpgpassword',
passphrase) passphrase)
gajim.connections[account].gpg_passphrase(passphrase) gajim.connections[account].gpg_passphrase(passphrase)
gajim.connections[account].change_status(status, txt) gajim.connections[account].change_status(status, txt)
for room_jid in self.plugin.windows[account]['gc']: for room_jid in self.plugin.windows[account]['gc']:
if room_jid != 'tabbed': if room_jid != 'tabbed':
nick = self.plugin.windows[account]['gc'][room_jid].nicks[room_jid] nick = self.plugin.windows[account]['gc'][room_jid].nicks[room_jid]
gajim.connections[account].send_gc_status(nick, room_jid, status, \ gajim.connections[account].send_gc_status(nick, room_jid, status,
txt) txt)
if status == 'online' and self.plugin.sleeper.getState() != \ if status == 'online' and self.plugin.sleeper.getState() != \
common.sleepy.STATE_UNKNOWN: common.sleepy.STATE_UNKNOWN:
@ -761,7 +760,7 @@ class Roster_window:
if (status == 'online' and not gajim.config.get('ask_online_status')) or \ if (status == 'online' and not gajim.config.get('ask_online_status')) or \
(status == 'offline' and not gajim.config.get('ask_offline_status')): (status == 'offline' and not gajim.config.get('ask_offline_status')):
return status return status
dlg = dialogs.Change_status_message_dialog(self.plugin, status, \ dlg = dialogs.Change_status_message_dialog(self.plugin, status,
autoconnect) autoconnect)
message = dlg.run() message = dlg.run()
return message return message
@ -789,7 +788,7 @@ class Roster_window:
self.update_status_comboxbox() self.update_status_comboxbox()
return return
for acct in accounts: for acct in accounts:
if not gajim.config.get_per('accounts', acct, \ if not gajim.config.get_per('accounts', acct,
'sync_with_global_status'): 'sync_with_global_status'):
continue continue
self.send_status(acct, status, message) self.send_status(acct, status, message)
@ -857,7 +856,7 @@ class Roster_window:
if gajim.config.get('usetabbedchat'): if gajim.config.get('usetabbedchat'):
if not self.plugin.windows[account]['gc'].has_key('tabbed'): if not self.plugin.windows[account]['gc'].has_key('tabbed'):
self.plugin.windows[account]['gc']['tabbed'] = \ self.plugin.windows[account]['gc']['tabbed'] = \
groupchat_window.Groupchat_window(jid, nick, self.plugin, \ groupchat_window.Groupchat_window(jid, nick, self.plugin,
account) account)
else: else:
self.plugin.windows[account]['gc']['tabbed'].new_group(jid, nick) self.plugin.windows[account]['gc']['tabbed'].new_group(jid, nick)
@ -872,7 +871,7 @@ class Roster_window:
def on_message(self, jid, msg, tim, account): def on_message(self, jid, msg, tim, account):
'''when we receive a message''' '''when we receive a message'''
if not self.contacts[account].has_key(jid): if not self.contacts[account].has_key(jid):
user1 = User(jid, jid, ['not in the roster'], \ user1 = User(jid, jid, ['not in the roster'],
'not in the roster', 'not in the roster', 'none', None, '', 0, '') 'not in the roster', 'not in the roster', 'none', None, '', 0, '')
self.contacts[account][jid] = [user1] self.contacts[account][jid] = [user1]
self.add_user_to_roster(jid, account) self.add_user_to_roster(jid, account)
@ -912,7 +911,7 @@ class Roster_window:
self.tree.expand_row(path[0:2], False) self.tree.expand_row(path[0:2], False)
self.tree.scroll_to_cell(path) self.tree.scroll_to_cell(path)
self.tree.set_cursor(path) self.tree.set_cursor(path)
self.plugin.windows[account]['chats'][jid].print_conversation(msg, \ self.plugin.windows[account]['chats'][jid].print_conversation(msg,
jid, tim = tim) jid, tim = tim)
def on_preferences_menuitem_activate(self, widget): def on_preferences_menuitem_activate(self, widget):
@ -1126,7 +1125,7 @@ class Roster_window:
user.groups.remove(old_name) user.groups.remove(old_name)
user.groups.append(new_text) user.groups.append(new_text)
self.add_user_to_roster(user.jid, account) self.add_user_to_roster(user.jid, account)
gajim.connections[account].update_user(user.jid, user.name, \ gajim.connections[account].update_user(user.jid, user.name,
user.groups) user.groups)
model.set_value(iter, 5, False) model.set_value(iter, 5, False)
@ -1146,8 +1145,8 @@ class Roster_window:
iconset = 'sun' iconset = 'sun'
self.path = '../data/iconsets/' + iconset + '/' self.path = '../data/iconsets/' + iconset + '/'
self.pixbufs = {} self.pixbufs = {}
for state in ('connecting', 'online', 'chat', 'away', 'xa', 'dnd', \ for state in ('connecting', 'online', 'chat', 'away', 'xa', 'dnd',
'invisible', 'offline', 'error', 'requested', 'message', \ 'invisible', 'offline', 'error', 'requested', 'message',
'opened', 'closed', 'not in the roster'): 'opened', 'closed', 'not in the roster'):
# try to open a pixfile with the correct method # try to open a pixfile with the correct method
state_file = state.replace(' ', '_') state_file = state.replace(' ', '_')
@ -1163,6 +1162,18 @@ class Roster_window:
image.set_from_file(file) image.set_from_file(file)
break break
def init_transports_pixbufs(self, arg, dirname, fnames):
name_only = os.path.basename(dirname)
print name_only
print name_only != 'transports'
if name_only != 'transports' or not name_only.startswith('.svn'):
for fname in fnames: # fname is not abs
print 'fname', fname, 'in dir', dirname
transport_kind = name_only
return
self.transports_pixbufs[transport_kind][fname] = 'be'
def reload_pixbufs(self): def reload_pixbufs(self):
self.mkpixbufs() self.mkpixbufs()
# Update the roster # Update the roster
@ -1205,11 +1216,11 @@ class Roster_window:
def iconCellDataFunc(self, column, renderer, model, iter, data=None): def iconCellDataFunc(self, column, renderer, model, iter, data=None):
'''When a row is added, set properties for icon renderer''' '''When a row is added, set properties for icon renderer'''
if model.get_value(iter, 2) == 'account': if model.get_value(iter, 2) == 'account':
renderer.set_property('cell-background', \ renderer.set_property('cell-background',
gajim.config.get('accountbgcolor')) gajim.config.get('accountbgcolor'))
renderer.set_property('xalign', 0) renderer.set_property('xalign', 0)
elif model.get_value(iter, 2) == 'group': elif model.get_value(iter, 2) == 'group':
renderer.set_property('cell-background', \ renderer.set_property('cell-background',
gajim.config.get('groupbgcolor')) gajim.config.get('groupbgcolor'))
renderer.set_property('xalign', 0.5) renderer.set_property('xalign', 0.5)
else: else:
@ -1220,7 +1231,7 @@ class Roster_window:
elif jid in self.to_be_removed[account]: elif jid in self.to_be_removed[account]:
renderer.set_property('cell-background', '#ab6161') renderer.set_property('cell-background', '#ab6161')
else: else:
renderer.set_property('cell-background', \ renderer.set_property('cell-background',
gajim.config.get('userbgcolor')) gajim.config.get('userbgcolor'))
renderer.set_property('xalign', 1) renderer.set_property('xalign', 1)
renderer.set_property('width', 20) renderer.set_property('width', 20)
@ -1228,30 +1239,30 @@ class Roster_window:
def nameCellDataFunc(self, column, renderer, model, iter, data=None): def nameCellDataFunc(self, column, renderer, model, iter, data=None):
'''When a row is added, set properties for name renderer''' '''When a row is added, set properties for name renderer'''
if model.get_value(iter, 2) == 'account': if model.get_value(iter, 2) == 'account':
renderer.set_property('foreground', \ renderer.set_property('foreground',
gajim.config.get('accounttextcolor')) gajim.config.get('accounttextcolor'))
renderer.set_property('cell-background', \ renderer.set_property('cell-background',
gajim.config.get('accountbgcolor')) gajim.config.get('accountbgcolor'))
renderer.set_property('font', gajim.config.get('accountfont')) renderer.set_property('font', gajim.config.get('accountfont'))
renderer.set_property('xpad', 0) renderer.set_property('xpad', 0)
elif model.get_value(iter, 2) == 'group': elif model.get_value(iter, 2) == 'group':
renderer.set_property('foreground', \ renderer.set_property('foreground',
gajim.config.get('grouptextcolor')) gajim.config.get('grouptextcolor'))
renderer.set_property('cell-background', \ renderer.set_property('cell-background',
gajim.config.get('groupbgcolor')) gajim.config.get('groupbgcolor'))
renderer.set_property('font', gajim.config.get('groupfont')) renderer.set_property('font', gajim.config.get('groupfont'))
renderer.set_property('xpad', 4) renderer.set_property('xpad', 4)
else: else:
jid = model.get_value(iter, 3) jid = model.get_value(iter, 3)
account = model.get_value(iter, 4) account = model.get_value(iter, 4)
renderer.set_property('foreground', \ renderer.set_property('foreground',
gajim.config.get('usertextcolor')) gajim.config.get('usertextcolor'))
if jid in self.newly_added[account]: if jid in self.newly_added[account]:
renderer.set_property('cell-background', '#adc3c6') renderer.set_property('cell-background', '#adc3c6')
elif jid in self.to_be_removed[account]: elif jid in self.to_be_removed[account]:
renderer.set_property('cell-background', '#ab6161') renderer.set_property('cell-background', '#ab6161')
else: else:
renderer.set_property('cell-background', \ renderer.set_property('cell-background',
gajim.config.get('userbgcolor')) gajim.config.get('userbgcolor'))
renderer.set_property('font', gajim.config.get('userfont')) renderer.set_property('font', gajim.config.get('userfont'))
renderer.set_property('xpad', 8) renderer.set_property('xpad', 8)
@ -1388,8 +1399,10 @@ class Roster_window:
model.set_sort_column_id(1, gtk.SORT_ASCENDING) model.set_sort_column_id(1, gtk.SORT_ASCENDING)
self.tree.set_model(model) self.tree.set_model(model)
self.mkpixbufs() self.mkpixbufs()
self.transports_pixbufs = { 'aim': {}, 'gadugadu': {}, 'icq': {}, 'msn': {}, 'yahoo': {} }
os.path.walk('../data/iconsets/transports', self.init_transports_pixbufs, None) # arg is None
liststore = gtk.ListStore(gobject.TYPE_STRING, gtk.Image, \ liststore = gtk.ListStore(gobject.TYPE_STRING, gtk.Image,
gobject.TYPE_STRING) gobject.TYPE_STRING)
self.status_combobox = gtk.ComboBox() self.status_combobox = gtk.ComboBox()
self.xml.get_widget('vbox1').pack_end(self.status_combobox, False) self.xml.get_widget('vbox1').pack_end(self.status_combobox, False)
@ -1452,7 +1465,7 @@ class Roster_window:
self.tree.connect('drag_data_get', self.drag_data_get_data) self.tree.connect('drag_data_get', self.drag_data_get_data)
self.tree.connect('drag_data_received', self.drag_data_received_data) self.tree.connect('drag_data_received', self.drag_data_received_data)
self.xml.signal_autoconnect(self) self.xml.signal_autoconnect(self)
self.id_signal_cb = self.status_combobox.connect('changed',\ self.id_signal_cb = self.status_combobox.connect('changed',
self.on_status_combobox_changed) self.on_status_combobox_changed)
self.hidden_lines = gajim.config.get('hiddenlines').split('\t') self.hidden_lines = gajim.config.get('hiddenlines').split('\t')