Refactor dbus out of Activity objects so that we're sure when

This commit is contained in:
Dan Williams
2006-06-02 14:52:20 -04:00
parent f96fbfc10b
commit 4c7f15f694
5 changed files with 261 additions and 218 deletions
+13 -14
View File
@@ -52,16 +52,18 @@ class BrowserActivity(activity.Activity):
self.set_mode(BrowserActivity.FOLLOWING)
self._model.add_listener(self.__shared_location_changed_cb)
def activity_on_connected_to_shell(self):
self.activity_set_ellipsize_tab(True)
self.activity_set_can_close(True)
self.activity_set_tab_text("Web Page")
self.activity_set_tab_icon_name("web-browser")
self.activity_show_icon(True)
def on_connected_to_shell(self):
activity.Activity.on_connected_to_shell(self)
self.set_ellipsize_tab(True)
self.set_can_close(True)
self.set_tab_text("Web Page")
self.set_tab_icon(name="web-browser")
self.set_show_tab_icon(True)
vbox = gtk.VBox()
self._notif_bar = NotificationBar()
self._notif_bar = NotificationBar.NotificationBar()
vbox.pack_start(self._notif_bar, False)
self._notif_bar.connect('action', self.__notif_bar_action_cb)
@@ -72,11 +74,11 @@ class BrowserActivity(activity.Activity):
self.embed.show()
self.embed.load_address(self.uri)
nav_toolbar = NavigationToolbar(self)
nav_toolbar = NavigationToolbar.NavigationToolbar(self)
vbox.pack_start(nav_toolbar, False)
nav_toolbar.show()
plug = self.activity_get_gtk_plug()
plug = self.gtk_plug()
plug.add(vbox)
plug.show()
@@ -104,10 +106,10 @@ class BrowserActivity(activity.Activity):
'">' + escaped_title + '</link></richtext>')
def __title_cb(self, embed):
self.activity_set_tab_text(embed.get_title())
self.set_tab_text(embed.get_title())
def __shared_location_changed_cb(self, model, key):
self.activity_set_has_changes(True)
self.set_has_changes(True)
self._notify_shared_location_change()
def _notify_shared_location_change(self):
@@ -119,6 +121,3 @@ class BrowserActivity(activity.Activity):
self._notif_bar.set_action('goto_shared_location', 'Go There')
self._notif_bar.set_icon('stock_right')
self._notif_bar.show()
def activity_on_close_from_user(self):
self.activity_shutdown()
+6 -3
View File
@@ -1,5 +1,6 @@
import dbus
import geckoembed
import threading
import sugar.env
@@ -9,12 +10,14 @@ from sugar.browser.BrowserActivity import BrowserActivity
class BrowserShell(dbus.service.Object):
instance = None
_lock = threading.Lock()
def get_instance():
BrowserShell._lock.acquire()
if not BrowserShell.instance:
BrowserShell.instance = BrowserShell()
BrowserShell._lock.release()
return BrowserShell.instance
get_instance = staticmethod(get_instance)
def __init__(self):
@@ -31,7 +34,7 @@ class BrowserShell(dbus.service.Object):
def open_web_activity(self):
web_activity = WebActivity(self)
web_activity.activity_connect_to_shell()
web_activity.connect_to_shell()
@dbus.service.method('com.redhat.Sugar.BrowserShell')
def get_links(self):
@@ -48,4 +51,4 @@ class BrowserShell(dbus.service.Object):
def open_browser(self, uri):
browser = BrowserActivity(self._group, uri)
self.__browsers.append(browser)
browser.activity_connect_to_shell()
browser.connect_to_shell()
+9 -6
View File
@@ -24,10 +24,12 @@ class WebActivity(activity.Activity):
activity.Activity.__init__(self)
self._shell = shell
def activity_on_connected_to_shell(self):
self.activity_set_tab_text("Web")
self.activity_set_tab_icon_name("web-browser")
self.activity_show_icon(True)
def on_connected_to_shell(self):
activity.Activity.on_connected_to_shell(self)
self.set_tab_text("Web")
self.set_tab_icon(name="web-browser")
self.set_show_tab_icon(True)
vbox = gtk.VBox()
@@ -40,7 +42,7 @@ class WebActivity(activity.Activity):
vbox.pack_start(address_toolbar, False)
address_toolbar.show()
plug = self.activity_get_gtk_plug()
plug = self.gtk_plug()
plug.add(vbox)
plug.show()
@@ -55,5 +57,6 @@ class WebActivity(activity.Activity):
self._shell.open_browser(uri)
return True
def activity_on_disconnected_from_shell(self):
def on_disconnected_from_shell(self):
activity.Activity.on_disconnected_from_shell(self)
gtk.main_quit()