Mohammed Sameer [Sat, 23 Feb 2013 21:31:02 +0000 (23:31 +0200)]
Debian packaging for Harmattan
Mohammed Sameer [Sun, 24 Feb 2013 16:58:17 +0000 (18:58 +0200)]
If the user has a lot of free space (8 GB for example)
then we will overflow the unsigned long int thus we use a 64 bits "int"
Mohammed Sameer [Sun, 24 Feb 2013 15:04:33 +0000 (17:04 +0200)]
Don't set temporaryFilePath so we can use the default
Mohammed Sameer [Sun, 24 Feb 2013 13:02:34 +0000 (15:02 +0200)]
Ignore the artist size limit. Will fix if someone complains!
Mohammed Sameer [Sat, 23 Feb 2013 22:07:49 +0000 (00:07 +0200)]
qmldir file for declarative library
Mohammed Sameer [Sat, 23 Feb 2013 22:07:31 +0000 (00:07 +0200)]
SVG icon
Mohammed Sameer [Sat, 23 Feb 2013 20:54:16 +0000 (22:54 +0200)]
Added cameraplus.ini to store application specific settings
Mohammed Sameer [Thu, 14 Feb 2013 00:28:50 +0000 (02:28 +0200)]
Set the model to undefined instead of 0
Mohammed Sameer [Thu, 14 Feb 2013 00:22:22 +0000 (02:22 +0200)]
Set the model only after we have changed the aspect ratio
Mohammed Sameer [Thu, 14 Feb 2013 00:20:03 +0000 (02:20 +0200)]
Get rid of ImageSettingsDialog.js
Mohammed Sameer [Thu, 14 Feb 2013 00:19:38 +0000 (02:19 +0200)]
Emit aspectRatioChanged() after we populate the model with new resolutions.
This allows us to avoid creating all buttons then recreating them
after setting aspect ratio upon the construction of settings dialog
Mohammed Sameer [Wed, 13 Feb 2013 23:10:51 +0000 (01:10 +0200)]
Use font.capitalization instead of the custom javascript function used and return back image resolution name
Mohammed Sameer [Wed, 13 Feb 2013 22:59:40 +0000 (00:59 +0200)]
Enable resolution changing only if camera is idle
Mohammed Sameer [Wed, 13 Feb 2013 22:31:31 +0000 (00:31 +0200)]
Get rid of VideoSettingsDialog.js
It has only one function and can be inlined in the QML file
Mohammed Sameer [Mon, 11 Feb 2013 23:50:23 +0000 (01:50 +0200)]
Move video resolution settings to a separate component
Mohammed Sameer [Mon, 11 Feb 2013 23:41:31 +0000 (01:41 +0200)]
Use a Component for initializing VideoSettingsDialog in order to decrease startup time
Mohammed Sameer [Mon, 11 Feb 2013 23:18:04 +0000 (01:18 +0200)]
Don't paint system background
Mohammed Sameer [Mon, 11 Feb 2013 23:17:26 +0000 (01:17 +0200)]
No need for the resolution name. Megapixels should be fine
Mohammed Sameer [Mon, 11 Feb 2013 00:24:07 +0000 (02:24 +0200)]
Disable ROI before opening settings dialog
ImageSettingsDialog is now a component in order to decrease startup time
Mohammed Sameer [Sun, 10 Feb 2013 22:30:30 +0000 (00:30 +0200)]
Move image aspect ratio and resolution settings to its own component
Mohammed Sameer [Sun, 10 Feb 2013 18:13:47 +0000 (20:13 +0200)]
Implemented a component with a switch and a text label and use it in various dialogs
Mohammed Sameer [Mon, 4 Feb 2013 23:54:00 +0000 (01:54 +0200)]
Adjust sound volume depending on whether a headset is connected or not
Mohammed Sameer [Mon, 4 Feb 2013 23:36:26 +0000 (01:36 +0200)]
Add rules to install qtcamera, declarative bindings and the application
Mohammed Sameer [Mon, 4 Feb 2013 23:36:10 +0000 (01:36 +0200)]
Build declarative plugin as a plugin
Mohammed Sameer [Mon, 4 Feb 2013 19:12:59 +0000 (21:12 +0200)]
Cleaned up PKGCONFIG packages
Mohammed Sameer [Mon, 4 Feb 2013 19:03:30 +0000 (21:03 +0200)]
Rename Notifications to DeclarativeQtCameraNotifications
Also move constructor and distructor implementation to the header file.
Mohammed Sameer [Mon, 4 Feb 2013 08:55:51 +0000 (10:55 +0200)]
Remove temporarily file after we open it
This avoids leaving stall files if anything happens
Mohammed Sameer [Mon, 4 Feb 2013 01:25:55 +0000 (03:25 +0200)]
Cleaned up PKGCONFIG
Mohammed Sameer [Mon, 4 Feb 2013 00:59:26 +0000 (02:59 +0200)]
Turn stuff under declarative into a real QML extension
Mohammed Sameer [Sun, 3 Feb 2013 23:42:10 +0000 (01:42 +0200)]
Disable debug by default
Mohammed Sameer [Sat, 2 Feb 2013 20:36:50 +0000 (22:36 +0200)]
FocusReticle now points ROI regions obtained from QtCamera
Mohammed Sameer [Sun, 3 Feb 2013 18:34:01 +0000 (20:34 +0200)]
Declarative ROI can now report unnormalized ROI coordinates using the normalize property
Mohammed Sameer [Sun, 3 Feb 2013 19:38:42 +0000 (21:38 +0200)]
Set area used to calculate primary index to 1x1
We are dealing with normalized coordinates where maximum width and height would be 1
Mohammed Sameer [Sun, 3 Feb 2013 14:34:58 +0000 (16:34 +0200)]
Correctly emit videoResolutionChanged()
We were calling the wrong function in QtCamViewfinderRendererMeeGo::setVideoSize()
thus we were not really emitting the needed signal
Mohammed Sameer [Sat, 2 Feb 2013 20:35:46 +0000 (22:35 +0200)]
QtCamRoiPrivate::primaryRegion() should return the index of rectangle not -1
Mohammed Sameer [Tue, 29 Jan 2013 19:14:01 +0000 (21:14 +0200)]
Added ROI an face detection
Mohammed Sameer [Tue, 8 Jan 2013 00:52:00 +0000 (02:52 +0200)]
set device property if we don't use a wrapper too
Mohammed Sameer [Mon, 7 Jan 2013 23:19:01 +0000 (01:19 +0200)]
Set device property when we create source.
This seems to have been dropped when the function got refactored.
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