Fix my roster breakage from cs3613 -- accounts need to be referenced by
name, not name stored in jid field. Use the new get_jid_from_account in a few places.
This commit is contained in:
parent
b503e6bb21
commit
867dc64798
2 changed files with 24 additions and 28 deletions
|
@ -899,10 +899,9 @@ class Connection:
|
||||||
|
|
||||||
if mime_type is not None:
|
if mime_type is not None:
|
||||||
file_props['mime-type'] = mime_type
|
file_props['mime-type'] = mime_type
|
||||||
name = gajim.config.get_per('accounts', self.name, 'name')
|
our_jid = get_jid_from_account(self.name)
|
||||||
hostname = gajim.config.get_per('accounts', self.name, 'hostname')
|
|
||||||
resource = self.server_resource
|
resource = self.server_resource
|
||||||
file_props['receiver'] = name + '@' + hostname + '/' + resource
|
file_props['receiver'] = our_jid + '/' + resource
|
||||||
file_props['sender'] = iq_obj.getFrom()
|
file_props['sender'] = iq_obj.getFrom()
|
||||||
file_props['request-id'] = unicode(iq_obj.getAttr('id'))
|
file_props['request-id'] = unicode(iq_obj.getAttr('id'))
|
||||||
file_props['sid'] = unicode(si.getAttr('id'))
|
file_props['sid'] = unicode(si.getAttr('id'))
|
||||||
|
@ -957,10 +956,9 @@ class Connection:
|
||||||
self.to_be_sent.append(iq)
|
self.to_be_sent.append(iq)
|
||||||
|
|
||||||
def send_file_request(self, file_props):
|
def send_file_request(self, file_props):
|
||||||
name = gajim.config.get_per('accounts', self.name, 'name')
|
our_jid = get_jid_from_account(self.name)
|
||||||
hostname = gajim.config.get_per('accounts', self.name, 'hostname')
|
|
||||||
resource = self.server_resource
|
resource = self.server_resource
|
||||||
frm = name + '@' + hostname + '/' + resource
|
frm = our_jid + '/' + resource
|
||||||
file_props['sender'] = frm
|
file_props['sender'] = frm
|
||||||
fjid = file_props['receiver'].jid + '/' + file_props['receiver'].resource
|
fjid = file_props['receiver'].jid + '/' + file_props['receiver'].resource
|
||||||
iq = common.xmpp.Protocol(name = 'iq', to = fjid,
|
iq = common.xmpp.Protocol(name = 'iq', to = fjid,
|
||||||
|
|
|
@ -67,38 +67,38 @@ class RosterWindow:
|
||||||
model = self.tree.get_model()
|
model = self.tree.get_model()
|
||||||
if model is None:
|
if model is None:
|
||||||
return
|
return
|
||||||
account = model.get_iter_root()
|
account_iter = model.get_iter_root()
|
||||||
while account:
|
while account_iter:
|
||||||
account_name = model.get_value(account, 3).decode('utf-8')
|
account_name = model[account_iter][C_NAME].decode('utf-8')
|
||||||
if name == account_name:
|
if name == account_name:
|
||||||
break
|
break
|
||||||
account = model.iter_next(account)
|
account_iter = model.iter_next(account_iter)
|
||||||
return account
|
return account_iter
|
||||||
|
|
||||||
def get_group_iter(self, name, account):
|
def get_group_iter(self, name, account):
|
||||||
model = self.tree.get_model()
|
model = self.tree.get_model()
|
||||||
root = self.get_account_iter(account)
|
root = self.get_account_iter(account)
|
||||||
group = model.iter_children(root)
|
group_iter = model.iter_children(root)
|
||||||
while group:
|
while group_iter:
|
||||||
group_name = model.get_value(group, 3).decode('utf-8')
|
group_name = model[group_iter][C_NAME].decode('utf-8')
|
||||||
if name == group_name:
|
if name == group_name:
|
||||||
break
|
break
|
||||||
group = model.iter_next(group)
|
group_iter = model.iter_next(group_iter)
|
||||||
return group
|
return group_iter
|
||||||
|
|
||||||
def get_contact_iter(self, jid, account):
|
def get_contact_iter(self, jid, account):
|
||||||
model = self.tree.get_model()
|
model = self.tree.get_model()
|
||||||
acct = self.get_account_iter(account)
|
acct = self.get_account_iter(account)
|
||||||
found = []
|
found = []
|
||||||
fin = False
|
fin = False
|
||||||
group = model.iter_children(acct)
|
group_iter = model.iter_children(acct)
|
||||||
while group:
|
while group_iter:
|
||||||
user = model.iter_children(group)
|
user_iter = model.iter_children(group_iter)
|
||||||
while user:
|
while user_iter:
|
||||||
if jid == model.get_value(user, 3).decode('utf-8'):
|
if jid == model[user_iter][C_JID].decode('utf-8'):
|
||||||
found.append(user)
|
found.append(user_iter)
|
||||||
user = model.iter_next(user)
|
user_iter = model.iter_next(user_iter)
|
||||||
group = model.iter_next(group)
|
group_iter = model.iter_next(group_iter)
|
||||||
return found
|
return found
|
||||||
|
|
||||||
def add_account_to_roster(self, account):
|
def add_account_to_roster(self, account):
|
||||||
|
@ -117,9 +117,7 @@ class RosterWindow:
|
||||||
tls_pixbuf = self.window.render_icon(gtk.STOCK_DIALOG_AUTHENTICATION,
|
tls_pixbuf = self.window.render_icon(gtk.STOCK_DIALOG_AUTHENTICATION,
|
||||||
gtk.ICON_SIZE_MENU) # the only way to create a pixbuf from stock
|
gtk.ICON_SIZE_MENU) # the only way to create a pixbuf from stock
|
||||||
|
|
||||||
name = gajim.config.get_per('accounts', account, 'name')
|
our_jid = gajim.get_jid_from_account(account)
|
||||||
hostname = gajim.config.get_per('accounts', account, 'hostname')
|
|
||||||
our_jid = name + '@' + hostname
|
|
||||||
|
|
||||||
model.append(None, [self.jabber_state_images[status], account,
|
model.append(None, [self.jabber_state_images[status], account,
|
||||||
'account', our_jid, account, False, tls_pixbuf])
|
'account', our_jid, account, False, tls_pixbuf])
|
||||||
|
@ -946,7 +944,7 @@ class RosterWindow:
|
||||||
def mk_menu_account(self, event, iter):
|
def mk_menu_account(self, event, iter):
|
||||||
'''Make account's popup menu'''
|
'''Make account's popup menu'''
|
||||||
model = self.tree.get_model()
|
model = self.tree.get_model()
|
||||||
account = model[iter][C_JID].decode('utf-8')
|
account = model[iter][C_ACCOUNT].decode('utf-8')
|
||||||
|
|
||||||
#FIXME: make most menuitems of this menu insensitive if account is offline
|
#FIXME: make most menuitems of this menu insensitive if account is offline
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue