diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2006-06-15 02:04:44 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2006-06-15 02:04:44 (GMT) |
commit | a4b2e74d257b8abe47fdbc4af9169a413c31a6a2 (patch) | |
tree | 8d4d26a229eaa6e7af1eaa8baa2dd1e6e51f62b8 /sugar/browser | |
parent | 3e3c168ab05c4a7cd89992225f6318ef5bdf0f23 (diff) |
Get rid of the web search activity, refactor
Diffstat (limited to 'sugar/browser')
-rw-r--r-- | sugar/browser/BrowserShell.py | 28 | ||||
-rw-r--r-- | sugar/browser/WebActivity.py | 59 | ||||
-rwxr-xr-x | sugar/browser/browser.py | 8 |
3 files changed, 10 insertions, 85 deletions
diff --git a/sugar/browser/BrowserShell.py b/sugar/browser/BrowserShell.py index 7cd0b1c..fc43fe5 100644 --- a/sugar/browser/BrowserShell.py +++ b/sugar/browser/BrowserShell.py @@ -5,35 +5,17 @@ import gobject import sugar.env -from sugar.browser.WebActivity import WebActivity 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): - geckoembed.set_profile_path(sugar.env.get_user_dir()) - - session_bus = dbus.SessionBus() - bus_name = dbus.service.BusName('com.redhat.Sugar.Browser', bus=session_bus) - object_path = '/com/redhat/Sugar/Browser' - + def __init__(self, object_path = '/com/redhat/Sugar/Browser'): dbus.service.Object.__init__(self, bus_name, object_path) - + + geckoembed.set_profile_path(sugar.env.get_user_dir()) self.__browsers = [] - def open_web_activity(self): - web_activity = WebActivity(self) - web_activity.connect_to_shell() + def start(): + gtk.main() @dbus.service.method('com.redhat.Sugar.BrowserShell') def get_links(self): diff --git a/sugar/browser/WebActivity.py b/sugar/browser/WebActivity.py deleted file mode 100644 index 9e6f978..0000000 --- a/sugar/browser/WebActivity.py +++ /dev/null @@ -1,59 +0,0 @@ -import pygtk -pygtk.require('2.0') -import gtk -import geckoembed - -from sugar.shell import activity -from sugar.browser.AddressItem import AddressItem - -class AddressToolbar(gtk.Toolbar): - def __init__(self, shell): - gtk.Toolbar.__init__(self) - - self._shell = shell - - address_item = AddressItem(self.__open_address_cb) - self.insert(address_item, 0) - address_item.show() - - def __open_address_cb(self, address): - self._shell.open_browser(address) - -class WebActivity(activity.Activity): - def __init__(self, shell): - activity.Activity.__init__(self) - self._shell = shell - - def 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() - - self.embed = geckoembed.Embed() - self.embed.connect("open-address", self.__open_address); - vbox.pack_start(self.embed) - self.embed.show() - - address_toolbar = AddressToolbar(self._shell) - vbox.pack_start(address_toolbar, False) - address_toolbar.show() - - plug = self.gtk_plug() - plug.add(vbox) - plug.show() - - vbox.show() - - self.embed.load_address("http://www.google.com") - - def __open_address(self, embed, uri, data=None): - if uri.startswith("http://www.google.com"): - return False - else: - self._shell.open_browser(uri) - return True - - def on_disconnected_from_shell(self): - gtk.main_quit() diff --git a/sugar/browser/browser.py b/sugar/browser/browser.py index cb57b23..b486bf3 100755 --- a/sugar/browser/browser.py +++ b/sugar/browser/browser.py @@ -3,6 +3,7 @@ import pygtk pygtk.require('2.0') import gtk +import dbus import sugar.env @@ -14,6 +15,7 @@ log_writer.start() gtk.rc_parse(sugar.env.get_data_file('browser.rc')) -BrowserShell.get_instance().open_web_activity() - -gtk.main() +session_bus = dbus.SessionBus() +bus_name = dbus.service.BusName('com.redhat.Sugar.Browser', bus=session_bus) +shell = BrowserShell(bus_name) +shell.start() |