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")
Connections {
target: loader.item
- onPreviewAvailable: preview.setPreview(uri)
+ onPreviewAvailable: {
+ if (settings.enablePreview) {
+ preview.setPreview(uri)
+ }
+ }
}
Binding {
#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),
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();
+ }
+}
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);
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();
void proximityAsShutterChanged();
void deviceAboutToChange();
void deviceChanged();
+ void previewEnabledChanged();
private:
DeviceSettings *deviceSettings();