Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activities
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2006-11-15 12:56:19 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2006-11-15 12:56:19 (GMT)
commit59d57a03d9673e4f8f9c07aa7ba84edef32b8976 (patch)
tree825251fb38b27e97555f23d26026f60b7957d3ef /activities
parent66acd2a91b0f0b98ef3428e4a4c14f21d8aa0f1f (diff)
First implementation of ClipboardService. Implement pdf viewing and downloading via ClipboardService.
Diffstat (limited to 'activities')
-rw-r--r--activities/web/webactivity.py33
1 files changed, 28 insertions, 5 deletions
diff --git a/activities/web/webactivity.py b/activities/web/webactivity.py
index 200bd39..14a763d 100644
--- a/activities/web/webactivity.py
+++ b/activities/web/webactivity.py
@@ -18,10 +18,12 @@ from gettext import gettext as _
import gtk
import gtkmozembed
import logging
+import dbus
import _sugar
from sugar.activity import ActivityFactory
from sugar.activity.Activity import Activity
+from sugar.clipboard import ClipboardService
from sugar import env
from sugar.graphics import style
import web.stylesheet
@@ -104,12 +106,33 @@ def start():
style.load_stylesheet(web.stylesheet)
- chandler = _sugar.get_browser_chandler()
- chandler.connect('handle-content', handle_content_cb)
+ download_manager = _sugar.get_download_manager()
+ download_manager.connect('download-started', download_started_cb)
+ download_manager.connect('download-completed', download_completed_cb)
+ download_manager.connect('download-cancelled', download_started_cb)
+ download_manager.connect('download-progress', download_progress_cb)
def stop():
gtkmozembed.pop_startup()
-def handle_content_cb(chandler, url, mimeType, tmpFileName):
- activity = ActivityFactory.create("org.laptop.sugar.Xbook")
- activity.execute("open_document", [tmpFileName])
+def download_started_cb(download_manager, download):
+ name = download.get_url().rsplit('/', 1)[1]
+
+ cbService = ClipboardService.get_instance()
+ cbService.add_object(name,
+ download.get_mime_type(),
+ download.get_file_name())
+
+def download_completed_cb(download_manager, download):
+ cbService = ClipboardService.get_instance()
+ cbService.set_object_state(download.get_file_name(), 100)
+
+def download_cancelled_cb(download_manager, download):
+ #FIXME: Needs to update the state of the object to 'download stopped'.
+ #FIXME: Will do it when we complete progress on the definition of the
+ #FIXME: clipboard API.
+ raise "Cancelling downloads still not implemented."
+
+def download_progress_cb(download_manager, download):
+ cbService = ClipboardService.get_instance()
+ cbService.set_object_state(download.get_file_name(), download.get_percent())