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-01 18:43:59 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2006-11-01 18:43:59 (GMT)
commit23565cfd483e38d3a64cd5980deea47cccb28581 (patch)
treef56a4a4d15308a3b20276edae8e93bff30c1d314 /activities
parentcf508c1d229df5f4f645b7a66d568c1959bc6f62 (diff)
First version of the ClipboardService. Added support for showing the progress of a pdf download in the clipboard.
Diffstat (limited to 'activities')
-rw-r--r--activities/web/webactivity.py32
1 files changed, 28 insertions, 4 deletions
diff --git a/activities/web/webactivity.py b/activities/web/webactivity.py
index 200bd39..c36e2ac 100644
--- a/activities/web/webactivity.py
+++ b/activities/web/webactivity.py
@@ -18,6 +18,7 @@ from gettext import gettext as _
import gtk
import gtkmozembed
import logging
+import dbus
import _sugar
from sugar.activity import ActivityFactory
@@ -105,11 +106,34 @@ def start():
style.load_stylesheet(web.stylesheet)
chandler = _sugar.get_browser_chandler()
- chandler.connect('handle-content', handle_content_cb)
+ chandler.connect('download-started', download_started_cb)
+ chandler.connect('download-completed', download_completed_cb)
+ chandler.connect('download-cancelled', download_started_cb)
+ chandler.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(chandler, url, mimeType, tmpFileName):
+ bus = dbus.SessionBus()
+ proxy_obj = bus.get_object('org.laptop.Clipboard', '/org/laptop/Clipboard')
+ iface = dbus.Interface(proxy_obj, 'org.laptop.Clipboard')
+ iface.add_object(mimeType, tmpFileName)
+
+def download_completed_cb(chandler, tmpFileName):
+ bus = dbus.SessionBus()
+ proxy_obj = bus.get_object('org.laptop.Clipboard', '/org/laptop/Clipboard')
+ iface = dbus.Interface(proxy_obj, 'org.laptop.Clipboard')
+ iface.update_object_state(tmpFileName, 100)
+
+def download_cancelled_cb(chandler, tmpFileName):
+ bus = dbus.SessionBus()
+ proxy_obj = bus.get_object('org.laptop.Clipboard', '/org/laptop/Clipboard')
+ iface = dbus.Interface(proxy_obj, 'org.laptop.Clipboard')
+ iface.delete_object(tmpFileName, 100)
+
+def download_progress_cb(chandler, tmpFileName, progress):
+ bus = dbus.SessionBus()
+ proxy_obj = bus.get_object('org.laptop.Clipboard', '/org/laptop/Clipboard')
+ iface = dbus.Interface(proxy_obj, 'org.laptop.Clipboard')
+ iface.update_object_state(tmpFileName, progress)