Mohammed Sameer [Mon, 7 Jan 2013 22:20:45 +0000 (00:20 +0200)]
Initialize viewfinderFilters to null
If the configuration file doesn't specify any filters to use then this pointer carries
garbage.
Mohammed Sameer [Mon, 7 Jan 2013 22:03:51 +0000 (00:03 +0200)]
Initialize sink before trying to fill it via g_object_get()
Mohammed Sameer [Mon, 7 Jan 2013 22:02:48 +0000 (00:02 +0200)]
Fixed a crash if we fail to create viewfinderFilters.
Don't try to call QtCamAnalsisBin methods if it's null
Mohammed Sameer [Mon, 7 Jan 2013 21:46:09 +0000 (23:46 +0200)]
Pass constData() to open()
Mohammed Sameer [Mon, 7 Jan 2013 10:59:53 +0000 (12:59 +0200)]
ModeButton should show the mode to be switched to instead of the active mode
Mohammed Sameer [Mon, 7 Jan 2013 10:58:18 +0000 (12:58 +0200)]
Use dialogs for image and video settings.
Mohammed Sameer [Mon, 7 Jan 2013 02:53:05 +0000 (04:53 +0200)]
Bind zoom value to slider value
If we don't do so, zoom will be reset upon the creation of the RecordingPage
Zoom will still be reset when we switch modes anyway because we do that explicitly
Mohammed Sameer [Sun, 6 Jan 2013 22:04:34 +0000 (00:04 +0200)]
No need for those TODOs anymore
Mohammed Sameer [Sun, 6 Jan 2013 21:13:27 +0000 (23:13 +0200)]
Race condition when QtCamVideo::stop() gets called multiple times.
camerabin2 sends the video-done message before setting idle to true.
If we get a chance to call QtCamVideoMode::stop() for a second time before
camerabin2 gets a chance to reset its idle property to true then we deadlock.
Introducing a boolean value to indicate that we have received the video-done message
fixes the issue. said boolean is always accessed while mutex is locked to avoid
any race conditions.
Mohammed Sameer [Sun, 6 Jan 2013 20:31:54 +0000 (22:31 +0200)]
Reworked synchronous video recording stop
The issue with QtCamGStreamerMessageListener::waitForMessage() is that
gst_bus_timed_pop_filtered() will drop the messages not matching our type. This
means our handlers might not process such messages.
What we do now is pass a custom DoneHandler subclass in QtCamVideoMode which will
wait on a QWaitCondition for video-done to be received.
Since video-done is sent from the streaming thread and DoneHandler is installed
as a sync handler, we are sure to block the UI thread until video gets saved.
Mohammed Sameer [Sat, 5 Jan 2013 19:28:31 +0000 (21:28 +0200)]
Try to load the encoding profiles from DATA_DIR if needed
Mohammed Sameer [Sat, 5 Jan 2013 19:27:37 +0000 (21:27 +0200)]
Changed configuration directory.
- New path is /usr/share/qtcamera/config/
- define DATA_DIR to be used by all classes
Mohammed Sameer [Sat, 5 Jan 2013 18:10:34 +0000 (20:10 +0200)]
Stop recording in page.stopRecording() instead of page destruction handler and force sync
This seems to fix issues with corrupted video when closing camera, minimizing it
or losing resources in the middle of recording.
Mohammed Sameer [Sat, 5 Jan 2013 18:09:05 +0000 (20:09 +0200)]
Added sync parameter to QtCamVideo::stopRecording()
When sync is set to true, stopRecording() will wait for video-done message
to be posted to the GstBus before returning thus ensuring that recording has
been completed.
Mohammed Sameer [Sat, 5 Jan 2013 18:06:55 +0000 (20:06 +0200)]
Declarative Camera should deactivete active mode when destroyed before stopping the device.
This will prevent losing the video being recorded when closing camera while recording
Mohammed Sameer [Sat, 5 Jan 2013 15:40:36 +0000 (17:40 +0200)]
Kill CameraPage::needsPipeline property
If a page doesn't need the pipeline then it should set the policyMode to CameraResources.None
Mohammed Sameer [Sat, 5 Jan 2013 15:33:26 +0000 (17:33 +0200)]
If a page doesn't need the pipeline then switch to off only if the camera is idle
Mohammed Sameer [Sat, 5 Jan 2013 15:27:42 +0000 (17:27 +0200)]
PostCapture page doesn't need any policy resources so just release them
Mohammed Sameer [Fri, 4 Jan 2013 16:52:34 +0000 (18:52 +0200)]
Call page.play() instead of video.play()
page.play() should do some error checking.
Mohammed Sameer [Fri, 4 Jan 2013 15:18:06 +0000 (17:18 +0200)]
Always show the toolbar if there is an error loading the preview
Mohammed Sameer [Fri, 4 Jan 2013 15:15:55 +0000 (17:15 +0200)]
Don't show QuillImage if there is an error
This makes the error label visible
Mohammed Sameer [Fri, 4 Jan 2013 14:48:17 +0000 (16:48 +0200)]
Check for mass storage mode before disk space before we capture an image
Mohammed Sameer [Thu, 3 Jan 2013 23:12:42 +0000 (01:12 +0200)]
Autohide toolbar in PostCapturePage
Mohammed Sameer [Thu, 3 Jan 2013 20:06:33 +0000 (22:06 +0200)]
Added TODOs
Mohammed Sameer [Wed, 2 Jan 2013 04:05:12 +0000 (06:05 +0200)]
QML/JS debugger needs QtScript
Mohammed Sameer [Wed, 2 Jan 2013 04:04:25 +0000 (06:04 +0200)]
Renamed imports to declarative and libimports to libdeclarativeqtcamera
Mohammed Sameer [Wed, 2 Jan 2013 02:52:30 +0000 (04:52 +0200)]
Autohide video player toolbar after 3 seconds of inactivity
Mohammed Sameer [Wed, 2 Jan 2013 02:47:27 +0000 (04:47 +0200)]
Cleaned up commented code
Mohammed Sameer [Wed, 2 Jan 2013 01:07:31 +0000 (03:07 +0200)]
Added a hack to set the ZoomSlider state to "visible" when zoom keys get pressed.
Mohammed Sameer [Wed, 2 Jan 2013 00:44:58 +0000 (02:44 +0200)]
Delete QSparqlConnection when we are not active
Mohammed Sameer [Wed, 2 Jan 2013 00:44:08 +0000 (02:44 +0200)]
Delete QmBattery when we are not active
Mohammed Sameer [Wed, 2 Jan 2013 00:39:49 +0000 (02:39 +0200)]
Volume up and down keys should now work and change zoom
Mohammed Sameer [Wed, 2 Jan 2013 00:19:42 +0000 (02:19 +0200)]
Removed unneeded mutex.
Mohammed Sameer [Tue, 1 Jan 2013 21:13:35 +0000 (23:13 +0200)]
Adding qmljsdebug to config will enable QML/JS debugger
Mohammed Sameer [Tue, 1 Jan 2013 21:10:57 +0000 (23:10 +0200)]
Added a TODO file and moved the big features there
Mohammed Sameer [Tue, 1 Jan 2013 17:08:33 +0000 (19:08 +0200)]
Added ISO selector to CameraToolBar
Mohammed Sameer [Tue, 1 Jan 2013 16:04:28 +0000 (18:04 +0200)]
Implemented own DeviceInfo
Mohammed Sameer [Tue, 1 Jan 2013 15:23:33 +0000 (17:23 +0200)]
Added grid lines
Mohammed Sameer [Tue, 1 Jan 2013 13:22:39 +0000 (15:22 +0200)]
Make ScaleButtonType optional.
We can still zoom without it
Mohammed Sameer [Tue, 1 Jan 2013 13:20:48 +0000 (15:20 +0200)]
Remove ScaleButtonType acquisition from policy. Will introduce it if I ever get hw with such key
Mohammed Sameer [Tue, 1 Jan 2013 01:08:53 +0000 (03:08 +0200)]
set the width of the delegate to the width of the parent. image width gets 10 pixels less
Mohammed Sameer [Tue, 1 Jan 2013 00:36:26 +0000 (02:36 +0200)]
Added pinch zoom TODO
Mohammed Sameer [Mon, 31 Dec 2012 23:22:54 +0000 (01:22 +0200)]
Fixed image preview
We were showing the preview image only during the opacity animation.
The intention was to show it during pause animation too.
Mohammed Sameer [Mon, 31 Dec 2012 23:22:41 +0000 (01:22 +0200)]
TODO cleanup
Mohammed Sameer [Mon, 31 Dec 2012 22:46:57 +0000 (00:46 +0200)]
This file is not used anywhere
Mohammed Sameer [Mon, 31 Dec 2012 20:44:56 +0000 (22:44 +0200)]
Use Qtm namespace for QtMobility.systeminfo to resolve the BatteryInfo conflict
Mohammed Sameer [Mon, 31 Dec 2012 20:12:20 +0000 (22:12 +0200)]
Replaced QtMobility BatteryInfo
Mohammed Sameer [Mon, 31 Dec 2012 02:40:04 +0000 (04:40 +0200)]
Use Qt resource system for QML and JS files
Mohammed Sameer [Mon, 31 Dec 2012 02:39:31 +0000 (04:39 +0200)]
ListItem not needed
Mohammed Sameer [Mon, 31 Dec 2012 01:59:53 +0000 (03:59 +0200)]
Reworked mode animation.
Use a series of property change notifications and bindings to derive the animation/
The PauseAnimation {} is needed because the dimmer doesn't fully dim without it :(
Mohammed Sameer [Sat, 29 Dec 2012 23:45:05 +0000 (01:45 +0200)]
Post capture timeout removed.
Unlikely to be implemented.
Removed its commented code and properties from settings.
Mohammed Sameer [Sat, 29 Dec 2012 22:55:32 +0000 (00:55 +0200)]
Reworked VideoPlayerPage to use CameraToolBar
Mohammed Sameer [Sat, 29 Dec 2012 21:55:08 +0000 (23:55 +0200)]
Use CameraToolBar instead of the ToolBar from components.
Top bar also replaced with a rectangle
Mohammed Sameer [Sat, 29 Dec 2012 21:54:53 +0000 (23:54 +0200)]
Pass the correct url to video player
Mohammed Sameer [Sat, 29 Dec 2012 21:52:46 +0000 (23:52 +0200)]
Added a manualBack property and clicked signal to CameraToolBar
Setting this property to true will disable tool bar back handling and
will emmit clicked instead.
Mohammed Sameer [Sat, 29 Dec 2012 19:47:54 +0000 (21:47 +0200)]
Cleaned unneeded TODO items
Mohammed Sameer [Sat, 29 Dec 2012 19:10:55 +0000 (21:10 +0200)]
Added the ability to mark and unmark favorites from post capture page
Mohammed Sameer [Sat, 29 Dec 2012 01:46:35 +0000 (03:46 +0200)]
Implemented PostCaptureModel using QtSparql:
- Ability to remove rows
- Partial live update support
Mohammed Sameer [Fri, 28 Dec 2012 09:47:46 +0000 (11:47 +0200)]
Added gallery integration
Mohammed Sameer [Fri, 28 Dec 2012 09:25:23 +0000 (11:25 +0200)]
Ported ShareHelper to ShareUiInterface
Mohammed Sameer [Fri, 28 Dec 2012 03:10:59 +0000 (05:10 +0200)]
Use a running index to generate unique file names.
If we start capturing an image before the previous one gets a chance to be written
then we might accidentally return the same name twice.
Mohammed Sameer [Fri, 28 Dec 2012 02:58:30 +0000 (04:58 +0200)]
Implemented file deletion
Mohammed Sameer [Fri, 28 Dec 2012 02:31:48 +0000 (04:31 +0200)]
Invoke share UI when share button gets tapped
Mohammed Sameer [Fri, 28 Dec 2012 00:40:19 +0000 (02:40 +0200)]
More work on post capture
Rewrote sparql query
Video detection using rdf:type instead of mime type
Icons to toolbar
Mohammed Sameer [Fri, 28 Dec 2012 00:24:09 +0000 (02:24 +0200)]
Revert "Added mime type to TrackerStore"
This reverts commit
05387c1332b218bd76fb1095b2a960ff24634bc7.
Mohammed Sameer [Fri, 28 Dec 2012 00:09:10 +0000 (02:09 +0200)]
Use white back icon
Mohammed Sameer [Thu, 27 Dec 2012 22:28:51 +0000 (00:28 +0200)]
Added mime type to TrackerStore
Mohammed Sameer [Thu, 27 Dec 2012 22:05:30 +0000 (00:05 +0200)]
Use canonical paths for our storage and temporary paths.
We are inserting virtual objects into tracker using /home/developer while
tracker indexes them from /home/user and thus our virtual objects get ignored.
Mohammed Sameer [Thu, 27 Dec 2012 22:05:20 +0000 (00:05 +0200)]
style fix
Mohammed Sameer [Thu, 27 Dec 2012 18:21:39 +0000 (20:21 +0200)]
Standby should be visible when we have no current page
Mohammed Sameer [Thu, 27 Dec 2012 18:19:03 +0000 (20:19 +0200)]
Bind width to parent.width
Mohammed Sameer [Thu, 27 Dec 2012 17:47:39 +0000 (19:47 +0200)]
Added mute/unmute video recording sound
Mohammed Sameer [Thu, 27 Dec 2012 17:06:54 +0000 (19:06 +0200)]
Moved standby to its own component
Mohammed Sameer [Thu, 27 Dec 2012 04:25:40 +0000 (06:25 +0200)]
Disable viewfinder in settings pages
Mohammed Sameer [Thu, 27 Dec 2012 04:21:49 +0000 (06:21 +0200)]
Don't do an initial population of the stack when we are initiated.
We end up pushing items twice
Mohammed Sameer [Wed, 26 Dec 2012 02:54:07 +0000 (04:54 +0200)]
Added a floating toolbar to be used instead of the top left buttons.
We also use it to change settings affecting capture (ev, wb, cf, ...)
Also offers quick access to flash and video torch
Reworked the UI to use that toolbar and moved items around
Mohammed Sameer [Wed, 26 Dec 2012 02:53:41 +0000 (04:53 +0200)]
Cleanup
Mohammed Sameer [Tue, 25 Dec 2012 01:35:44 +0000 (03:35 +0200)]
Reworked ModeButton to use a Switch
Mohammed Sameer [Tue, 25 Dec 2012 00:37:29 +0000 (02:37 +0200)]
added error handling. this TODO has been completed
Mohammed Sameer [Mon, 24 Dec 2012 22:53:28 +0000 (00:53 +0200)]
Reworked and fixed pipeline error handling.
Each page can now implement cameraError() to do any cleanup when we get an error
Mohammed Sameer [Mon, 24 Dec 2012 22:52:09 +0000 (00:52 +0200)]
Don't show debugging information when we get an error.
Mohammed Sameer [Mon, 24 Dec 2012 20:43:46 +0000 (22:43 +0200)]
Remove commented APPLICATION_CLASS
Mohammed Sameer [Mon, 24 Dec 2012 20:29:53 +0000 (22:29 +0200)]
Stopping resource policy thread properly to avoid freezing while closing camera
Mohammed Sameer [Mon, 24 Dec 2012 15:32:13 +0000 (17:32 +0200)]
Reworked DoneHandler to avoid race conditions
If we start capturing the 2nd image before the first gets saved then we
accidentally try to rename the 1st image to the 2nd image.
We now only try to rename if we have a temporarily file name and a mode file name.
Since video mode only sets tempFileName then we should be fine as we don't really
allow recording a new video before the old one gets saved.
For images, we simply use the filename from the structure for the saved() signal
and fall back to the mode fileName if it's empty without overwriting the members
of QtCamModePrivate
Mohammed Sameer [Mon, 24 Dec 2012 15:10:06 +0000 (17:10 +0200)]
Add a MouseArea to PreviewImage and prevent interacting with controls below while its visible
Mohammed Sameer [Mon, 24 Dec 2012 15:09:24 +0000 (17:09 +0200)]
set standby widget z to 2
Mohammed Sameer [Mon, 24 Dec 2012 14:55:34 +0000 (16:55 +0200)]
Add a MouseArea to standby widget to prevent interactions with controls below
Mohammed Sameer [Mon, 24 Dec 2012 14:36:07 +0000 (16:36 +0200)]
Don't bind visibility to standby widget visibility anymore
Standby widget has a z value of 1 and will cover everything.
Mohammed Sameer [Mon, 24 Dec 2012 13:47:07 +0000 (15:47 +0200)]
Fixes for focus reticle
- Animate x, y and scale changes
- Starting the pipeline will set ROI according to the reticle position
- use anchors to center reticle when not in touch mode to avoid precision
inaccuracy with floats
Mohammed Sameer [Mon, 24 Dec 2012 02:43:03 +0000 (04:43 +0200)]
Pages which don't need the pipeline should show standby when application window is not active.
Mohammed Sameer [Mon, 24 Dec 2012 02:42:28 +0000 (04:42 +0200)]
set z value for standby to 1 so it shows above all other widgets
Mohammed Sameer [Mon, 24 Dec 2012 01:25:17 +0000 (03:25 +0200)]
Added/Updated TODO items
Mohammed Sameer [Mon, 24 Dec 2012 00:28:38 +0000 (02:28 +0200)]
Added CameraPage::policyLost()
This function to be called by PipelineManager when we lose resources and are about
to stop camera.
It's used by RecordingPage to dismiss itself.
Mohammed Sameer [Sun, 23 Dec 2012 23:30:34 +0000 (01:30 +0200)]
Reworked MountProtector using QTemporaryFile
Mohammed Sameer [Sun, 23 Dec 2012 22:44:19 +0000 (00:44 +0200)]
ambr doesn't need any UI handling. Remove it from TODOs
Mohammed Sameer [Sun, 23 Dec 2012 22:20:44 +0000 (00:20 +0200)]
CameraPage::updatePolicy() not used anywhere. Remove it.
Mohammed Sameer [Sun, 23 Dec 2012 22:17:27 +0000 (00:17 +0200)]
No need to anchor fill our parent. Page.qml sets width and height for us
Mohammed Sameer [Sun, 23 Dec 2012 21:13:48 +0000 (23:13 +0200)]
Monitor pulse audio state and reconnect when it dies and gets re-spawned again
Mohammed Sameer [Sun, 23 Dec 2012 15:26:51 +0000 (17:26 +0200)]
make fence sync objects configurable
Mohammed Sameer [Sun, 23 Dec 2012 15:07:06 +0000 (17:07 +0200)]
No more assertions after fixing the viewfinder stopping logic in QtCamDevice::stop()