X-Git-Url: http://cgit.sxemacs.org/?p=harmattan%2Fcameraplus;a=blobdiff_plain;f=lib%2Fqtcamconfig.cpp;h=41da44c4492710c039f5864111eb18455d457ac9;hp=89ffbd3d42e50629a09df9c9134e16399a57e438;hb=2f83aedd8945838e64037ff02dc3b994c2f1cee0;hpb=895498a17049de7244e8bc6e6f8031388a1da209 diff --git a/lib/qtcamconfig.cpp b/lib/qtcamconfig.cpp index 89ffbd3..41da44c 100644 --- a/lib/qtcamconfig.cpp +++ b/lib/qtcamconfig.cpp @@ -1,7 +1,7 @@ /*! * This file is part of CameraPlus. * - * Copyright (C) 2012 Mohammed Sameer + * Copyright (C) 2012-2013 Mohammed Sameer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,11 +19,15 @@ */ #include "qtcamconfig.h" +#include "qtcamimagesettings.h" +#include "qtcamvideosettings.h" +#include "qtcamquirks.h" #include #include #include +#include -#define CONFIGURATION_FILE "/etc/qtcamera/qtcamera.ini" +#define CONFIGURATION_FILE DATA_DIR"/qtcamera.ini" class QtCamConfigPrivate { public: @@ -87,6 +91,10 @@ QString QtCamConfig::viewfinderRenderer() const { return d_ptr->conf->value("viewfinder-sink/renderer").toString(); } +bool QtCamConfig::viewfinderUseFence() const { + return d_ptr->conf->value("viewfinder-sink/use-fence").toBool(); +} + QString QtCamConfig::audioSource() const { return d_ptr->element("audio-source"); } @@ -164,6 +172,39 @@ QtCamVideoSettings *QtCamConfig::videoSettings(const QVariant& id) { 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(); } @@ -192,22 +233,26 @@ QString QtCamConfig::videoSuffix() const { 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::roiElement() const { + return d_ptr->conf->value("roi/element").toString(); } -QString QtCamConfig::imageCaptureEndedSound() const { - return d_ptr->conf->value("sounds/imageCaptureEnded").toString(); +QString QtCamConfig::roiMessageName() const { + return d_ptr->conf->value("roi/message").toString(); } -QString QtCamConfig::videoRecordingStartedSound() const { - return d_ptr->conf->value("sounds/videoRecordingStarted").toString(); +QString QtCamConfig::roiEnableProperty() const { + return d_ptr->conf->value("roi/enable").toString(); } -QString QtCamConfig::videoRecordingEndedSound() const { - return d_ptr->conf->value("sounds/videoRecordingEnded").toString(); +QString QtCamConfig::roiMessage() const { + return d_ptr->conf->value("roi/message").toString(); } -QString QtCamConfig::autoFocusAcquiredSound() const { - return d_ptr->conf->value("sounds/autoFocusAcquired").toString(); +bool QtCamConfig::isPreviewSupported() const { + return d_ptr->conf->value("general/preview-supported").toBool(); }