1 --- ./Exif/Info.cpp.orig 2010-02-11 22:44:01.000000000 +0100
2 +++ ./Exif/Info.cpp 2011-04-19 10:47:27.975620628 +0200
6 QList<const Exiv2::TagInfo*> tags;
7 + std::ostringstream s;
9 +#if (EXIV2_TEST_VERSION(0,21,0))
10 + const Exiv2::GroupInfo* gi = Exiv2::ExifTags::groupList();
11 + while (gi->tagList_ != 0) {
12 + Exiv2::TagListFct tl = gi->tagList_;
13 + const Exiv2::TagInfo* ti = tl();
15 + while (ti->tag_ != 0xFFFF) {
22 + for (QList<const Exiv2::TagInfo*>::iterator it = tags.begin(); it != tags.end(); ++it) {
23 + while ( (*it)->tag_ != 0xffff ) {
24 + res.insert(QString::fromLatin1(Exiv2::ExifKey(**it).key().c_str()));
30 Exiv2::ExifTags::ifdTagList() <<
31 Exiv2::ExifTags::exifTagList() <<
33 // Now the ugly part -- exiv2 doesn't have any way to get a list of
34 // MakerNote tags in a reasonable form, so we have to parse it from strings
36 - std::ostringstream s;
37 for ( Exiv2::IfdId kind = Exiv2::canonIfdId; kind < Exiv2::lastIfdId;
38 kind = static_cast<Exiv2::IfdId>( kind + 1 ) ) {
39 #if EXIV2_TEST_VERSION(0,17,0)
41 Exiv2::ExifTags::makerTaglist( s, kind );
46 // IPTC tags use yet another format...
47 Exiv2::IptcDataSets::dataSetList( s );