/*!
* This file is part of CameraPlus.
*
- * Copyright (C) 2012 Mohammed Sameer <msameer@foolab.org>
+ * Copyright (C) 2012-2013 Mohammed Sameer <msameer@foolab.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
*/
#include "qtcamconfig.h"
+#include "qtcamimagesettings.h"
+#include "qtcamvideosettings.h"
+#include "qtcamquirks.h"
#include <QSettings>
#include <QStringList>
#include <QDebug>
+#include <QMetaEnum>
#define CONFIGURATION_FILE DATA_DIR"/qtcamera.ini"
return new QtCamVideoSettings(id.toString(), suffix, profileName, profilePath, resolutions);
}
+QtCamQuirks *QtCamConfig::quirks(const QVariant& id) {
+ QString group = QString("quirks-%1").arg(id.toString());
+ d_ptr->conf->beginGroup(group);
+ QStringList quirks = d_ptr->conf->value("quirks").toStringList();
+ d_ptr->conf->endGroup();
+
+ QMetaObject m = QtCamQuirks::staticMetaObject;
+ int index = m.indexOfEnumerator("QuirkType");
+ if (index == -1) {
+ qCritical() << "Failed to obtain QuirkType index";
+ return 0;
+ }
+
+ QMetaEnum e = m.enumerator(index);
+
+ int value = 0;
+
+ foreach (const QString& quirk, quirks) {
+ int val = e.keyToValue(quirk.toLatin1().constData());
+
+ if (val == -1) {
+ qWarning() << "Unknown quirk" << quirk;
+ }
+ else {
+ value |= val;
+ }
+ }
+
+ QtCamQuirks::QuirkTypes types = (QtCamQuirks::QuirkTypes)value;
+
+ return new QtCamQuirks(types);
+}
+
QString QtCamConfig::imageEncodingProfileName() const {
return d_ptr->conf->value("image/profile-name").toString();
}
return d_ptr->conf->value("video/extension").toString();
}
-QString QtCamConfig::imageCaptureStartedSound() const {
- return d_ptr->conf->value("sounds/imageCaptureStarted").toString();
+QStringList QtCamConfig::viewfinderFilters() const {
+ return d_ptr->conf->value("viewfinder-filters/elements").toStringList();
}
-QString QtCamConfig::imageCaptureEndedSound() const {
- return d_ptr->conf->value("sounds/imageCaptureEnded").toString();
+QString QtCamConfig::roiElement() const {
+ return d_ptr->conf->value("roi/element").toString();
}
-QString QtCamConfig::videoRecordingStartedSound() const {
- return d_ptr->conf->value("sounds/videoRecordingStarted").toString();
+QString QtCamConfig::roiMessageName() const {
+ return d_ptr->conf->value("roi/message").toString();
}
-QString QtCamConfig::videoRecordingEndedSound() const {
- return d_ptr->conf->value("sounds/videoRecordingEnded").toString();
+QString QtCamConfig::roiEnableProperty() const {
+ return d_ptr->conf->value("roi/enable").toString();
}
-QString QtCamConfig::autoFocusAcquiredSound() const {
- return d_ptr->conf->value("sounds/autoFocusAcquired").toString();
+QString QtCamConfig::roiMessage() const {
+ return d_ptr->conf->value("roi/message").toString();
}
-QStringList QtCamConfig::viewfinderFilters() const {
- return d_ptr->conf->value("viewfinder-filters/elements").toStringList();
+bool QtCamConfig::isPreviewSupported() const {
+ return d_ptr->conf->value("general/preview-supported").toBool();
}