From 262b31e3fa4abddd6d45ab276fc6e76949cc84c1 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Wed, 10 Oct 2007 13:24:21 +0000 Subject: Add support for agent and user stylesheets. --- (limited to 'browser.py') diff --git a/browser.py b/browser.py index 9662c00..0c5a65b 100644 --- a/browser.py +++ b/browser.py @@ -31,7 +31,9 @@ from hulahop.webview import WebView from sugar.datastore import datastore from sugar import profile +from sugar import env from sugar.activity import activityfactory +from sugar.activity import activity import sessionstore @@ -66,6 +68,10 @@ class GetSourceListener(gobject.GObject): pass class Browser(WebView): + + AGENT_SHEET = os.path.join(activity.get_bundle_path(), 'agent-stylesheet.css') + USER_SHEET = os.path.join(env.get_profile_path(), 'gecko', 'user-stylesheet.css') + def __init__(self): WebView.__init__(self) @@ -73,7 +79,25 @@ class Browser(WebView): cls = components.classes['@mozilla.org/embedcomp/window-watcher;1'] window_watcher = cls.getService(interfaces.nsIWindowWatcher) window_watcher.setWindowCreator(window_creator) - + + io_service_class = components.classes["@mozilla.org/network/io-service;1"] + io_service = io_service_class.getService(interfaces.nsIIOService) + + cls = components.classes['@mozilla.org/content/style-sheet-service;1'] + style_sheet_service = cls.getService(interfaces.nsIStyleSheetService) + + if os.path.exists(Browser.AGENT_SHEET): + agent_sheet_uri = io_service.newURI('file:///' + Browser.AGENT_SHEET, + None, None) + style_sheet_service.loadAndRegisterSheet(agent_sheet_uri, + interfaces.nsIStyleSheetService.AGENT_SHEET) + + if os.path.exists(Browser.USER_SHEET): + user_sheet_uri = io_service.newURI('file:///' + Browser.USER_SHEET, + None, None) + style_sheet_service.loadAndRegisterSheet(user_sheet_uri, + interfaces.nsIStyleSheetService.USER_SHEET) + def get_session(self): return sessionstore.get_session(self) -- cgit v0.9.1