Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2011-03-31 15:31:17 (GMT)
committer Simon Schampijer <simon@schampijer.de>2011-03-31 15:31:17 (GMT)
commite385144b67404de98ddcd74b99e4745bbe0d7834 (patch)
tree6e3782849b6f3eaad9f789eceecdcdfdd61c13d2
parent985cb8dd4c047ae5eb02dd011794d8c89a6d8ae8 (diff)
Fully update the salut account information when the nick name changes #10749
When we update the nick name we need to update the information saved by the telepathy account manager. This does fix the complete update of the salut account information. Signed-off-by: Simon Schampijer <simon@laptop.org> Acked-by: Sascha Silbe <silbe@activitycentral.com>
-rw-r--r--src/jarabe/model/neighborhood.py39
1 files changed, 25 insertions, 14 deletions
diff --git a/src/jarabe/model/neighborhood.py b/src/jarabe/model/neighborhood.py
index aea3aa3..4bb9d92 100644
--- a/src/jarabe/model/neighborhood.py
+++ b/src/jarabe/model/neighborhood.py
@@ -800,12 +800,12 @@ class Neighborhood(gobject.GObject):
server = client.get_string(
'/desktop/sugar/collaboration/jabber_server')
account_id = self._get_jabber_account_id()
- needs_reconnect = account.UpdateParameters({'server': server,
- 'account': account_id,
- 'register': True},
- dbus.Array([], 's'),
- dbus_interface=ACCOUNT)
- if needs_reconnect:
+ params_needing_reconnect = account.UpdateParameters(
+ {'server': server,
+ 'account': account_id,
+ 'register': True},
+ dbus.Array([], 's'), dbus_interface=ACCOUNT)
+ if params_needing_reconnect:
account.Reconnect()
self._update_jid()
@@ -814,10 +814,22 @@ class Neighborhood(gobject.GObject):
logging.debug('__nick_changed_cb')
nick = client.get_string('/desktop/sugar/user/nick')
- for account in self._server_account, self._link_local_account:
- bus = dbus.Bus()
- obj = bus.get_object(ACCOUNT_MANAGER_SERVICE, account.object_path)
- obj.Set(ACCOUNT, 'Nickname', nick, dbus_interface=PROPERTIES_IFACE)
+
+ bus = dbus.Bus()
+ server_obj = bus.get_object(ACCOUNT_MANAGER_SERVICE,
+ self._server_account.object_path)
+ server_obj.Set(ACCOUNT, 'Nickname', nick,
+ dbus_interface=PROPERTIES_IFACE)
+
+ link_local_obj = bus.get_object(ACCOUNT_MANAGER_SERVICE,
+ self._link_local_account.object_path)
+ link_local_obj.Set(ACCOUNT, 'Nickname', nick,
+ dbus_interface=PROPERTIES_IFACE)
+ params_needing_reconnect = link_local_obj.UpdateParameters(
+ {'nickname': nick, 'published-name': self._get_published_name()},
+ dbus.Array([], 's'), dbus_interface=ACCOUNT)
+ if params_needing_reconnect:
+ link_local_obj.Reconnect()
self._update_jid()
@@ -827,10 +839,9 @@ class Neighborhood(gobject.GObject):
self._link_local_account.object_path)
account_id = self._get_jabber_account_id()
- needs_reconnect = account.UpdateParameters({'jid': account_id},
- dbus.Array([], 's'),
- dbus_interface=ACCOUNT)
- if needs_reconnect:
+ params_needing_reconnect = account.UpdateParameters(
+ {'jid': account_id}, dbus.Array([], 's'), dbus_interface=ACCOUNT)
+ if params_needing_reconnect:
account.Reconnect()
def __buddy_added_cb(self, account, contact_id, nick, handle):