Added an option to disable preview for images and videos (inactive)
authorMohammed Sameer <msameer@foolab.org>
Sat, 14 Sep 2013 20:56:06 +0000 (23:56 +0300)
committerMohammed Sameer <msameer@foolab.org>
Sat, 14 Sep 2013 20:56:06 +0000 (23:56 +0300)
qml/CameraSettings.qml
qml/CameraView.qml
src/settings.cpp
src/settings.h

index cf17969..c25a722 100644 (file)
@@ -109,6 +109,15 @@ Column {
         onCheckedChanged: settings.soundEnabled = checked
     }
 
+    CameraTextSwitch {
+        text: qsTr("Preview images and videos after capturing")
+        visible: false
+        // We have to do it that way because QML complains about a binding
+        // loop for checked if we bind the checked property to the settings value.
+        Component.onCompleted: checked = settings.enablePreview
+        onCheckedChanged: settings.enablePreview = checked
+    }
+
     CameraTextSwitch {
         id: useGps
         text: qsTr("Use GPS")
index 9268f5c..4cba7d3 100644 (file)
@@ -141,7 +141,11 @@ Viewfinder {
 
     Connections {
         target: loader.item
-        onPreviewAvailable: preview.setPreview(uri)
+        onPreviewAvailable: {
+            if (settings.enablePreview) {
+                preview.setPreview(uri)
+            }
+        }
     }
 
     Binding {
index b287731..726f6e5 100644 (file)
@@ -36,6 +36,7 @@
 #define DEFAULT_ZOOM_AS_SHUTTER         false
 #define DEFAULT_PROXIMITY_AS_SHUTTER    false
 #define DEFAULT_DEVICE                  0
+#define DEFAULT_ENABLE_PREVIEW          true
 
 Settings::Settings(QObject *parent) :
   QObject(parent),
@@ -441,3 +442,15 @@ void Settings::setFileNamingCounter(const QString& id, int counter) {
   QString key = QString("fileNaming/%1").arg(id);
   m_settings->setValue(key, counter);
 }
+
+bool Settings::isPreviewEnabled() const {
+  return m_settings->value("camera/enablePreview", DEFAULT_ENABLE_PREVIEW).toBool();
+}
+
+void Settings::setPreviewEnabled(bool enabled) {
+  if (enabled != isPreviewEnabled()) {
+    m_settings->setValue("camera/enablePreview", enabled);
+
+    emit previewEnabledChanged();
+  }
+}
index b08a057..153e83d 100644 (file)
@@ -66,6 +66,7 @@ class Settings : public QObject {
   Q_PROPERTY(bool zoomAsShutter READ isZoomAsShutterEnabled WRITE setZoomAsShutterEnabled NOTIFY zoomAsShutterChanged);
   Q_PROPERTY(bool proximityAsShutter READ isProximityAsShutterEnabled WRITE setProximityAsShutterEnabled NOTIFY proximityAsShutterChanged);
   Q_PROPERTY(int device READ device WRITE setDevice NOTIFY deviceChanged);
+  Q_PROPERTY(bool enablePreview READ isPreviewEnabled WRITE setPreviewEnabled NOTIFY previewEnabledChanged);
 
 public:
   Settings(QObject *parent = 0);
@@ -158,6 +159,9 @@ public:
   int fileNamingCounter(const QString& id) const;
   void setFileNamingCounter(const QString& id, int counter);
 
+  bool isPreviewEnabled() const;
+  void setPreviewEnabled(bool enabled);
+
 signals:
   void modeChanged();
   void creatorNameChanged();
@@ -187,6 +191,7 @@ signals:
   void proximityAsShutterChanged();
   void deviceAboutToChange();
   void deviceChanged();
+  void previewEnabledChanged();
 
 private:
   DeviceSettings *deviceSettings();