[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [digikam] utilities/cameragui: move camera advanced settings widget
From: Gilles Caulier <caulier.gilles () gmail ! com>
Date: 2011-08-12 11:41:45
Message-ID: 20110812114145.711FEA60A4 () git ! kde ! org
[Download RAW message or body]
Git commit b792081abd2eb163867238b34d83e2dc90204e65 by Gilles Caulier.
Committed on 12/08/2011 at 13:40.
Pushed by cgilles into branch 'master'.
move camera advanced settings widget implementation to a dedicated class
M +1 -0 utilities/cameragui/CMakeLists.txt
M +3 -23 utilities/cameragui/main/cameraui_p.h
M +21 -95 utilities/cameragui/main/cameraui.cpp
M +3 -5 utilities/cameragui/main/cameraui.h
M +5 -4 utilities/cameragui/views/cameraiconview.cpp
A +74 -0 utilities/cameragui/widgets/advancedsettings.h [License: GPL \
(v2+)] A +196 -0 utilities/cameragui/widgets/advancedsettings.cpp [License: \
GPL (v2+)]
http://commits.kde.org/digikam/b792081abd2eb163867238b34d83e2dc90204e65
diff --git a/utilities/cameragui/CMakeLists.txt b/utilities/cameragui/CMakeLists.txt
index e414d1e..8146f17 100644
--- a/utilities/cameragui/CMakeLists.txt
+++ b/utilities/cameragui/CMakeLists.txt
@@ -20,6 +20,7 @@ SET(libcameragui_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/widgets/freespacewidget.cpp
${CMAKE_CURRENT_SOURCE_DIR}/widgets/renamecustomizer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/widgets/albumcustomizer.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/widgets/advancedsettings.cpp
${CMAKE_CURRENT_SOURCE_DIR}/main/cameraui.cpp
${CMAKE_CURRENT_SOURCE_DIR}/q3support/icongroupitem.cpp
diff --git a/utilities/cameragui/main/cameraui.cpp \
b/utilities/cameragui/main/cameraui.cpp index 6935766..63f32bf 100644
--- a/utilities/cameragui/main/cameraui.cpp
+++ b/utilities/cameragui/main/cameraui.cpp
@@ -97,7 +97,6 @@
#include "thumbnailsize.h"
#include "sidebar.h"
#include "thememanager.h"
-#include "templateselector.h"
#include "setup.h"
#include "downloadsettingscontainer.h"
#include "downloadhistory.h"
@@ -247,48 +246,8 @@ void CameraUI::setupUserArea()
// -- On the Fly options ---------------------------------------------------
- QWidget* onFlyBox = new QWidget(d->advBox);
- QVBoxLayout* onFlyVlay = new QVBoxLayout(onFlyBox);
- d->templateSelector = new TemplateSelector(onFlyBox);
- d->fixDateTimeCheck = new QCheckBox(i18n("Fix internal date && time"), \
onFlyBox);
- d->dateTimeEdit = new DDateTimeEdit(onFlyBox, "datepicker");
- d->autoRotateCheck = new QCheckBox(i18n("Auto-rotate/flip image"), \
onFlyBox);
- d->convertJpegCheck = new QCheckBox(i18n("Convert to lossless file format"), \
onFlyBox);
- KHBox* hbox2 = new KHBox(onFlyBox);
- d->formatLabel = new QLabel(i18n("New image format:"), hbox2);
- d->losslessFormat = new KComboBox(hbox2);
- d->losslessFormat->insertItem(0, "PNG");
- d->losslessFormat->insertItem(1, "TIF");
- d->losslessFormat->insertItem(2, "JP2");
- d->losslessFormat->insertItem(3, "PGF");
-
- onFlyVlay->addWidget(d->templateSelector);
- onFlyVlay->addWidget(d->fixDateTimeCheck);
- onFlyVlay->addWidget(d->dateTimeEdit);
- onFlyVlay->addWidget(d->autoRotateCheck);
- onFlyVlay->addWidget(d->convertJpegCheck);
- onFlyVlay->addWidget(hbox2);
- onFlyVlay->addStretch();
- onFlyVlay->setMargin(KDialog::spacingHint());
- onFlyVlay->setSpacing(KDialog::spacingHint());
-
- onFlyBox->setWhatsThis( i18n("Set here all options to fix/transform JPEG files \
automatically "
- "as they are downloaded."));
- d->autoRotateCheck->setWhatsThis( i18n("Enable this option if you want images \
automatically "
- "rotated or flipped using EXIF \
information provided by the camera."));
- d->templateSelector->setWhatsThis( i18n("Select here which metadata template you \
want to apply "
- "to images."));
- d->fixDateTimeCheck->setWhatsThis( i18n("Enable this option to set date and time \
metadata "
- "tags to the right values if your camera \
does not set "
- "these tags correctly when pictures are \
taken. The values will "
- "be saved in the DateTimeDigitized and \
DateTimeCreated EXIF, XMP, and IPTC tags."));
- d->convertJpegCheck->setWhatsThis( i18n("Enable this option to automatically \
convert "
- "all JPEG files to a lossless image \
format. <b>Note:</b> Image conversion can take a "
- "while on a slow computer."));
- d->losslessFormat->setWhatsThis( i18n("Select your preferred lossless image file \
format to "
- "convert to. <b>Note:</b> All metadata \
will be preserved during the conversion."));
-
- d->advBox->addItem(onFlyBox, SmallIcon("system-run"), i18n("On the Fly \
Operations (JPEG only)"), + d->advancedSettings = new AdvancedSettings(d->advBox);
+ d->advBox->addItem(d->advancedSettings, SmallIcon("system-run"), i18n("On the \
Fly Operations (JPEG only)"), QString("OnFlyBox"), true);
d->advBox->addStretch();
@@ -528,21 +487,9 @@ void CameraUI::setupActions()
void CameraUI::setupConnections()
{
- connect(d->convertJpegCheck, SIGNAL(toggled(bool)),
- d->losslessFormat, SLOT(setEnabled(bool)));
-
- connect(d->convertJpegCheck, SIGNAL(toggled(bool)),
- d->formatLabel, SLOT(setEnabled(bool)));
-
- connect(d->convertJpegCheck, SIGNAL(toggled(bool)),
- d->view, SLOT(slotDownloadNameChanged()));
-
- connect(d->losslessFormat, SIGNAL(activated(int)),
+ connect(d->advancedSettings, SIGNAL(signalDownloadNameChanged()),
d->view, SLOT(slotDownloadNameChanged()));
- connect(d->fixDateTimeCheck, SIGNAL(toggled(bool)),
- d->dateTimeEdit, SLOT(setEnabled(bool)));
-
connect(d->historyView, SIGNAL(signalEntryClicked(QVariant)),
this, SLOT(slotHistoryEntryClicked(QVariant)));
@@ -712,15 +659,11 @@ void CameraUI::readSettings()
KSharedConfig::Ptr config = KGlobal::config();
KConfigGroup group = config->group(d->configGroupName);
- d->autoRotateCheck->setChecked(group.readEntry("AutoRotate", true));
- d->fixDateTimeCheck->setChecked(group.readEntry("FixDateTime", \
false));
- d->templateSelector->setTemplateIndex(group.readEntry("Template", 0));
- d->convertJpegCheck->setChecked(group.readEntry("ConvertJpeg", \
false));
- d->losslessFormat->setCurrentIndex(group.readEntry("LossLessFormat", 0)); \
// PNG by default
- d->view->setThumbnailSize(group.readEntry("ThumbnailSize", \
(int)ThumbnailSize::Large));
- d->showLogAction->setChecked(group.readEntry("ShowLog", \
false));
- d->lastPhotoFirstAction->setChecked(group.readEntry("LastPhotoFirst", true));
+ d->view->setThumbnailSize(group.readEntry("ThumbnailSize", \
(int)ThumbnailSize::Large)); + \
d->showLogAction->setChecked(group.readEntry("ShowLog", false)); + \
d->lastPhotoFirstAction->setChecked(group.readEntry("LastPhotoFirst", true)); \
d->albumCustomizer->readSettings(group); + \
d->advancedSettings->readSettings(group);
#if KDCRAW_VERSION >= 0x020000
d->advBox->readSettings(group);
@@ -730,9 +673,6 @@ void CameraUI::readSettings()
d->splitter->restoreState(group);
- d->dateTimeEdit->setEnabled(d->fixDateTimeCheck->isChecked());
- d->losslessFormat->setEnabled(convertLosslessJpegFiles());
- d->formatLabel->setEnabled(convertLosslessJpegFiles());
slotShowLog();
}
@@ -741,15 +681,11 @@ void CameraUI::saveSettings()
KSharedConfig::Ptr config = KGlobal::config();
KConfigGroup group = config->group(d->configGroupName);
- group.writeEntry("AutoRotate", d->autoRotateCheck->isChecked());
- group.writeEntry("FixDateTime", d->fixDateTimeCheck->isChecked());
- group.writeEntry("Template", \
d->templateSelector->getTemplateIndex());
- group.writeEntry("ConvertJpeg", convertLosslessJpegFiles());
- group.writeEntry("LossLessFormat", d->losslessFormat->currentIndex());
- group.writeEntry("ThumbnailSize", d->view->thumbnailSize());
- group.writeEntry("ShowLog", d->showLogAction->isChecked());
- group.writeEntry("LastPhotoFirst", d->lastPhotoFirstAction->isChecked());
+ group.writeEntry("ThumbnailSize", d->view->thumbnailSize());
+ group.writeEntry("ShowLog", d->showLogAction->isChecked());
+ group.writeEntry("LastPhotoFirst", d->lastPhotoFirstAction->isChecked());
d->albumCustomizer->saveSettings(group);
+ d->advancedSettings->saveSettings(group);
#if KDCRAW_VERSION >= 0x020000
d->advBox->writeSettings(group);
@@ -777,24 +713,14 @@ bool CameraUI::isClosed() const
return d->closed;
}
-bool CameraUI::autoRotateJpegFiles() const
-{
- return d->autoRotateCheck->isChecked();
-}
-
-bool CameraUI::convertLosslessJpegFiles() const
-{
- return d->convertJpegCheck->isChecked();
-}
-
-QString CameraUI::losslessFormat() const
+QString CameraUI::cameraTitle() const
{
- return d->losslessFormat->currentText();
+ return d->cameraTitle;
}
-QString CameraUI::cameraTitle() const
+AdvancedSettings* CameraUI::advancedSettings() const
{
- return d->cameraTitle;
+ return d->advancedSettings;
}
void CameraUI::slotCancelButton()
@@ -1572,12 +1498,12 @@ void CameraUI::slotDownload(bool onlySelected, bool \
deleteAfter, Album* album) QDateTime dateTime;
int total = 0;
- downloadSettings.autoRotate = d->autoRotateCheck->isChecked();
- downloadSettings.fixDateTime = d->fixDateTimeCheck->isChecked();
- downloadSettings.newDateTime = d->dateTimeEdit->dateTime();
- downloadSettings.templateTitle = \
d->templateSelector->getTemplate().templateTitle();
- downloadSettings.convertJpeg = convertLosslessJpegFiles();
- downloadSettings.losslessFormat = losslessFormat();
+ downloadSettings.autoRotate = d->advancedSettings->autoRotateJpegFiles();
+ downloadSettings.fixDateTime = d->advancedSettings->fixDateTime();
+ downloadSettings.newDateTime = d->advancedSettings->newDateTime();
+ downloadSettings.templateTitle = d->advancedSettings->templateTitle();
+ downloadSettings.convertJpeg = \
d->advancedSettings->convertLosslessJpegFiles(); + downloadSettings.losslessFormat \
= d->advancedSettings->losslessFormat();
// -- Download camera items -------------------------------
// Since we show camera items in reverse order, downloading need to be done also \
in reverse order.
diff --git a/utilities/cameragui/main/cameraui.h \
b/utilities/cameragui/main/cameraui.h index 96568f5..1141906 100644
--- a/utilities/cameragui/main/cameraui.h
+++ b/utilities/cameragui/main/cameraui.h
@@ -53,6 +53,7 @@ namespace Digikam
class Album;
class CollectionLocation;
class CameraHistoryUpdater;
+class AdvancedSettings;
class CameraUI : public KXmlGuiWindow
{
@@ -74,15 +75,12 @@ public:
bool cameraMkDirSupport() const;
bool cameraDelDirSupport() const;
- bool autoRotateJpegFiles() const;
bool chronologicOrder() const;
- /** Get status of JPEG conversion files to lossless format during download.*/
- bool convertLosslessJpegFiles() const;
- QString losslessFormat() const;
-
QString cameraTitle() const;
+ AdvancedSettings* advancedSettings() const;
+
Q_SIGNALS:
void signalLastDestination(const KUrl&);
diff --git a/utilities/cameragui/main/cameraui_p.h \
b/utilities/cameragui/main/cameraui_p.h index 9ce3c38..92dc027 100644
--- a/utilities/cameragui/main/cameraui_p.h
+++ b/utilities/cameragui/main/cameraui_p.h
@@ -30,12 +30,10 @@
#include <QCheckBox>
#include <QDateTime>
-#include <QLabel>
#include <QString>
// KDE includes
-#include <kcombobox.h>
#include <khelpmenu.h>
#include <kselectaction.h>
#include <ktoggleaction.h>
@@ -55,13 +53,12 @@
#include "dzoombar.h"
#include "freespacewidget.h"
#include "imagepropertiessidebarcamgui.h"
-#include "ddatetimeedit.h"
#include "renamecustomizer.h"
#include "albumcustomizer.h"
+#include "advancedsettings.h"
#include "sidebar.h"
#include "statusnavigatebar.h"
#include "statusprogressbar.h"
-#include "templateselector.h"
using namespace KDcrawIface;
@@ -79,10 +76,6 @@ public:
fullScreen(false),
removeFullScreenButton(false),
fullScreenHideToolBar(false),
- autoRotateCheck(0),
- fixDateTimeCheck(0),
- convertJpegCheck(0),
- formatLabel(0),
refreshIconViewTimer(0),
downloadMenu(0),
deleteMenu(0),
@@ -116,9 +109,7 @@ public:
lastPhotoFirstAction(0),
showMenuBarAction(0),
showLogAction(0),
- losslessFormat(0),
helpMenu(0),
- dateTimeEdit(0),
advBox(0),
splitter(0),
camThumbsCtrl(0),
@@ -127,8 +118,8 @@ public:
view(0),
renameCustomizer(0),
albumCustomizer(0),
+ advancedSettings(0),
anim(0),
- templateSelector(0),
rightSideBar(0),
zoomBar(0),
statusProgressBar(0),
@@ -158,12 +149,6 @@ public:
QSet<QString> foldersToScan;
CamItemInfoList filesToBeAdded;
- QCheckBox* autoRotateCheck;
- QCheckBox* fixDateTimeCheck;
- QCheckBox* convertJpegCheck;
-
- QLabel* formatLabel;
-
QTimer* refreshIconViewTimer;
KMenu* downloadMenu;
@@ -200,14 +185,10 @@ public:
KToggleAction* showMenuBarAction;
KToggleAction* showLogAction;
- KComboBox* losslessFormat;
-
KUrl lastDestURL;
KHelpMenu* helpMenu;
- DDateTimeEdit* dateTimeEdit;
-
RExpanderBox* advBox;
SidebarSplitter* splitter;
@@ -220,11 +201,10 @@ public:
RenameCustomizer* renameCustomizer;
AlbumCustomizer* albumCustomizer;
+ AdvancedSettings* advancedSettings;
DLogoAction* anim;
- TemplateSelector* templateSelector;
-
ImagePropertiesSideBarCamGui* rightSideBar;
DZoomBar* zoomBar;
diff --git a/utilities/cameragui/views/cameraiconview.cpp \
b/utilities/cameragui/views/cameraiconview.cpp index c04e8b1..0088304 100644
--- a/utilities/cameragui/views/cameraiconview.cpp
+++ b/utilities/cameragui/views/cameraiconview.cpp
@@ -54,6 +54,7 @@
// Local includes
#include "advancedrenamemanager.h"
+#include "advancedsettings.h"
#include "parsesettings.h"
#include "cameraiconitem.h"
#include "cameraiconviewtooltip.h"
@@ -403,8 +404,8 @@ void CameraIconView::slotUpdateDownloadNames(bool hasSelection)
startIndex = d->renamer->startIndex();
}
- bool convertLossLessJpeg = d->cameraUI->convertLosslessJpegFiles();
- QString losslessFormat = d->cameraUI->losslessFormat();
+ bool convertLossLessJpeg = \
d->cameraUI->advancedSettings()->convertLosslessJpegFiles(); + QString \
losslessFormat = d->cameraUI->advancedSettings()->losslessFormat();
viewport()->setUpdatesEnabled(false);
@@ -952,12 +953,12 @@ void CameraIconView::itemsSelectionSizeInfo(unsigned long& \
fSizeKB, unsigned lon
if (iconItem->itemInfo().mime == QString("image/jpeg"))
{
- if (d->cameraUI->convertLosslessJpegFiles())
+ if (d->cameraUI->advancedSettings()->convertLosslessJpegFiles())
{
// Estimated size is around 5 x original size when JPEG=>PNG.
dSize += size*5;
}
- else if (d->cameraUI->autoRotateJpegFiles())
+ else if (d->cameraUI->advancedSettings()->autoRotateJpegFiles())
{
// We need a double size to perform rotation.
dSize += size*2;
diff --git a/utilities/cameragui/widgets/advancedsettings.cpp \
b/utilities/cameragui/widgets/advancedsettings.cpp new file mode 100644
index 0000000..e3e3e7f
--- /dev/null
+++ b/utilities/cameragui/widgets/advancedsettings.cpp
@@ -0,0 +1,196 @@
+/* ============================================================
+ *
+ * This file is a part of digiKam project
+ * http://www.digikam.org
+ *
+ * Date : 2011-08-12
+ * Description : advanced settings for camera interface.
+ *
+ * Copyright (C) 2011 by Gilles Caulier <caulier dot gilles at gmail dot com>
+ *
+ * This program is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation;
+ * either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * ============================================================ */
+
+#include "advancedsettings.moc"
+
+// Qt includes
+
+#include <QVBoxLayout>
+#include <QLabel>
+#include <QCheckBox>
+#include <QToolButton>
+
+// KDE includes
+
+#include <kdialog.h>
+#include <klocale.h>
+#include <kcombobox.h>
+#include <khbox.h>
+#include <kdebug.h>
+
+// Local includes
+
+#include "templateselector.h"
+#include "ddatetimeedit.h"
+#include "template.h"
+
+namespace Digikam
+{
+
+class AdvancedSettings::AdvancedSettingsPriv
+{
+public:
+
+ AdvancedSettingsPriv()
+ : formatLabel(0),
+ autoRotateCheck(0),
+ convertJpegCheck(0),
+ fixDateTimeCheck(0),
+ losslessFormat(0),
+ dateTimeEdit(0),
+ templateSelector(0)
+ {
+ }
+
+ QLabel* formatLabel;
+
+ QCheckBox* autoRotateCheck;
+ QCheckBox* convertJpegCheck;
+ QCheckBox* fixDateTimeCheck;
+
+ KComboBox* losslessFormat;
+
+ DDateTimeEdit* dateTimeEdit;
+
+ TemplateSelector* templateSelector;
+};
+
+AdvancedSettings::AdvancedSettings(QWidget* parent)
+ : QWidget(parent), d(new AdvancedSettingsPriv)
+{
+ QVBoxLayout* onFlyVlay = new QVBoxLayout(this);
+ d->templateSelector = new TemplateSelector(this);
+ d->fixDateTimeCheck = new QCheckBox(i18n("Fix internal date && time"), this);
+ d->dateTimeEdit = new DDateTimeEdit(this, "datepicker");
+ d->autoRotateCheck = new QCheckBox(i18n("Auto-rotate/flip image"), this);
+ d->convertJpegCheck = new QCheckBox(i18n("Convert to lossless file format"), \
this); + KHBox* hbox2 = new KHBox(this);
+ d->formatLabel = new QLabel(i18n("New image format:"), hbox2);
+ d->losslessFormat = new KComboBox(hbox2);
+ d->losslessFormat->insertItem(0, "PNG");
+ d->losslessFormat->insertItem(1, "TIF");
+ d->losslessFormat->insertItem(2, "JP2");
+ d->losslessFormat->insertItem(3, "PGF");
+
+ onFlyVlay->addWidget(d->templateSelector);
+ onFlyVlay->addWidget(d->fixDateTimeCheck);
+ onFlyVlay->addWidget(d->dateTimeEdit);
+ onFlyVlay->addWidget(d->autoRotateCheck);
+ onFlyVlay->addWidget(d->convertJpegCheck);
+ onFlyVlay->addWidget(hbox2);
+ onFlyVlay->addStretch();
+ onFlyVlay->setMargin(KDialog::spacingHint());
+ onFlyVlay->setSpacing(KDialog::spacingHint());
+
+ setWhatsThis( i18n("Set here all options to fix/transform JPEG files \
automatically " + "as they are downloaded."));
+ d->autoRotateCheck->setWhatsThis( i18n("Enable this option if you want images \
automatically " + "rotated or flipped using \
EXIF information provided by the camera.")); + d->templateSelector->setWhatsThis( \
i18n("Select here which metadata template you want to apply " + \
"to images.")); + d->fixDateTimeCheck->setWhatsThis( i18n("Enable this option to \
set date and time metadata " + "tags to \
the right values if your camera does not set " + \
"these tags correctly when pictures are taken. The values will " + \
"be saved in the DateTimeDigitized and DateTimeCreated EXIF, XMP, and IPTC tags.")); \
+ d->convertJpegCheck->setWhatsThis( i18n("Enable this option to automatically \
convert " + "all JPEG files to a lossless \
image format. <b>Note:</b> Image conversion can take a " + \
"while on a slow computer.")); + d->losslessFormat->setWhatsThis( i18n("Select \
your preferred lossless image file format to " + \
"convert to. <b>Note:</b> All metadata will be preserved during the conversion.")); +
+ // ---------------------------------------------------------------------------------------
+
+ connect(d->convertJpegCheck, SIGNAL(toggled(bool)),
+ d->losslessFormat, SLOT(setEnabled(bool)));
+
+ connect(d->convertJpegCheck, SIGNAL(toggled(bool)),
+ d->formatLabel, SLOT(setEnabled(bool)));
+
+ connect(d->convertJpegCheck, SIGNAL(toggled(bool)),
+ this, SIGNAL(signalDownloadNameChanged()));
+
+ connect(d->losslessFormat, SIGNAL(activated(int)),
+ this, SIGNAL(signalDownloadNameChanged()));
+
+ connect(d->fixDateTimeCheck, SIGNAL(toggled(bool)),
+ d->dateTimeEdit, SLOT(setEnabled(bool)));
+}
+
+AdvancedSettings::~AdvancedSettings()
+{
+ delete d;
+}
+
+void AdvancedSettings::readSettings(KConfigGroup& group)
+{
+ d->autoRotateCheck->setChecked(group.readEntry("AutoRotate", true));
+ d->fixDateTimeCheck->setChecked(group.readEntry("FixDateTime", false));
+ d->templateSelector->setTemplateIndex(group.readEntry("Template", 0));
+ d->convertJpegCheck->setChecked(group.readEntry("ConvertJpeg", false));
+ d->losslessFormat->setCurrentIndex(group.readEntry("LossLessFormat", 0)); // \
PNG by default +
+ d->dateTimeEdit->setEnabled(d->fixDateTimeCheck->isChecked());
+ d->losslessFormat->setEnabled(convertLosslessJpegFiles());
+ d->formatLabel->setEnabled(convertLosslessJpegFiles());
+}
+
+void AdvancedSettings::saveSettings(KConfigGroup& group)
+{
+ group.writeEntry("AutoRotate", d->autoRotateCheck->isChecked());
+ group.writeEntry("FixDateTime", d->fixDateTimeCheck->isChecked());
+ group.writeEntry("Template", d->templateSelector->getTemplateIndex());
+ group.writeEntry("ConvertJpeg", convertLosslessJpegFiles());
+ group.writeEntry("LossLessFormat", d->losslessFormat->currentIndex());
+}
+
+bool AdvancedSettings::autoRotateJpegFiles() const
+{
+ return d->autoRotateCheck->isChecked();
+}
+
+bool AdvancedSettings::convertLosslessJpegFiles() const
+{
+ return d->convertJpegCheck->isChecked();
+}
+
+QString AdvancedSettings::losslessFormat() const
+{
+ return d->losslessFormat->currentText();
+}
+
+bool AdvancedSettings::fixDateTime() const
+{
+ return d->fixDateTimeCheck->isChecked();
+}
+
+QDateTime AdvancedSettings::newDateTime() const
+{
+ return d->dateTimeEdit->dateTime();
+}
+
+QString AdvancedSettings::templateTitle() const
+{
+ return d->templateSelector->getTemplate().templateTitle();
+}
+
+} // namespace Digikam
diff --git a/utilities/cameragui/widgets/advancedsettings.h \
b/utilities/cameragui/widgets/advancedsettings.h new file mode 100644
index 0000000..e847fe0
--- /dev/null
+++ b/utilities/cameragui/widgets/advancedsettings.h
@@ -0,0 +1,74 @@
+/* ============================================================
+ *
+ * This file is a part of digiKam project
+ * http://www.digikam.org
+ *
+ * Date : 2011-08-12
+ * Description : advanced settings for camera interface.
+ *
+ * Copyright (C) 2011 by Gilles Caulier <caulier dot gilles at gmail dot com>
+ *
+ * This program is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU General
+ * Public License as published by the Free Software Foundation;
+ * either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * ============================================================ */
+
+#ifndef ADVANCEDSETTINGS_H
+#define ADVANCEDSETTINGS_H
+
+// Qt includes
+
+#include <QWidget>
+#include <QDateTime>
+
+// KDE includes
+
+#include <kconfig.h>
+
+namespace Digikam
+{
+
+class AdvancedSettings : public QWidget
+{
+ Q_OBJECT
+
+public:
+
+ AdvancedSettings(QWidget* parent=0);
+ ~AdvancedSettings();
+
+ void readSettings(KConfigGroup& group);
+ void saveSettings(KConfigGroup& group);
+
+ bool autoRotateJpegFiles() const;
+
+ QString templateTitle() const;
+
+ bool fixDateTime() const;
+ QDateTime newDateTime() const;
+
+ /** Get status of JPEG conversion files to lossless format during download.*/
+ bool convertLosslessJpegFiles() const;
+ QString losslessFormat() const;
+
+Q_SIGNALS:
+
+ void signalDownloadNameChanged();
+
+private:
+
+ class AdvancedSettingsPriv;
+ AdvancedSettingsPriv* const d;
+};
+
+} // namespace Digikam
+
+#endif /* ADVANCEDSETTINGS_H */
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic