Get the damned thing to work, finally!

This commit is contained in:
Marco Pesenti Gritti 2006-05-15 17:16:55 -04:00
parent 04d57855f8
commit 5bc2a8a483
4 changed files with 13 additions and 5 deletions

View File

@ -157,15 +157,21 @@ class NavigationToolbar(gtk.Toolbar):
self._embed.load_address(address)
class BrowserActivity(activity.Activity):
SOLO = 1
FOLLOWING = 2
LEADING = 3
def __init__(self, group, uri):
activity.Activity.__init__(self)
self.uri = uri
self._group = group
self._mode = BrowserActivity.SOLO
def _setup_shared(self, uri):
self._model = self._group.get_store().get_model(uri)
if self._model:
self._mode = BrowserActivity.FOLLOWING
self._load_shared_address()
self._model.add_listener(self.__shared_address_changed_cb)
@ -205,6 +211,7 @@ class BrowserActivity(activity.Activity):
self._model = self._group.get_store().create_model(address)
self._model.set_value('current_address', address)
self._model.add_listener(self.__shared_address_changed_cb)
self._mode = MODE_LEADING
bus = dbus.SessionBus()
proxy_obj = bus.get_object('com.redhat.Sugar.Chat', '/com/redhat/Sugar/Chat')
@ -215,6 +222,7 @@ class BrowserActivity(activity.Activity):
def __title_cb(self, embed):
self.activity_set_tab_text(embed.get_title())
# Temporary hack, we need an UI
if self._mode == BrowserActivity.LEADING:
self._model.set_value('current_address', self.embed.get_address())
def _load_shared_address(self):

View File

@ -110,7 +110,7 @@ class LocalGroup(Group):
for prop in avahi.txt_array_to_string_array(txt):
(key, value) = prop.split('=')
if key == 'multicast':
if key == 'group_address':
service.set_group_address(value)
if stype == PRESENCE_SERVICE_TYPE:

View File

@ -9,10 +9,10 @@ class NotificationListener:
self._recv_multicast)
server.start()
self._listeners = {}
self._listeners = []
def add_listener(self, listener):
self._listeners.add(listener)
self._listeners.append(listener)
def _recv_multicast(self, msg):
for listener in self._listeners:

View File

@ -29,7 +29,7 @@ class Service(object):
def set_address(self, address):
self._address = address
def set_group_address(self):
def set_group_address(self, group_address):
self._group_address = group_address
def is_multicast(self):