[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdeextragear-3/digikam/interfaces
From:       Ralf Hoelzer <ralf () well ! com>
Date:       2004-06-09 4:11:44
Message-ID: 20040609041144.935D9126EF () office ! kde ! org
[Download RAW message or body]

CVS commit by rhoezler: 

Write comments to EXIF UserComment tag and JPEG COM field, if the comment is edited
by a KIPI plugin, such as the Commentseditor.


  M +29 -3     kipiinterface.cpp   1.8
  M +1 -0      kipiinterface.h   1.5


--- kdeextragear-3/digikam/interfaces/kipiinterface.cpp  #1.7:1.8
@@ -30,4 +30,6 @@
 
 #include <klocale.h>
+#include <kfilemetainfo.h>
+#include <libkexif/kexifdata.h>
 
 // Local includes.
@@ -35,4 +37,5 @@
 #include "albummanager.h"
 #include "albuminfo.h"
+#include "albumsettings.h"
 #include "digikamio.h"
 #include "kipiinterface.h"
@@ -45,4 +48,5 @@ DigikamImageInfo::DigikamImageInfo( KIPI
 {
     imageName_ = url.fileName();
+    imageUrl_ = url.path();
     albumName_ = url.path().section('/', -2, -2);
     
@@ -89,4 +93,26 @@ void DigikamImageInfo::setDescription( c
        album_->setItemComments(imageName_, description);
        album_->closeDB();    
+
+           // store as JPEG Exif comment
+           AlbumSettings *settings = AlbumSettings::instance();
+
+           QString fileName(imageUrl_);
+           KFileMetaInfo metaInfo(fileName, "image/jpeg",KFileMetaInfo::Fastest);
+
+           if(settings->getSaveExifComments() && metaInfo.isValid () && \
metaInfo.mimeType() == "image/jpeg") +           {
+               // set Jpeg comment
+               if (metaInfo.containsGroup("Jpeg EXIF Data"))
+               {
+                   metaInfo["Jpeg EXIF Data"].item("Comment").setValue(description);
+                   metaInfo.applyChanges();
+               }
+
+               // set EXIF UserComment
+               KExifData *exifData = new KExifData;
+               exifData->writeComment(fileName,description);
+               delete exifData;
+           }
+
        }
 }

--- kdeextragear-3/digikam/interfaces/kipiinterface.h  #1.4:1.5
@@ -81,4 +81,5 @@ public:
 private:
     QString             imageName_;
+    QString             imageUrl_;
     QString             albumName_;
     QString             imageComments_;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic