| Summary: | Export to remote web-service deletes Exif, when using the resize option. | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | Fabien Frejaville <fab> |
| Component: | Plugin-WebService-Piwigo | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | bearclaw, caulier.gilles, frederic.coiffier |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Ubuntu | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 8.0.0 | |
| Sentry Crash Report: | |||
|
Description
Fabien Frejaville
2006-06-26 18:31:23 UTC
I'll take a look at this shortly. Cheers for the report. *** Bug 133291 has been marked as a duplicate of this bug. *** SVN commit 582849 by cguthrie:
Fixes the disappearing EXIF bug. Copied from Flickr.
BUG: 129856
M +2 -1 Makefile.am
AM exifrestorer.cpp [License: GPL]
AM exifrestorer.h [License: GPL]
M +19 -0 gallerytalker.cpp
M +0 -4 gallerywindow.cpp
AM jpegsection.h [License: GPL]
--- trunk/extragear/libs/kipi-plugins/galleryexport/Makefile.am #582848:582849
@@ -10,7 +10,8 @@
galleries.cpp gallerylist.cpp galleryconfig.cpp \
gallerywindow.cpp gallerytalker.cpp \
gallerywidget.cpp gallerympform.cpp galleryalbumdialog.ui \
- galleryviewitem.cpp
+ galleryviewitem.cpp \
+ exifrestorer.cpp
kipiplugin_galleryexport_la_LIBADD = -lkwalletclient $(LIB_KHTML) $(LIBKIPI_LIBS) $(LIB_KIO) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT)
** trunk/extragear/libs/kipi-plugins/galleryexport/exifrestorer.cpp #property svn:eol-style
+ native
** trunk/extragear/libs/kipi-plugins/galleryexport/exifrestorer.cpp #property svn:executable
+ *
** trunk/extragear/libs/kipi-plugins/galleryexport/exifrestorer.cpp #property svn:mime-type
+ text/plain
** trunk/extragear/libs/kipi-plugins/galleryexport/exifrestorer.h #property svn:eol-style
+ native
** trunk/extragear/libs/kipi-plugins/galleryexport/exifrestorer.h #property svn:executable
+ *
** trunk/extragear/libs/kipi-plugins/galleryexport/exifrestorer.h #property svn:mime-type
+ text/plain
--- trunk/extragear/libs/kipi-plugins/galleryexport/gallerytalker.cpp #582848:582849
@@ -37,6 +37,7 @@
#include "galleryitem.h"
#include "gallerympform.h"
#include "gallerytalker.h"
+#include "exifrestorer.h"
namespace KIPIGalleryExportPlugin
{
@@ -214,6 +215,24 @@
image = image.smoothScale(maxDim, maxDim, QImage::ScaleMin);
path = locateLocal("tmp", KURL(photoPath).filename());
image.save(path, QImageIO::imageFormat(photoPath));
+
+ if ("JPEG" == QString(QImageIO::imageFormat(photoPath)).upper())
+ {
+ ExifRestorer exifHolder;
+ exifHolder.readFile(photoPath,ExifRestorer::ExifOnly);
+
+ if (exifHolder.hasExif())
+ {
+ ExifRestorer restorer;
+ restorer.readFile(path, ExifRestorer::EntireImage);
+ restorer.insertExifData(exifHolder.exifData());
+ restorer.writeFile(path);
+ }
+ else
+ {
+ kdWarning(51000) << "(galleryexport::Image doesn't have exif data)" << endl;
+ }
+ }
kdDebug() << "Resizing and saving to temp file: "
<< path << endl;
}
--- trunk/extragear/libs/kipi-plugins/galleryexport/gallerywindow.cpp #582848:582849
@@ -182,10 +182,6 @@
{
GalleryList dlg(this, mpGalleries);
-/*
- GalleryLogin dlg( this, i18n( "Login Into Remote Gallery" ),
- "", "", "", GalleryTalker::isGallery2() );
-*/
if (QDialog::Accepted != dlg.exec())
{
close();
** trunk/extragear/libs/kipi-plugins/galleryexport/jpegsection.h #property svn:eol-style
+ native
** trunk/extragear/libs/kipi-plugins/galleryexport/jpegsection.h #property svn:executable
+ *
** trunk/extragear/libs/kipi-plugins/galleryexport/jpegsection.h #property svn:mime-type
+ text/plain
SVN commit 593666 by cguthrie:
Convert to Exiv2 Exif restorer.
CCBUG: 129856
M +5 -4 Makefile.am
D exifrestorer.cpp
D exifrestorer.h
M +4 -13 gallerytalker.cpp
D jpegsection.h
--- trunk/extragear/libs/kipi-plugins/galleryexport/Makefile.am #593665:593666
@@ -5,16 +5,17 @@
# Install this plugin in the KDE modules directory
kde_module_LTLIBRARIES = kipiplugin_galleryexport.la
-kipiplugin_galleryexport_la_DEPENDENCIES = $(LIBKIPI_LIBS_DEP)
+kipiplugin_galleryexport_la_DEPENDENCIES = $(LIBKIPI_LIBS_DEP) \
+ $(top_builddir)/kipi-plugins/common/exiv2iface/libexiv2iface.la
kipiplugin_galleryexport_la_SOURCES = plugin_galleryexport.cpp \
galleries.cpp gallerylist.cpp galleryconfig.cpp \
gallerywindow.cpp gallerytalker.cpp \
gallerywidget.cpp gallerympform.cpp galleryalbumdialog.ui \
- galleryviewitem.cpp \
- exifrestorer.cpp
+ galleryviewitem.cpp
-kipiplugin_galleryexport_la_LIBADD = -lkwalletclient $(LIB_KHTML) $(LIBKIPI_LIBS) $(LIB_KIO) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT)
+kipiplugin_galleryexport_la_LIBADD = $(top_builddir)/kipi-plugins/common/exiv2iface/libexiv2iface.la \
+ -lkwalletclient $(LIB_KHTML) $(LIBKIPI_LIBS) $(LIB_KIO) $(LIB_KDEUI) $(LIB_KDECORE) $(LIB_QT)
kipiplugin_galleryexport_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries)
--- trunk/extragear/libs/kipi-plugins/galleryexport/gallerytalker.cpp #593665:593666
@@ -37,7 +37,7 @@
#include "galleryitem.h"
#include "gallerympform.h"
#include "gallerytalker.h"
-#include "exifrestorer.h"
+#include "exiv2iface.h"
namespace KIPIGalleryExportPlugin
{
@@ -218,20 +218,11 @@
if ("JPEG" == QString(QImageIO::imageFormat(photoPath)).upper())
{
- ExifRestorer exifHolder;
- exifHolder.readFile(photoPath,ExifRestorer::ExifOnly);
-
- if (exifHolder.hasExif())
+ KIPIPlugins::Exiv2Iface exiv2;
+ if (exiv2.load(photoPath))
{
- ExifRestorer restorer;
- restorer.readFile(path, ExifRestorer::EntireImage);
- restorer.insertExifData(exifHolder.exifData());
- restorer.writeFile(path);
+ exiv2.save(path);
}
- else
- {
- kdWarning(51000) << "(galleryexport::Image doesn't have exif data)" << endl;
- }
}
kdDebug() << "Resizing and saving to temp file: "
<< path << endl;
|