~ubuntu-branches/ubuntu/vivid/digikam/vivid

« back to all changes in this revision

Viewing changes to core/libs/dmetadata/dmetadata.cpp

  • Committer: Package Import Robot
  • Author(s): Philip Muškovac
  • Date: 2012-02-14 19:29:29 UTC
  • mfrom: (1.2.38) (3.1.16 experimental)
  • Revision ID: package-import@ubuntu.com-20120214192929-cx2zia3b2nt67lvz
Tags: 4:2.5.0-1ubuntu1
* Merge from debian unstable, remaining changes:
  - keep seperate binary packages:
    + libkface1, libkface-data, libkface-dev
    + libkgeomap1, libkgeomap-data, libkgeomap-dev
    + libvkontakte1, libkvkontakte-dev
    + libmediawiki1, libmediawiki-dev
  - keep patches:
    + kubuntu_mysqld_executable_name.diff
  - don't fail on missing files in dh_install
  - install oxygen icons for kipi-plugins
  - build-depend on mysql 5.5 instead of 5.1
  - update install files
* digikam breaks/replaces kipi-plugins-common << 4:2.5.0~
* digikam-doc breaks/replaces digikam-data << 4:2.5.0~
* digikam-data breaks/replaces kipi-plugins << 4:2.5.0~
* kipi-plugins-common breaks/replaces kipi-plugins << 4:2.5.0~

Show diffs side-by-side

added added

removed removed

Lines of Context:
935
935
    {
936
936
        photoInfo.dateTime = getImageDateTime();
937
937
 
 
938
        // -----------------------------------------------------------------------------------
 
939
 
938
940
        photoInfo.make     = getExifTagString("Exif.Image.Make");
939
941
 
940
942
        if (photoInfo.make.isEmpty())
942
944
            photoInfo.make = getXmpTagString("Xmp.tiff.Make");
943
945
        }
944
946
 
 
947
        // -----------------------------------------------------------------------------------
 
948
 
945
949
        photoInfo.model    = getExifTagString("Exif.Image.Model");
946
950
 
947
951
        if (photoInfo.model.isEmpty())
949
953
            photoInfo.model = getXmpTagString("Xmp.tiff.Model");
950
954
        }
951
955
 
 
956
        // -----------------------------------------------------------------------------------
 
957
 
952
958
        photoInfo.lens     = getLensDescription();
953
959
 
 
960
        // -----------------------------------------------------------------------------------
 
961
 
954
962
        photoInfo.aperture = getExifTagString("Exif.Photo.FNumber");
955
963
 
956
964
        if (photoInfo.aperture.isEmpty())
968
976
            photoInfo.aperture = getXmpTagString("Xmp.exif.ApertureValue");
969
977
        }
970
978
 
 
979
        // -----------------------------------------------------------------------------------
 
980
 
971
981
        photoInfo.exposureTime = getExifTagString("Exif.Photo.ExposureTime");
972
982
 
973
983
        if (photoInfo.exposureTime.isEmpty())
985
995
            photoInfo.exposureTime = getXmpTagString("Xmp.exif.ShutterSpeedValue");
986
996
        }
987
997
 
 
998
        // -----------------------------------------------------------------------------------
 
999
 
988
1000
        photoInfo.exposureMode    = getExifTagString("Exif.Photo.ExposureMode");
989
1001
 
990
1002
        if (photoInfo.exposureMode.isEmpty())
997
1009
            photoInfo.exposureMode = getExifTagString("Exif.CanonCs.MeteringMode");
998
1010
        }
999
1011
 
 
1012
        // -----------------------------------------------------------------------------------
 
1013
 
1000
1014
        photoInfo.exposureProgram = getExifTagString("Exif.Photo.ExposureProgram");
1001
1015
 
1002
1016
        if (photoInfo.exposureProgram.isEmpty())
1009
1023
            photoInfo.exposureProgram = getExifTagString("Exif.CanonCs.ExposureProgram");
1010
1024
        }
1011
1025
 
 
1026
        // -----------------------------------------------------------------------------------
 
1027
 
1012
1028
        photoInfo.focalLength     = getExifTagString("Exif.Photo.FocalLength");
1013
1029
 
1014
1030
        if (photoInfo.focalLength.isEmpty())
1021
1037
            photoInfo.focalLength = getExifTagString("Exif.Canon.FocalLength");
1022
1038
        }
1023
1039
 
 
1040
        // -----------------------------------------------------------------------------------
 
1041
 
1024
1042
        photoInfo.focalLength35mm = getExifTagString("Exif.Photo.FocalLengthIn35mmFilm");
1025
1043
 
1026
1044
        if (photoInfo.focalLength35mm.isEmpty())
1028
1046
            photoInfo.focalLength35mm = getXmpTagString("Xmp.exif.FocalLengthIn35mmFilm");
1029
1047
        }
1030
1048
 
1031
 
        photoInfo.sensitivity = getExifTagString("Exif.Photo.ISOSpeedRatings");
1032
 
 
1033
 
        if (photoInfo.sensitivity.isEmpty())
1034
 
        {
1035
 
            photoInfo.sensitivity = getExifTagString("Exif.Photo.ExposureIndex");
1036
 
        }
1037
 
 
1038
 
        if (photoInfo.sensitivity.isEmpty())
1039
 
        {
1040
 
            photoInfo.sensitivity = getXmpTagString("Xmp.exif.ISOSpeedRatings");
1041
 
        }
1042
 
 
1043
 
        if (photoInfo.sensitivity.isEmpty())
1044
 
        {
1045
 
            photoInfo.sensitivity = getXmpTagString("Xmp.exif.ExposureIndex");
1046
 
        }
1047
 
 
1048
 
        if (photoInfo.sensitivity.isEmpty())
1049
 
        {
1050
 
            photoInfo.sensitivity = getExifTagString("Exif.CanonSi.ISOSpeed");
1051
 
        }
 
1049
        // -----------------------------------------------------------------------------------
 
1050
 
 
1051
        QStringList ISOSpeedTags;
 
1052
 
 
1053
        ISOSpeedTags << "Exif.Photo.ISOSpeedRatings";
 
1054
        ISOSpeedTags << "Exif.Photo.ExposureIndex";
 
1055
        ISOSpeedTags << "Exif.Image.ISOSpeedRatings";
 
1056
        ISOSpeedTags << "Xmp.exif.ISOSpeedRatings";
 
1057
        ISOSpeedTags << "Xmp.exif.ExposureIndex";
 
1058
        ISOSpeedTags << "Exif.CanonSi.ISOSpeed";
 
1059
        ISOSpeedTags << "Exif.CanonCs.ISOSpeed";
 
1060
        ISOSpeedTags << "Exif.Nikon1.ISOSpeed";
 
1061
        ISOSpeedTags << "Exif.Nikon2.ISOSpeed";
 
1062
        ISOSpeedTags << "Exif.Nikon3.ISOSpeed";
 
1063
        ISOSpeedTags << "Exif.NikonIi.ISO";
 
1064
        ISOSpeedTags << "Exif.NikonIi.ISO2";
 
1065
        ISOSpeedTags << "Exif.MinoltaCsNew.ISOSetting";
 
1066
        ISOSpeedTags << "Exif.MinoltaCsOld.ISOSetting";
 
1067
        ISOSpeedTags << "Exif.MinoltaCs5D.ISOSpeed";
 
1068
        ISOSpeedTags << "Exif.MinoltaCs7D.ISOSpeed";
 
1069
        ISOSpeedTags << "Exif.Sony1Cs.ISOSetting";
 
1070
        ISOSpeedTags << "Exif.Sony2Cs.ISOSetting";
 
1071
        ISOSpeedTags << "Exif.Sony1Cs2.ISOSetting";
 
1072
        ISOSpeedTags << "Exif.Sony2Cs2.ISOSetting";
 
1073
        ISOSpeedTags << "Exif.Sony1MltCsA100.ISOSetting";
 
1074
        ISOSpeedTags << "Exif.Pentax.ISO";
 
1075
        ISOSpeedTags << "Exif.Olympus.ISOSpeed";
 
1076
        ISOSpeedTags << "Exif.Samsung2.ISO";
 
1077
 
 
1078
        photoInfo.sensitivity = getExifTagStringFromTagsList(ISOSpeedTags);
 
1079
 
 
1080
        // -----------------------------------------------------------------------------------
1052
1081
 
1053
1082
        photoInfo.flash = getExifTagString("Exif.Photo.Flash");
1054
1083
 
1062
1091
            photoInfo.flash = getExifTagString("Exif.CanonCs.FlashActivity");
1063
1092
        }
1064
1093
 
 
1094
        // -----------------------------------------------------------------------------------
 
1095
 
1065
1096
        photoInfo.whiteBalance = getExifTagString("Exif.Photo.WhiteBalance");
1066
1097
 
1067
1098
        if (photoInfo.whiteBalance.isEmpty())
2173
2204
QVariantList DMetadata::getMetadataFields(const MetadataFields& fields) const
2174
2205
{
2175
2206
    QVariantList list;
2176
 
    foreach (MetadataInfo::Field field, fields) // krazy:exclude=foreach
 
2207
    foreach(MetadataInfo::Field field, fields) // krazy:exclude=foreach
2177
2208
    {
2178
2209
        list << getMetadataField(field);
2179
2210
    }
2795
2826
    return ret;
2796
2827
}
2797
2828
 
 
2829
QString DMetadata::getExifTagStringFromTagsList(const QStringList& tagsList) const
 
2830
{
 
2831
    QString val;
 
2832
    foreach(QString tag, tagsList)
 
2833
    {
 
2834
        val = getExifTagString(tag.toAscii());
 
2835
        if (!val.isEmpty())
 
2836
            return val;
 
2837
    }
 
2838
 
 
2839
    return QString();
 
2840
}
 
2841
 
2798
2842
}  // namespace Digikam