digikam/digikam-exif-support.diff

381 lines
13 KiB
Diff

------------------------------------------------------------------------
r642723 | cgilles | 2007-03-15 10:15:46 +0100 (Thu, 15 Mar 2007) | 3 lines
digikam from trunk : Fix broken compilation with current Exiv2 implementation (next 0.14.0 release), duing a change with C++ Exception rule. Binary compatibilty is broken I recommend to cleanup and recompile digiKam.
CCMAIL: digikam-devel@kde.org
------------------------------------------------------------------------
Index: digikam/libs/widgets/metadata/makernotewidget.h
===================================================================
--- digikam/libs/widgets/metadata/makernotewidget.h (revision 642722)
+++ digikam/libs/widgets/metadata/makernotewidget.h (revision 642723)
@@ -1,10 +1,10 @@
/* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at gmail dot com>
- * Date : 2006-02-20
+ * Authors: Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Date : 2006-02-20
* Description : a widget to display non standard Exif metadata
* used by camera makers
*
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006-2007 by Gilles Caulier
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
Index: digikam/libs/widgets/metadata/exifwidget.cpp
===================================================================
--- digikam/libs/widgets/metadata/exifwidget.cpp (revision 642722)
+++ digikam/libs/widgets/metadata/exifwidget.cpp (revision 642723)
@@ -1,9 +1,9 @@
/* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at gmail dot com>
- * Date : 2006-02-20
+ * Authors: Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Date : 2006-02-20
* Description : a widget to display Standard Exif metadata
*
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006-2007 by Gilles Caulier
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
@@ -46,6 +46,7 @@
#include "dmetadata.h"
#include "metadatalistview.h"
#include "exifwidget.h"
+#include "exifwidget.moc"
namespace Digikam
{
@@ -180,11 +181,10 @@ bool ExifWidget::decodeMetadata()
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot parse EXIF metadata using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return false;
+ DMetadata::printExiv2ExceptionError("Cannot parse EXIF metadata using Exiv2 ", e);
}
+
+ return false;
}
void ExifWidget::buildView(void)
@@ -210,11 +210,10 @@ QString ExifWidget::getTagTitle(const QS
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot get metadata tag title using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return i18n("Unknown");
+ DMetadata::printExiv2ExceptionError("Cannot get metadata tag title using Exiv2 ", e);
}
+
+ return i18n("Unknown");
}
QString ExifWidget::getTagDescription(const QString& key)
@@ -227,11 +226,10 @@ QString ExifWidget::getTagDescription(co
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot get metadata tag description using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return i18n("No description available");
+ DMetadata::printExiv2ExceptionError("Cannot get metadata tag description using Exiv2 ", e);
}
+
+ return i18n("No description available");
}
void ExifWidget::slotSaveMetadataToFile(void)
@@ -243,4 +241,3 @@ void ExifWidget::slotSaveMetadataToFile(
} // namespace Digikam
-#include "exifwidget.moc"
Index: digikam/libs/widgets/metadata/gpswidget.h
===================================================================
--- digikam/libs/widgets/metadata/gpswidget.h (revision 642722)
+++ digikam/libs/widgets/metadata/gpswidget.h (revision 642723)
@@ -1,9 +1,9 @@
/* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at gmail dot com>
- * Date : 2006-02-22
+ * Authors: Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Date : 2006-02-22
* Description : a tab widget to display GPS info
*
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006-2007 by Gilles Caulier
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
@@ -84,7 +84,6 @@ private:
private:
GPSWidgetPriv *d;
-
};
} // namespace Digikam
Index: digikam/libs/widgets/metadata/iptcwidget.cpp
===================================================================
--- digikam/libs/widgets/metadata/iptcwidget.cpp (revision 642722)
+++ digikam/libs/widgets/metadata/iptcwidget.cpp (revision 642723)
@@ -1,9 +1,9 @@
/* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at gmail dot com>
- * Date : 2006-02-20
+ * Authors: Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Date : 2006-02-20
* Description : A widget to display IPTC metadata
*
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006-2007 by Gilles Caulier
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
@@ -44,6 +44,7 @@
#include "ddebug.h"
#include "dmetadata.h"
#include "iptcwidget.h"
+#include "iptcwidget.moc"
namespace Digikam
{
@@ -155,11 +156,10 @@ bool IptcWidget::decodeMetadata()
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot parse IPTC metadata using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return false;
+ DMetadata::printExiv2ExceptionError("Cannot parse IPTC metadata using Exiv2 ", e);
}
+
+ return false;
}
void IptcWidget::buildView(void)
@@ -184,11 +184,10 @@ QString IptcWidget::getTagTitle(const QS
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot get metadata tag title using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return i18n("Unknow");
+ DMetadata::printExiv2ExceptionError("Cannot get metadata tag title using Exiv2 ", e);
}
+
+ return i18n("Unknow");
}
QString IptcWidget::getTagDescription(const QString& key)
@@ -201,11 +200,10 @@ QString IptcWidget::getTagDescription(co
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot get metadata tag description using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return i18n("No description available");
+ DMetadata::printExiv2ExceptionError("Cannot get metadata tag description using Exiv2 ", e);
}
+
+ return i18n("No description available");
}
void IptcWidget::slotSaveMetadataToFile(void)
@@ -217,4 +215,3 @@ void IptcWidget::slotSaveMetadataToFile(
} // namespace Digikam
-#include "iptcwidget.moc"
Index: digikam/libs/widgets/metadata/exifwidget.h
===================================================================
--- digikam/libs/widgets/metadata/exifwidget.h (revision 642722)
+++ digikam/libs/widgets/metadata/exifwidget.h (revision 642723)
@@ -1,9 +1,9 @@
/* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at gmail dot com>
- * Date : 2006-02-20
+ * Authors: Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Date : 2006-02-20
* Description : a widget to display Standard Exif metadata
*
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006-2007 by Gilles Caulier
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
Index: digikam/libs/widgets/metadata/iptcwidget.h
===================================================================
--- digikam/libs/widgets/metadata/iptcwidget.h (revision 642722)
+++ digikam/libs/widgets/metadata/iptcwidget.h (revision 642723)
@@ -1,9 +1,9 @@
/* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at gmail dot com>
- * Date : 2006-02-20
+ * Authors: Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Date : 2006-02-20
* Description : A widget to display IPTC metadata
*
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006-2007 by Gilles Caulier
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
Index: digikam/libs/widgets/metadata/makernotewidget.cpp
===================================================================
--- digikam/libs/widgets/metadata/makernotewidget.cpp (revision 642722)
+++ digikam/libs/widgets/metadata/makernotewidget.cpp (revision 642723)
@@ -1,10 +1,10 @@
/* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at gmail dot com>
- * Date : 2006-02-20
+ * Authors: Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Date : 2006-02-20
* Description : a widget to display non standard Exif metadata
* used by camera makers
*
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006-2007 by Gilles Caulier
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
@@ -46,6 +46,7 @@
#include "ddebug.h"
#include "dmetadata.h"
#include "makernotewidget.h"
+#include "makernotewidget.moc"
namespace Digikam
{
@@ -197,11 +198,10 @@ bool MakerNoteWidget::decodeMetadata()
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot parse MAKERNOTE metadata using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return false;
+ DMetadata::printExiv2ExceptionError("Cannot parse MAKERNOTE metadata using Exiv2 ", e);
}
+
+ return false;
}
void MakerNoteWidget::buildView(void)
@@ -226,11 +226,10 @@ QString MakerNoteWidget::getTagTitle(con
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot get metadata tag title using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return i18n("Unknown");
+ DMetadata::printExiv2ExceptionError("Cannot get metadata tag title using Exiv2 ", e);
}
+
+ return i18n("Unknown");
}
QString MakerNoteWidget::getTagDescription(const QString& key)
@@ -243,11 +242,10 @@ QString MakerNoteWidget::getTagDescripti
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot get metadata tag description using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return i18n("No description available");
+ DMetadata::printExiv2ExceptionError("Cannot get metadata tag description using Exiv2 ", e);
}
+
+ return i18n("No description available");
}
void MakerNoteWidget::slotSaveMetadataToFile(void)
@@ -259,4 +257,3 @@ void MakerNoteWidget::slotSaveMetadataTo
} // namespace Digikam
-#include "makernotewidget.moc"
Index: digikam/libs/widgets/metadata/gpswidget.cpp
===================================================================
--- digikam/libs/widgets/metadata/gpswidget.cpp (revision 642722)
+++ digikam/libs/widgets/metadata/gpswidget.cpp (revision 642723)
@@ -1,9 +1,9 @@
/* ============================================================
- * Author: Gilles Caulier <caulier dot gilles at gmail dot com>
- * Date : 2006-02-22
+ * Authors: Gilles Caulier <caulier dot gilles at gmail dot com>
+ * Date : 2006-02-22
* Description : a tab widget to display GPS info
*
- * Copyright 2006 by Gilles Caulier
+ * Copyright 2006-2007 by Gilles Caulier
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
@@ -62,6 +62,7 @@ http://www.gpspassion.com/forumsen/topic
namespace Digikam
{
+
static const char* ExifGPSHumanList[] =
{
"GPSLatitude",
@@ -304,11 +305,10 @@ bool GPSWidget::decodeMetadata()
catch (Exiv2::Error& e)
{
setMetadataEmpty();
- DDebug() << "Cannot parse EXIF metadata using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return false;
+ DMetadata::printExiv2ExceptionError("Cannot parse EXIF metadata using Exiv2 ", e);
}
+
+ return false;
}
void GPSWidget::setMetadataEmpty()
@@ -342,11 +342,10 @@ QString GPSWidget::getTagTitle(const QSt
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot get metadata tag title using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return i18n("Unknown");
+ DMetadata::printExiv2ExceptionError("Cannot get metadata tag title using Exiv2 ", e);
}
+
+ return i18n("Unknown");
}
QString GPSWidget::getTagDescription(const QString& key)
@@ -359,11 +358,10 @@ QString GPSWidget::getTagDescription(con
}
catch (Exiv2::Error& e)
{
- DDebug() << "Cannot get metadata tag description using Exiv2 ("
- << QString::fromAscii(e.what().c_str())
- << ")" << endl;
- return i18n("No description available");
+ DMetadata::printExiv2ExceptionError("Cannot get metadata tag description using Exiv2 ", e);
}
+
+ return i18n("No description available");
}
bool GPSWidget::decodeGPSPosition(void)