Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-10-10 13:24:21 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-10-10 13:24:21 (GMT)
commit262b31e3fa4abddd6d45ab276fc6e76949cc84c1 (patch)
tree28aa4fe0b686f095cbfe5dec80b0b593d1f2da6b
parentf0835c00502623a12c6a1144d4dac1ebb9e59e8c (diff)
Add support for agent and user stylesheets.
-rw-r--r--browser.py26
1 files changed, 25 insertions, 1 deletions
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)