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:33:53 (GMT)
commitac626ffa64f391d815a85731b508fce385eeae57 (patch)
treeeeadff03c0543514782988a4ddb28f03cf755c7f
parent5826f25913d074e4078add522ec021a3266196c9 (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):