Use public keys rather than nicknames to differentiate buddies
This commit is contained in:
@@ -33,7 +33,7 @@ class BuddyMenu(Menu):
|
||||
self._buddy = buddy
|
||||
self._shell = shell
|
||||
|
||||
Menu.__init__(self, buddy.get_name())
|
||||
Menu.__init__(self, buddy.get_nick())
|
||||
self.props.border = 0
|
||||
self.props.padding = units.points_to_pixels(5)
|
||||
pixbuf = self._get_buddy_icon_pixbuf()
|
||||
@@ -53,7 +53,7 @@ class BuddyMenu(Menu):
|
||||
self._buddy.connect('icon-changed', self.__buddy_icon_changed_cb)
|
||||
|
||||
owner = shell.get_model().get_owner()
|
||||
if buddy.get_name() != owner.get_name():
|
||||
if buddy.get_nick() != owner.get_nick():
|
||||
self._add_items()
|
||||
|
||||
def _get_buddy_icon_pixbuf(self):
|
||||
|
||||
@@ -59,20 +59,20 @@ class FriendsBox(hippo.CanvasBox):
|
||||
self._active_activity_changed_cb)
|
||||
|
||||
def add_buddy(self, buddy):
|
||||
if self._buddies.has_key(buddy.get_name()):
|
||||
if self._buddies.has_key(buddy.get_key()):
|
||||
return
|
||||
|
||||
model = BuddyModel(buddy=buddy)
|
||||
icon = FriendIcon(self._shell, self._popup_context, model)
|
||||
self.append(icon)
|
||||
|
||||
self._buddies[buddy.get_name()] = icon
|
||||
self._buddies[buddy.get_key()] = icon
|
||||
|
||||
def remove_buddy(self, buddy):
|
||||
if not self._buddies.has_key(buddy.get_name()):
|
||||
if not self._buddies.has_key(buddy.get_key()):
|
||||
return
|
||||
|
||||
self.remove(self._buddies[buddy.get_name()])
|
||||
self.remove(self._buddies[buddy.get_key()])
|
||||
|
||||
def clear(self):
|
||||
for item in self.get_children():
|
||||
|
||||
@@ -48,14 +48,14 @@ class FriendsBox(SpreadBox, hippo.CanvasItem):
|
||||
icon = FriendView(self._shell, self._menu_shell, buddy_info)
|
||||
self.add_item(icon)
|
||||
|
||||
self._friends[buddy_info.get_name()] = icon
|
||||
self._friends[buddy_info.get_key()] = icon
|
||||
|
||||
def _friend_added_cb(self, data_model, buddy_info):
|
||||
self.add_friend(buddy_info)
|
||||
|
||||
def _friend_removed_cb(self, data_model, name):
|
||||
self.remove_item(self._friends[name])
|
||||
del self._friends[name]
|
||||
def _friend_removed_cb(self, data_model, key):
|
||||
self.remove_item(self._friends[key])
|
||||
del self._friends[key]
|
||||
|
||||
def do_allocate(self, width, height, origin_changed):
|
||||
SpreadBox.do_allocate(self, width, height, origin_changed)
|
||||
|
||||
+16
-16
@@ -176,17 +176,17 @@ class ActivityView(SnowflakeBox):
|
||||
self.append(icon, hippo.PACK_FIXED)
|
||||
self.set_root(icon)
|
||||
|
||||
def has_buddy_icon(self, name):
|
||||
return self._icons.has_key(name)
|
||||
def has_buddy_icon(self, key):
|
||||
return self._icons.has_key(key)
|
||||
|
||||
def add_buddy_icon(self, name, icon):
|
||||
self._icons[name] = icon
|
||||
def add_buddy_icon(self, key, icon):
|
||||
self._icons[key] = icon
|
||||
self.append(icon, hippo.PACK_FIXED)
|
||||
|
||||
def remove_buddy_icon(self, name):
|
||||
icon = self._icons[name]
|
||||
def remove_buddy_icon(self, key):
|
||||
icon = self._icons[key]
|
||||
self.remove(icon)
|
||||
del self._icons[name]
|
||||
del self._icons[key]
|
||||
|
||||
def _clicked_cb(self, item):
|
||||
bundle_id = self._model.get_service().get_type()
|
||||
@@ -280,24 +280,24 @@ class MeshBox(SpreadBox):
|
||||
icon = BuddyIcon(self._shell, self._menu_shell, buddy_model)
|
||||
self.add_item(icon)
|
||||
|
||||
self._buddies[buddy_model.get_name()] = icon
|
||||
self._buddies[buddy_model.get_key()] = icon
|
||||
|
||||
def _remove_alone_buddy(self, buddy_model):
|
||||
icon = self._buddies[buddy_model.get_name()]
|
||||
icon = self._buddies[buddy_model.get_key()]
|
||||
self.remove_item(icon)
|
||||
del self._buddies[buddy_model.get_name()]
|
||||
del self._buddies[buddy_model.get_key()]
|
||||
|
||||
def _remove_buddy(self, buddy_model):
|
||||
name = buddy_model.get_name()
|
||||
if self._buddies.has_key(name):
|
||||
key = buddy_model.get_key()
|
||||
if self._buddies.has_key(key):
|
||||
self._remove_alone_buddy(buddy_model)
|
||||
else:
|
||||
for activity in self._activities.values():
|
||||
if activity.has_buddy_icon(name):
|
||||
activity.remove_buddy_icon(name)
|
||||
if activity.has_buddy_icon(key):
|
||||
activity.remove_buddy_icon(key)
|
||||
|
||||
def _move_buddy(self, buddy_model, activity_model):
|
||||
name = buddy_model.get_name()
|
||||
key = buddy_model.get_key()
|
||||
|
||||
self._remove_buddy(buddy_model)
|
||||
|
||||
@@ -307,7 +307,7 @@ class MeshBox(SpreadBox):
|
||||
activity = self._activities[activity_model.get_id()]
|
||||
|
||||
icon = BuddyIcon(self._shell, self._menu_shell, buddy_model)
|
||||
activity.add_buddy_icon(buddy_model.get_name(), icon)
|
||||
activity.add_buddy_icon(buddy_model.get_key(), icon)
|
||||
|
||||
def _add_activity(self, activity_model):
|
||||
icon = ActivityView(self._shell, self._menu_shell, activity_model)
|
||||
|
||||
Reference in New Issue
Block a user