Added a setting for imageFlashMode
[harmattan/cameraplus] / src / settings.cpp
1 #include "settings.h"
2 #include <QSettings>
3 #include <QDir>
4
5 #define PATH QString("%1%2.config%2/cameraplus.conf").arg(QDir::homePath()).arg(QDir::separator())
6
7 #define DEFAULT_MODE          0
8 #define DEFAULT_SCENE_MODE    6 // Auto
9 #define DEFAULT_TIMEOUT       0
10 #define DEFAULT_USE_GPS       true
11 #define DEFAULT_USE_GEOTAGS   true
12 #define DEFAULT_COLOR_FILTER  0
13 #define DEFAULT_WHITE_BALANCE 0
14 #define DEFAULT_EV_COMP       0.0
15 #define DEFAULT_FLASH_MODE    0
16
17 Settings::Settings(QObject *parent) :
18   QObject(parent),
19   m_settings(new QSettings(PATH, QSettings::IniFormat, this)) {
20
21 }
22
23 Settings::~Settings() {
24   delete m_settings; m_settings = 0;
25 }
26
27 int Settings::mode() const {
28   return m_settings->value("camera/mode", DEFAULT_MODE).toInt();
29 }
30
31 void Settings::setMode(int mode) {
32   if (mode != Settings::mode()) {
33     m_settings->setValue("camera/mode", mode);
34
35     emit modeChanged();
36   }
37 }
38
39 QString Settings::creatorName() const {
40   return m_settings->value("camera/creatorName").toString();
41 }
42
43 void Settings::setCreatorName(const QString& name) {
44   if (name != creatorName()) {
45     m_settings->setValue("camera/creatorName", name);
46
47     emit creatorNameChanged();
48   }
49 }
50
51 int Settings::postCaptureTimeout() const {
52   return m_settings->value("camera/postCaptureTimeout", DEFAULT_TIMEOUT).toInt();
53 }
54
55 void Settings::setPostCaptureTimeout(int timeout) {
56   if (timeout != postCaptureTimeout()) {
57     m_settings->setValue("camera/postCaptureTimeout", timeout);
58
59     emit postCaptureTimeoutChanged();
60   }
61 }
62
63 bool Settings::useGps() const {
64   return m_settings->value("camera/useGps", DEFAULT_USE_GPS).toBool();
65 }
66
67 void Settings::setUseGps(bool enable) {
68   if (enable == useGps()) {
69     m_settings->setValue("camera/useGps", enable);
70
71     emit useGpsChanged();
72   }
73 }<