[Digikam-devel] [Bug 110658] Thumb generation process should have low priority
Gilles Caulier
caulier.gilles at free.fr
Wed Aug 30 11:28:35 BST 2006
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=110658
------- Additional Comments From caulier.gilles free fr 2006-08-30 12:28 -------
SVN commit 578815 by cgilles:
digikam from trunk : When the Exif auto-rotation option is canged in setup dialog, digiKam ask now to user if the new batch tool to re-generate all albums items thumbnails must be started to refresh thumbs database.
CCBUGS: 127179, 110658, 128308
M +16 -0 setup.cpp
M +25 -5 setupmetadata.cpp
M +4 -1 setupmetadata.h
--- trunk/extragear/graphics/digikam/utilities/setup/setup.cpp #578814:578815
@ -30,11 +30,13 @
#include <klocale.h>
#include <kiconloader.h>
+#include <kmessagebox.h>
#include <kconfig.h>
#include <kapplication.h>
// Local includes.
+#include "batchthumbsgenerator.h"
#include "setupgeneral.h"
#include "setupmetadata.h"
#include "setupidentity.h"
@ -214,6 +216,20 @
d->slideshowPage->applySettings();
d->iccPage->applySettings();
d->miscPage->applySettings();
+
+ if (d->metadataPage->exifAutoRotateAsChanged())
+ {
+ QString msg = i18n("The Exif auto-rotate thumbnails option has been changed.\n"
+ "Do you want to rebuild all albums items thumbnails now?\n\n"
+ "Note: thumbnails processing can take a while!");
+ int result = KMessageBox::warningYesNo(this, msg);
+ if (result != KMessageBox::Yes)
+ return;
+
+ BatchThumbsGenerator *thumbsGenerator = new BatchThumbsGenerator(this);
+ thumbsGenerator->exec();
+ }
+
close();
}
--- trunk/extragear/graphics/digikam/utilities/setup/setupmetadata.cpp #578814:578815
@ -58,6 +58,7 @
SetupMetadataPriv()
{
+ ExifAutoRotateAsChanged = false;
saveCommentsBox = 0;
ExifRotateBox = 0;
ExifSetOrientationBox = 0;
@ -68,6 +69,9 @
saveCreditsIptcBox = 0;
}
+ bool ExifAutoRotateAsChanged;
+ bool ExifAutoRotateOrg;
+
QCheckBox *saveCommentsBox;
QCheckBox *ExifRotateBox;
QCheckBox *ExifSetOrientationBox;
@ -163,16 +167,18 @
mainLayout->addWidget(hbox);
mainLayout->addStretch();
+ mainLayout->addWidget(this);
+ readSettings();
+ adjustSize();
+
// --------------------------------------------------------
connect(exiv2LogoLabel, SIGNAL(leftClickedURL(const QString&)),
this, SLOT(processExiv2URL(const QString&)));
- readSettings();
- adjustSize();
-
- mainLayout->addWidget(this);
+ connect(d->ExifRotateBox, SIGNAL(toggled(bool)),
+ this, SLOT(slotExifAutoRotateToggled(bool)));
}
SetupMetadata::~SetupMetadata()
@ -207,7 +213,8 @
AlbumSettings* settings = AlbumSettings::instance();
if (!settings) return;
- d->ExifRotateBox->setChecked(settings->getExifRotate());
+ d->ExifAutoRotateOrg = settings->getExifRotate();
+ d->ExifRotateBox->setChecked(d->ExifAutoRotateOrg);
d->ExifSetOrientationBox->setChecked(settings->getExifSetOrientation());
d->saveCommentsBox->setChecked(settings->getSaveComments());
d->saveDateTimeBox->setChecked(settings->getSaveDateTime());
@ -217,6 +224,19 @
d->saveCreditsIptcBox->setChecked(settings->getSaveIptcCredits());
}
+bool SetupMetadata::exifAutoRotateAsChanged()
+{
+ return d->ExifAutoRotateAsChanged;
+}
+
+void SetupMetadata::slotExifAutoRotateToggled(bool b)
+{
+ if ( b != d->ExifAutoRotateOrg)
+ d->ExifAutoRotateAsChanged = true;
+ else
+ d->ExifAutoRotateAsChanged = false;
+}
+
} // namespace Digikam
#include "setupmetadata.moc"
--- trunk/extragear/graphics/digikam/utilities/setup/setupmetadata.h #578814:578815
@ -43,13 +43,16 @
void applySettings();
+ bool exifAutoRotateAsChanged();
+
private:
void readSettings();
private slots:
- void processExiv2URL(const QString& url);
+ void processExiv2URL(const QString&);
+ void slotExifAutoRotateToggled(bool);
private:
More information about the Digikam-devel
mailing list