a1decc516e8c969bf4687144838d86725257d723
[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 #define DEFAULT_IMAGE_ISO     0
17
18 Settings::Settings(QObject *parent) :
19   QObject(parent),
20   m_settings(new QSettings(PATH, QSettings::IniFormat, this)) {
21
22 }
23
24 Settings::~Settings() {
25   delete m_settings; m_settings = 0;
26 }
27
28 int Settings::mode() const {
29   return m_settings->value("camera/mode", DEFAULT_MODE).toInt();
30 }
31
32 void Settings::setMode(int mode) {
33   if (mode != Settings::mode()) {
34     m_settings->setValue("camera/mode", mode);
35
36     emit modeChanged();
37   }
38 }
39
40 QString Settings::creatorName() const {
41   return m_settings->value("camera/creatorName").toString();
42 }
43
44 void Settings::setCreatorName(const QString& name) {
45   if (name != creatorName()) {
46     m_settings->setValue("camera/creatorName", name);
47
48     emit creatorNameChanged();
49   }
50 }
51
52 int Settings::postCaptureTimeout() const {
53   return m_settings->value("camera/postCaptureTimeout", DEFAULT_TIMEOUT).toInt();
54 }
55
56 void Settings::setPostCaptureTimeout(int timeout) {
57   if (timeout != postCaptureTimeout()) {
58     m_settings->setValue("camera/postCaptureTimeout", timeout);
59
60     emit postCaptureTimeoutChanged();
61   }
62 }
63
64 bool Settings::useGps() const {
65   return m_settings->value("camera/useGps", DEFAULT_USE_GPS).toBool();
66 }
67
68 void Settings::setUseGps(bool enable) {
69   if (enable != useGps()) {
70     m_settings->setValue("camera/useGps", enable);
71
72     emit useGpsChanged();
73   }
74 }
75
76 bool Settings::useGeotags() const {
77   return m_settings->value("camera/useGeotags", DEFAULT_USE_GEOTAGS).toBool();
78 }
79
80 void Settings::setUseGeotags(bool enable) {
81   if (enable != useGeotags()) {
82     m_settings->setValue("camera/useGeotags", enable);
83
84     emit useGeotagsChanged();
85   }
86 }
87
88 int Settings::imageSceneMode() const {
89   return m_settings->value("image/sceneMode", DEFAULT_SCENE_MODE).toInt();
90 }
91
92 void Settings::setImageSceneMode(int mode) {
93   if (mode != imageSceneMode()) {
94     m_settings->setValue("image/sceneMode", mode);
95
96     emit imageSceneModeChanged();
97   }
98 }
99
100 int Settings::imageColorFilter() const {
101   return m_settings->value("image/colorFilter", DEFAULT_COLOR_FILTER).toInt();
102 }
103
104 void Settings::setImageColorFilter(int filter) {
105   if (filter != imageColorFilter()) {
106     m_settings->setValue("image/colorFilter", filter);
107
108     emit imageColorFilterChanged();
109   }
110 }
111
112 int Settings::imageWhiteBalance() const {
113   return m_settings->value("image/whiteBalance", DEFAULT_WHITE_BALANCE).toInt();
114 }
115
116 void Settings::setImageWhiteBalance(int wb) {
117   if (wb != imageWhiteBalance()) {
118     m_settings->setValue("image/whiteBalance", wb);
119
120     emit imageWhiteBalanceChanged();
121   }
122 }
123
124 qreal Settings::imageEvComp() const {
125   return m_settings->value("image/evComp", DEFAULT_EV_COMP).toReal();
126 }
127
128 void Settings::setImageEvComp(qreal ev) {
129   if (ev != imageEvComp()) {
130     m_settings->setValue("image/evComp", ev);
131
132     emit imageEvCompChanged();
133   }
134 }
135
136 int Settings::videoSceneMode() const {
137   return m_settings->value("video/sceneMode", DEFAULT_SCENE_MODE).toInt();
138 }
139
140 void Settings::setVideoSceneMode(int mode) {
141   if (mode != videoSceneMode()) {
142     m_settings->setValue("video/sceneMode", mode);
143
144     emit videoSceneModeChanged();
145   }
146 }
147
148 int Settings::videoColorFilter() const {
149   return m_settings->value("video/colorFilter", DEFAULT_COLOR_FILTER).toInt();
150 }
151
152 void Settings::setVideoColorFilter(int filter) {
153   if (filter != videoColorFilter()) {
154     m_settings->setValue("video/colorFilter", filter);
155
156     emit videoColorFilterChanged();
157   }
158 }
159
160 int Settings::videoWhiteBalance() const {
161   return m_settings->value("video/whiteBalance", DEFAULT_WHITE_BALANCE).toInt();
162 }
163
164 void Settings::setVideoWhiteBalance(int wb) {
165   if (wb != videoWhiteBalance()) {
166     m_settings->setValue("video/whiteBalance", wb);
167
168     emit videoWhiteBalanceChanged();
169   }
170 }
171
172 qreal Settings::videoEvComp() const {
173   return m_settings->value("video/evComp", DEFAULT_EV_COMP).toReal();
174 }
175
176 void Settings::setVideoEvComp(qreal ev) {
177   if (ev != videoEvComp()) {
178     m_settings->setValue("video/evComp", ev);
179
180     emit videoEvCompChanged();
181   }
182 }
183
184 int Settings::imageFlashMode() const {
185   return m_settings->value("image/flashMode", DEFAULT_FLASH_MODE).toInt();
186 }
187
188 void Settings::setImageFlashMode(int mode) {
189   if (mode != imageFlashMode()) {
190     m_settings->setValue("image/flashMode", mode);
191
192     emit imageFlashModeChanged();
193   }
194 }
195
196 int Settings::imageIso() const {
197   return m_settings->value("image/iso", DEFAULT_IMAGE_ISO).toInt();
198 }
199
200 void Settings::setImageIso(int iso) {
201   if (imageIso() != iso) {
202     m_settings->setValue("image/iso", iso);
203     emit imageIsoChanged();
204   }
205 }