| Summary: | WISH: batch operation to save existing comments in the files | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | Antonio E. <aironmail> | 
| Component: | Tags-Captions | Assignee: | Digikam Developers <digikam-bugs-null> | 
| Status: | RESOLVED FIXED | ||
| Severity: | wishlist | CC: | caulier.gilles, david, marko, valerio.fuoglio | 
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 0.9.1 | |
| Sentry Crash Report: | |||
| 
 
        
          Description
        
        
          Antonio E.
        
        
        
        
          2006-06-29 14:57:36 UTC
        
       
    *** Bug 136060 has been marked as a duplicate of this bug. *** 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)
 
     |