Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-05-14 05:21:22 (GMT)
committer Dan Williams <dcbw@redhat.com>2007-05-14 05:21:22 (GMT)
commit02c99e2a0cbd9b514415a675f019f784be64d47c (patch)
treea3e623b4c1d3d0d78a602f539ff9f5636683007a /shell
parente1b3cde65e310715c2dfaae7378f23622a547774 (diff)
Handle buddy nick changes
Diffstat (limited to 'shell')
-rw-r--r--shell/model/BuddyModel.py5
-rw-r--r--shell/view/BuddyMenu.py8
2 files changed, 11 insertions, 2 deletions
diff --git a/shell/model/BuddyModel.py b/shell/model/BuddyModel.py
index a551e1e..e4b7c95 100644
--- a/shell/model/BuddyModel.py
+++ b/shell/model/BuddyModel.py
@@ -24,6 +24,8 @@ class BuddyModel(gobject.GObject):
__gsignals__ = {
'appeared': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
'disappeared': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])),
+ 'nick-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
+ ([gobject.TYPE_PYOBJECT])),
'color-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
([gobject.TYPE_PYOBJECT])),
'icon-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
@@ -132,6 +134,9 @@ class BuddyModel(gobject.GObject):
self.emit('color-changed', self.get_color())
if 'current-activity' in keys:
self.emit('current-activity-changed', buddy.props.current_activity)
+ if 'nick' in keys:
+ self._nick = self._buddy.props.nick
+ self.emit('nick-changed', self.get_nick())
def _buddy_disappeared_cb(self, buddy):
if buddy != self._buddy:
diff --git a/shell/view/BuddyMenu.py b/shell/view/BuddyMenu.py
index 16e43cf..83a24c6 100644
--- a/shell/view/BuddyMenu.py
+++ b/shell/view/BuddyMenu.py
@@ -47,7 +47,8 @@ class BuddyMenu(Menu):
self.add_separator()
self.append(icon_item)
- self._buddy.connect('icon-changed', self.__buddy_icon_changed_cb)
+ self._buddy.connect('icon-changed', self._buddy_icon_changed_cb)
+ self._buddy.connect('nick-changed', self._buddy_nick_changed_cb)
owner = shell.get_model().get_owner()
if buddy.get_nick() != owner.get_nick():
@@ -96,5 +97,8 @@ class BuddyMenu(Menu):
_('Invite'),
'theme:stock-invite'))
- def __buddy_icon_changed_cb(self, buddy):
+ def _buddy_icon_changed_cb(self, buddy):
pass
+
+ def _buddy_nick_changed_cb(self, buddy, nick):
+ self.set_title(nick)