Version: 0.9.0-rc1 (using KDE KDE 3.5.1) Installed from: SuSE RPMs When choosing to store the tags into the image files (as required for having them accessible for beagle indexing, for example), this is not done automatically. Rather, one needs to edit the tags, comments or the image file itself in order to have the data stored into the file. To overcome this problem, I would like to request a batchprocess tool running through the whole collection of images digikam organizes, and storing all the data from the digikam database into the individual image files.
SVN commit 626305 by cgilles: digikam from trunk : New batch tool to sync all pictures metadata (EXIF/IPTC) with digiKam database contents (comments, tags, rating, date, etc...) This tool use the new MetadataHub class from Marcel (great implementation!). THis tool use the Metadata setup (thrue MetadataHub). There is a new option in Tools menu named "Sync Pictures Metadata". Test and feedback are require... CCBUGS: 127583, 136254, 137503 BUG: 130017 M +26 -0 digikam/digikamapp.cpp M +3 -0 digikam/digikamapp.h M +1 -0 digikam/digikamui.rc M +2 -1 utilities/batch/Makefile.am A utilities/batch/batchsyncmetadata.cpp [License: GPL] A utilities/batch/batchsyncmetadata.h [License: GPL] A utilities/batch/imageinfojob.cpp [License: GPL] A utilities/batch/imageinfojob.h [License: GPL] --- trunk/extragear/graphics/digikam/digikam/digikamapp.cpp #626304:626305 @@ -88,6 +88,7 @@ #include "imageattributeswatch.h" #include "dcrawbinary.h" #include "batchthumbsgenerator.h" +#include "batchsyncmetadata.h" #include "digikamview.h" #include "digikamapp.h" #include "digikamapp.moc" @@ -801,6 +802,10 @@ this, SLOT(slotRebuildAllThumbs()), actionCollection(), "thumbs_rebuild"); + new KAction(i18n("Sync Pictures metadata..."), "reload_page", 0, + this, SLOT(slotSyncPicturesMetadata()), actionCollection(), + "sync_metadata"); + // ----------------------------------------------------------- // Provides a menu entry that allows showing/hiding the toolbar(s) @@ -1644,6 +1649,27 @@ mView->applySettings(mAlbumSettings); } +void DigikamApp::slotSyncPicturesMetadata() +{ + QString msg = i18n("Sync pictures metadata with digiKam database can take a while.\n" + "Do you want to continue?"); + int result = KMessageBox::warningContinueCancel(this, msg); + if (result != KMessageBox::Continue) + return; + + BatchSyncMetadata *syncMetadata = new BatchSyncMetadata(this); + + connect(syncMetadata, SIGNAL(signalComplete()), + this, SLOT(slotSyncPicturesMetadataDone())); + + syncMetadata->exec(); +} + +void DigikamApp::slotSyncPicturesMetadataDone() +{ + mView->applySettings(mAlbumSettings); +} + void DigikamApp::slotDonateMoney() { KApplication::kApplication()->invokeBrowser("http://www.digikam.org/?q=donation"); --- trunk/extragear/graphics/digikam/digikam/digikamapp.h #626304:626305 @@ -160,9 +160,12 @@ void slotEditKeys(); void slotConfToolbars(); void slotToggleFullScreen(); + void slotDatabaseRescan(); void slotRebuildAllThumbs(); void slotRebuildAllThumbsDone(); + void slotSyncPicturesMetadata(); + void slotSyncPicturesMetadataDone(); void slotChangeTheme(const QString& theme); --- trunk/extragear/graphics/digikam/digikam/digikamui.rc #626304:626305 @@ -71,6 +71,7 @@ <Separator/> <Action name="database_rescan" /> <Action name="thumbs_rebuild" /> + <Action name="sync_metadata" /> <Separator/> <ActionList name="album_actions"/> <Separator/> --- trunk/extragear/graphics/digikam/utilities/batch/Makefile.am #626304:626305 @@ -3,13 +3,14 @@ INCLUDES = -I$(top_srcdir)/digikam/digikam \ -I$(top_srcdir)/digikam/libs/dialogs \ -I$(top_srcdir)/digikam/libs/dimg \ + -I$(top_srcdir)/digikam/libs/dmetadata \ -I$(top_srcdir)/digikam/libs/thumbbar \ -I$(top_srcdir)/digikam/libs/widgets/common \ $(all_includes) noinst_LTLIBRARIES = libbatch.la -libbatch_la_SOURCES = batchthumbsgenerator.cpp +libbatch_la_SOURCES = batchthumbsgenerator.cpp batchsyncmetadata.cpp imageinfojob.cpp libbatch_la_LDFLAGS = $(all_libraries) $(KDE_RPATH)
Changing tags now changes IPTC data (according to config options of course) no matter in which way the tags are assigned (context menu, drag'n'drop either way, right side bar). A batch tool is available as well.