Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/ImageProcessorActivity.py
diff options
context:
space:
mode:
Diffstat (limited to 'ImageProcessorActivity.py')
-rw-r--r--ImageProcessorActivity.py34
1 files changed, 26 insertions, 8 deletions
diff --git a/ImageProcessorActivity.py b/ImageProcessorActivity.py
index 7d41306..a3382e1 100644
--- a/ImageProcessorActivity.py
+++ b/ImageProcessorActivity.py
@@ -184,6 +184,7 @@ class ImageProcessorActivity(activity.Activity):
self._view_toolbar.connect('redo', self.__redo_cb)
self._view_toolbar.connect('save', self.__save_cb)
self._view_toolbar.connect('paste',self.__paste_cb)
+ self._view_toolbar.connect('original',self.view.original_cb)
view_toolbar_button = ToolbarButton(page=self._view_toolbar, icon_name='toolbar-view')
self._view_toolbar.show()
toolbar_box.toolbar.insert(view_toolbar_button, -1)
@@ -232,18 +233,18 @@ class ImageProcessorActivity(activity.Activity):
spacer.props.draw = False
toolbar_box.toolbar.insert(spacer, -1)
spacer.show()
-
- original_button = ToolButton('original')
- original_button.set_tooltip(_('original pic'))
- original_button.connect('clicked', self.view.original_cb)
- toolbar_box.toolbar.insert(original_button, -1)
- original_button.show()
fullscreen_button = ToolButton('view-fullscreen')
fullscreen_button.set_tooltip(_('Fullscreen'))
fullscreen_button.connect('clicked', self.__fullscreen_cb)
toolbar_box.toolbar.insert(fullscreen_button, -1)
fullscreen_button.show()
+
+ cam_button = ToolButton('camera')
+ cam_button.set_tooltip(_('take a pic'))
+ cam_button.connect('clicked', self.cam_cb)
+ toolbar_box.toolbar.insert(cam_button, -1)
+ cam_button.show()
@@ -258,6 +259,24 @@ class ImageProcessorActivity(activity.Activity):
stop_button.show()
+ def cam_cb(self, button):
+ import gst, sys, time
+ from random import *
+ from sugar.datastore import datastore
+ photocmd = 'v4l2src ! ffmpegcolorspace ! jpegenc ! filesink location=/tmp/photo' + '.jpg'
+ # take photo
+ pipeline = gst.parse_launch (photocmd)
+ pipeline.set_state(gst.STATE_PLAYING)
+ time.sleep(3)
+ pipeline.set_state(gst.STATE_NULL)
+ journal_object = datastore.create()
+ journal_object.metadata['title'] = 'new-image'
+ journal_object.metadata['mime_type'] = 'image/jpeg57'
+ journal_object.file_path = '/tmp/photo' + '.jpg'
+ self.view.set_file_location(journal_object.file_path)
+ datastore.write( journal_object )
+ journal_object.destroy()
+
def watermrk_cb(self, button,pos):
self.w="kuch"
self.do_load_an_image_cb(button)
@@ -381,8 +400,7 @@ class ImageProcessorActivity(activity.Activity):
self.metadata['activity'] = self.get_bundle_id()
self.metadata['zoom'] = str(self.zoom)
if self._close_requested:
- os.link(self._tempfile, file_path)
- os.unlink(self._tempfile)
+ self.view.save_cb(file_path)
self._tempfile = None
else:
raise NotImplementedError