5 #define PATH QString("%1%2.config%2/cameraplus.conf").arg(QDir::homePath()).arg(QDir::separator())
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
16 Settings::Settings(QObject *parent) :
18 m_settings(new QSettings(PATH, QSettings::IniFormat, this)) {
22 Settings::~Settings() {
23 delete m_settings; m_settings = 0;
26 int Settings::mode() const {
27 return m_settings->value("camera/mode", DEFAULT_MODE).toInt();
30 void Settings::setMode(int mode) {
31 if (mode != Settings::mode()) {
32 m_settings->setValue("camera/mode", mode);
38 QString Settings::creatorName() const {
39 return m_settings->value("camera/creatorName").toString();
42 void Settings::setCreatorName(const QString& name) {
43 if (name != creatorName()) {
44 m_settings->setValue("camera/creatorName", name);
46 emit creatorNameChanged();
50 int Settings::postCaptureTimeout() const {
51 return m_settings->value("camera/postCaptureTimeout", DEFAULT_TIMEOUT).toInt();
54 void Settings::setPostCaptureTimeout(int timeout) {
55 if (timeout != postCaptureTimeout()) {
56 m_settings->setValue("camera/postCaptureTimeout", timeout);
58 emit postCaptureTimeoutChanged();
62 bool Settings::useGps() const {
63 return m_settings->value("camera/useGps", DEFAULT_USE_GPS).toBool();
66 void Settings::setUseGps(bool enable) {
67 if (enable == useGps()) {
68 m_settings->setValue("camera/useGps", enable);
74 bool Settings::useGeotags() const {
75 return m_settings->value("camera/useGeotags", DEFAULT_USE_GEOTAGS).toBool();
78 void Settings::setUseGeotags(bool enable) {
79 if (enable != useGeotags()) {
80 m_settings->setValue("camera/useGeotags", enable);
82 emit useGeotagsChanged();
86 int Settings::imageSceneMode() const {
87 return m_settings->value("image/sceneMode", DEFAULT_SCENE_MODE).toInt();
90 void Settings::setImageSceneMode(int mode) {
91 if (mode != imageSceneMode()) {
92 m_settings->setValue("image/sceneMode", mode);
94 emit imageSceneModeChanged();
98 int Settings::imageColorFilter() const {
99 return m_settings->value("image/colorFilter", DEFAULT_COLOR_FILTER).toInt();
102 void Settings::setImageColorFilter(int filter) {
103 if (filter != imageColorFilter()) {
104 m_settings->setValue("image/colorFilter", filter);
106 emit imageColorFilterChanged();
110 int Settings::imageWhiteBalance() const {
111 return m_settings->value("image/whiteBalance", DEFAULT_WHITE_BALANCE).toInt();
114 void Settings::setImageWhiteBalance(int wb) {
115 if (wb != imageWhiteBalance()) {
116 m_settings->setValue("image/whiteBalance", wb);
118 emit imageWhiteBalanceChanged();
122 qreal Settings::imageEvComp() const {
123 return m_settings->value("image/evComp", DEFAULT_EV_COMP).toReal();
126 void Settings::setImageEvComp(qreal ev) {
127 if (ev != imageEvComp()) {
128 m_settings->setValue("image/evComp", ev);
130 emit imageEvCompChanged();
134 int Settings::videoSceneMode() const {
135 return m_settings->value("video/sceneMode", DEFAULT_SCENE_MODE).toInt();
138 void Settings::setVideoSceneMode(int mode) {
139 if (mode != videoSceneMode()) {
140 m_settings->setValue("video/sceneMode", mode);
142 emit videoSceneModeChanged();
146 int Settings::videoColorFilter() const {
147 return m_settings->value("video/colorFilter", DEFAULT_COLOR_FILTER).toInt();
150 void Settings::setVideoColorFilter(int filter) {
151 if (filter != videoColorFilter()) {
152 m_settings->setValue("video/colorFilter", filter);
154 emit videoColorFilterChanged();
158 int Settings::videoWhiteBalance() const {
159 return m_settings->value("video/whiteBalance", DEFAULT_WHITE_BALANCE).toInt();
162 void Settings::setVideoWhiteBalance(int wb) {
163 if (wb != videoWhiteBalance()) {
164 m_settings->setValue("video/whiteBalance", wb);
166 emit videoWhiteBalanceChanged();
170 qreal Settings::videoEvComp() const {
171 return m_settings->value("video/evComp", DEFAULT_EV_COMP).toReal();
174 void Settings::setVideoEvComp(qreal ev) {
175 if (ev != videoEvComp()) {
176 m_settings->setValue("video/evComp", ev);
178 emit videoEvCompChanged();