Import graphics/kphotoalbum-kde4 version 4.1.1.4.4.0_9
[dports.git] / graphics / kphotoalbum-kde4 / files / patch-Exif__Info.cpp
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
3 @@ -106,6 +106,28 @@
4          return res;
5  
6      QList<const Exiv2::TagInfo*> tags;
7 +    std::ostringstream s;
8 +
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();
14 +
15 +           while (ti->tag_ != 0xFFFF) {
16 +                   tags << ti;
17 +                   ++ti;
18 +           }
19 +        ++gi;
20 +    }
21 +
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()));
25 +            ++(*it);
26 +        }
27 +    }
28 +#else
29      tags <<
30          Exiv2::ExifTags::ifdTagList() <<
31          Exiv2::ExifTags::exifTagList() <<
32 @@ -121,7 +143,6 @@
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
35  
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)
40 @@ -130,6 +151,7 @@
41          Exiv2::ExifTags::makerTaglist( s, kind );
42  #endif
43      }
44 +#endif
45  
46      // IPTC tags use yet another format...
47      Exiv2::IptcDataSets::dataSetList( s );