Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/jukeboxactivity.py
diff options
context:
space:
mode:
authorKushal Das <kushal@fedoraproject.org>2008-11-26 09:09:07 (GMT)
committer Kushal Das <kushal@fedoraproject.org>2008-11-26 09:09:07 (GMT)
commit6a337fc468af3c7193bc1d6d87cd31001c6d7066 (patch)
tree5c157fa4ca180fa04e9445e382466c8f691ed9e1 /jukeboxactivity.py
parentdb1f3b3c95d8ee431adb3a327bca512e8068c27a (diff)
Code for ObjectPicker to get filename while first time starting up of the Activity
Diffstat (limited to 'jukeboxactivity.py')
-rw-r--r--jukeboxactivity.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/jukeboxactivity.py b/jukeboxactivity.py
index 2c4926e..3af8173 100644
--- a/jukeboxactivity.py
+++ b/jukeboxactivity.py
@@ -27,6 +27,7 @@ from gettext import gettext as _
import os
from sugar.activity import activity
+from sugar.graphics.objectchooser import ObjectChooser
import pygtk
pygtk.require('2.0')
@@ -99,6 +100,10 @@ class JukeboxActivity(activity.Activity):
self.bin.add(self.videowidget)
self.set_canvas(self.bin)
self.show_all()
+ #From ImageViewer Activity
+ self._want_document = True
+ self._show_object_picker = gobject.timeout_add(1000, \
+ self._show_picker_cb)
if handle.uri:
self.uri = handle.uri
@@ -216,6 +221,25 @@ class JukeboxActivity(activity.Activity):
logging.debug("shared start")
pass
+ def _show_picker_cb(self):
+ #From ImageViewer Activity
+ if not self._want_document:
+ return
+
+ chooser = ObjectChooser(_('Choose document'), self,
+ gtk.DIALOG_MODAL |
+ gtk.DIALOG_DESTROY_WITH_PARENT)
+
+ try:
+ result = chooser.run()
+ if result == gtk.RESPONSE_ACCEPT:
+ jobject = chooser.get_selected_object()
+ if jobject and jobject.file_path:
+ self._start(jobject.file_path)
+ finally:
+ chooser.destroy()
+ del chooser
+
def read_file(self, file_path):
self.uri = os.path.abspath(file_path)
if os.path.islink(self.uri):
@@ -234,6 +258,7 @@ class JukeboxActivity(activity.Activity):
return result
def _start(self, uri=None):
+ self._want_document = False
logging.info(uri)
self.playpath = os.path.dirname(uri)
if not uri: