Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/theme.py
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2009-04-09 16:05:06 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2009-04-09 16:05:06 (GMT)
commit1af713b345b75cd7c9dd112879a79d6c3f8dd881 (patch)
treec0208abc7b21d459bbe362565e27301661d7ed88 /theme.py
parenta5c9f6aac0c9432944e276fb2034dbf90ced8b87 (diff)
Add filter to ObjectChooser invoking
Diffstat (limited to 'theme.py')
-rw-r--r--theme.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/theme.py b/theme.py
index 6021cb6..160b202 100644
--- a/theme.py
+++ b/theme.py
@@ -16,9 +16,12 @@ import os
import gtk
import shutil
from math import ceil
+from gettext import gettext as _
from sugar.activity.activity import get_bundle_path, get_activity_root
from sugar.graphics import style
+from sugar import mime
+from sugar.graphics.objectchooser import ObjectChooser
SOUND_SPEAKER = 'images/sounds/speaker.png'
SOUND_MUTE = 'images/sounds/mute.png'
@@ -104,10 +107,7 @@ EMPTY_THUMB = scale(EMPTY_ORIG)
CUSTOM_FRAME_ORIG = pixbuf('images/pics/custom.png')
CUSTOM_FRAME_THUMB = scale(CUSTOM_FRAME_ORIG)
-def choose(out_fun, default=None):
- from sugar.graphics.objectchooser import ObjectChooser
-
- chooser = ObjectChooser()
+def do_choose(out_fun, default, chooser):
jobject = None
try:
@@ -124,6 +124,20 @@ def choose(out_fun, default=None):
return default
+def choose_image(out_fun, default=None):
+ if hasattr(mime, 'GENERIC_TYPE_IMAGE'):
+ return do_choose(out_fun, default, ObjectChooser(_('Choose image'),
+ what_filter=mime.GENERIC_TYPE_IMAGE))
+ else:
+ return do_choose(out_fun, default, ObjectChooser(_('Choose image')))
+
+def choose_audio(out_fun, default=None):
+ if hasattr(mime, 'GENERIC_TYPE_AUDIO'):
+ return do_choose(out_fun, default, ObjectChooser(_('Choose audio'),
+ what_filter=mime.GENERIC_TYPE_AUDIO))
+ else:
+ return do_choose(out_fun, default, ObjectChooser(_('Choose audio')))
+
def pixbuf2str(pixbuf):
def push(data, buffer):
buffer.write(data)