[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/graphics/digikam
From: Martin Klapetek <martin.klapetek () gmail ! com>
Date: 2011-01-17 19:14:46
Message-ID: 20110117191446.21721AC8B5 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1215136 by mklapetek:
Add the capability to rebuild thumbnails just for one album, not necessarilly for the \
whole collection
M +11 -1 digikam/albumselectiontreeview.cpp
M +14 -1 digikam/digikamapp.cpp
M +1 -0 digikam/digikamapp.h
M +2 -0 digikam/digikamapp_p.h
M +31 -1 utilities/batch/batchthumbsgenerator.cpp
M +1 -0 utilities/batch/batchthumbsgenerator.h
--- trunk/extragear/graphics/digikam/digikam/albumselectiontreeview.cpp \
#1215135:1215136 @@ -42,6 +42,7 @@
#include "contextmenuhelper.h"
#include "itemviewtooltip.h"
#include "tooltipfiller.h"
+#include "batchthumbsgenerator.h"
namespace Digikam
{
@@ -80,7 +81,8 @@
toolTip(0),
renameAction(0),
resetIconAction(0),
- findDuplAction(0)
+ findDuplAction(0),
+ rebuildThumbsAction(0)
{
}
@@ -91,6 +93,7 @@
QAction* renameAction;
QAction* resetIconAction;
QAction* findDuplAction;
+ QAction* rebuildThumbsAction;
};
@@ -106,6 +109,7 @@
d->renameAction = new QAction(SmallIcon("edit-rename"), i18n("Rename..."), \
this);
d->resetIconAction = new QAction(SmallIcon("view-refresh"), i18n("Reset Album \
Icon"), this);
d->findDuplAction = new QAction(SmallIcon("tools-wizard"), i18n("Find \
Duplicates..."), this); + d->rebuildThumbsAction = new \
QAction(SmallIcon("view-process-all"), i18n("Rebuild Thumbnails..."), this);
setSortingEnabled(true);
setSelectAlbumOnClick(true);
@@ -150,6 +154,7 @@
cmh.addSeparator();
// --------------------------------------------------------
cmh.addAction(d->findDuplAction);
+ cmh.addAction(d->rebuildThumbsAction);
cmh.addImportMenu();
cmh.addExportMenu();
cmh.addBatchMenu();
@@ -188,6 +193,11 @@
kDebug() << "emitting signal for finding duplicates";
emit signalFindDuplicatesInAlbum(album);
}
+ else if (action == d->rebuildThumbsAction)
+ {
+ BatchThumbsGenerator* thumbsGenerator = new BatchThumbsGenerator(this, \
album->id()); + thumbsGenerator->show();
+ }
}
--- trunk/extragear/graphics/digikam/digikam/digikamapp.cpp #1215135:1215136
@@ -737,6 +737,13 @@
// -----------------------------------------------------------------
+ d->rebuildAlbumThumbsAction = new KAction(KIcon("view-process-all"), \
i18n("Rebuild Thumbnails In Current Album"), this); + \
d->rebuildAlbumThumbsAction->setWhatsThis(i18n("Rebuilds all thumbnails for the \
current selected album")); + connect(d->rebuildAlbumThumbsAction, \
SIGNAL(triggered()), this, SLOT(slotRebuildAlbumThumbnails())); + \
actionCollection()->addAction("album_rebuild_thumbs", d->rebuildAlbumThumbsAction); + \
+ // -----------------------------------------------------------------
+
d->writeAlbumMetadataAction = new KAction(KIcon("document-edit"), i18n("Write \
Metadata to Images"), this);
d->writeAlbumMetadataAction->setWhatsThis(i18n("Updates metadata of images in \
the current " "album with the contents of digiKam database "
@@ -1222,7 +1229,7 @@
// -----------------------------------------------------------
- KAction* rebuildThumbnailsAction = new KAction(KIcon("view-process-all"), \
i18n("Rebuild Thumbnails..."), this); + KAction* rebuildThumbnailsAction = new \
KAction(KIcon("view-process-all"), i18n("Rebuild All Thumbnails..."), \
this);
connect(rebuildThumbnailsAction, SIGNAL(triggered()), this, \
SLOT(slotRebuildThumbnails()));
actionCollection()->addAction("thumbnails_rebuild", rebuildThumbnailsAction);
@@ -2771,6 +2778,12 @@
thumbsGenerator->show();
}
+void DigikamApp::slotRebuildAlbumThumbnails()
+{
+ BatchThumbsGenerator* thumbsGenerator = new BatchThumbsGenerator(this, \
AlbumManager::instance()->currentAlbum()->id()); + thumbsGenerator->show();
+}
+
void DigikamApp::slotGenerateFingerPrintsFirstTime()
{
runFingerPrintsGenerator(true);
--- trunk/extragear/graphics/digikam/digikam/digikamapp.h #1215135:1215136
@@ -194,6 +194,7 @@
void slotDatabaseMigration();
void slotDatabaseRescan();
+ void slotRebuildAlbumThumbnails();
void slotRebuildThumbnails();
void slotWriteMetadataToAllImages();
void slotGenerateFingerPrintsFirstTime();
--- trunk/extragear/graphics/digikam/digikam/digikamapp_p.h #1215135:1215136
@@ -104,6 +104,7 @@
openInFileManagerAction(0),
openInTerminalAction(0),
refreshAlbumAction(0),
+ rebuildAlbumThumbsAction(0),
writeAlbumMetadataAction(0),
readAlbumMetadataAction(0),
newTagAction(0),
@@ -225,6 +226,7 @@
KAction* openInFileManagerAction;
KAction* openInTerminalAction;
KAction* refreshAlbumAction;
+ KAction* rebuildAlbumThumbsAction;
KAction* writeAlbumMetadataAction;
KAction* readAlbumMetadataAction;
--- trunk/extragear/graphics/digikam/utilities/batch/batchthumbsgenerator.cpp \
#1215135:1215136 @@ -73,6 +73,8 @@
bool cancel;
bool rebuildAll;
+ int albumId;
+
QTime duration;
QStringList allPicturesPath;
@@ -85,6 +87,7 @@
{
d->thumbLoadThread = ThumbnailLoadThread::defaultThread();
d->rebuildAll = rebuildAll;
+ d->albumId = -1;
connect(d->thumbLoadThread, SIGNAL(signalThumbnailLoaded(const \
LoadingDescription&, const QPixmap&)),
this, SLOT(slotGotThumbnail(const LoadingDescription&, const \
QPixmap&))); @@ -98,6 +101,25 @@
QTimer::singleShot(500, this, SLOT(slotRebuildThumbs()));
}
+BatchThumbsGenerator::BatchThumbsGenerator(QWidget* /*parent*/, int albumId)
+: DProgressDlg(0), d(new BatchThumbsGeneratorPriv)
+{
+ d->thumbLoadThread = ThumbnailLoadThread::defaultThread();
+ d->rebuildAll = true;
+ d->albumId = albumId;
+
+ connect(d->thumbLoadThread, SIGNAL(signalThumbnailLoaded(const \
LoadingDescription&, const QPixmap&)), + this, SLOT(slotGotThumbnail(const \
LoadingDescription&, const QPixmap&))); +
+ setModal(false);
+ setValue(0);
+ setCaption(i18n("Rebuild Current Album Thumbnails"));
+ setLabel(i18n("<b>Updating thumbnails database. Please wait...</b>"));
+ setButtonText(i18n("&Abort"));
+
+ QTimer::singleShot(500, this, SLOT(slotRebuildThumbs()));
+}
+
BatchThumbsGenerator::~BatchThumbsGenerator()
{
delete d;
@@ -108,8 +130,16 @@
setTitle(i18n("Processing..."));
// Get all digiKam albums collection pictures path.
+ AlbumList palbumList;
- AlbumList palbumList = AlbumManager::instance()->allPAlbums();
+ if(d->albumId == -1)
+ {
+ palbumList = AlbumManager::instance()->allPAlbums();
+ }
+ else
+ {
+ palbumList.append(AlbumManager::instance()->findPAlbum(d->albumId));
+ }
for (AlbumList::Iterator it = palbumList.begin();
!d->cancel && (it != palbumList.end()); ++it )
--- trunk/extragear/graphics/digikam/utilities/batch/batchthumbsgenerator.h \
#1215135:1215136 @@ -51,6 +51,7 @@
public:
explicit BatchThumbsGenerator(QWidget* parent, bool rebuildAll=true);
+ BatchThumbsGenerator(QWidget* parent, int albumId);
~BatchThumbsGenerator();
Q_SIGNALS:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic