Git commit beae745553166ddbf5d18d8655af9958379c3180 by Gilles Caulier. Committed on 30/11/2014 at 22:21. Pushed by cgilles into branch 'frameworks'. port++ M +27 -27 src/kexiv2gps.cpp M +6 -6 src/kexiv2previews.cpp M +63 -69 src/kexiv2xmp.cpp http://commits.kde.org/libkexiv2/beae745553166ddbf5d18d8655af9958379c3180 diff --git a/src/kexiv2gps.cpp b/src/kexiv2gps.cpp index 12f0adb..7f6ad32 100644 --- a/src/kexiv2gps.cpp +++ b/src/kexiv2gps.cpp @@ -134,7 +134,7 @@ bool KExiv2::getGPSLatitudeNumber(double* const latitud= e) const } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot get GPS tag using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot get GPS ta= g using Exiv2 "), e); } catch(...) { @@ -230,7 +230,7 @@ bool KExiv2::getGPSLongitudeNumber(double* const longit= ude) const } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot get GPS tag using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot get GPS ta= g using Exiv2 "), e); } catch(...) { @@ -256,15 +256,15 @@ bool KExiv2::getGPSAltitude(double* const altitude) c= onst = if (!altXmp.isEmpty()) { - num =3D altXmp.section('/', 0, 0).toDouble(); - den =3D altXmp.section('/', 1, 1).toDouble(); + num =3D altXmp.section(QString::fromLatin1("/"), 0, 0).toD= ouble(); + den =3D altXmp.section(QString::fromLatin1("/"), 1, 1).toD= ouble(); = if (den =3D=3D 0) return false; = *altitude =3D num/den; = - if (altRefXmp =3D=3D QString("1")) + if (altRefXmp =3D=3D QString::fromLatin1("1")) *altitude *=3D -1.0; = return true; @@ -304,7 +304,7 @@ bool KExiv2::getGPSAltitude(double* const altitude) con= st } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot get GPS tag using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot get GPS ta= g using Exiv2 "), e); } catch(...) { @@ -354,15 +354,15 @@ bool KExiv2::initializeGPSInfo(const bool setProgramN= ame) d->exifMetadata()["Exif.GPSInfo.GPSMapDatum"] =3D "WGS-84"; = #ifdef _XMP_SUPPORT_ - setXmpTagString("Xmp.exif.GPSVersionID", QString("2.0.0.0"), false= ); - setXmpTagString("Xmp.exif.GPSMapDatum", QString("WGS-84"), false); + setXmpTagString("Xmp.exif.GPSVersionID", QString::fromLatin1("2.0.= 0.0"), false); + setXmpTagString("Xmp.exif.GPSMapDatum", QString::fromLatin1("WGS-= 84"), false); #endif // _XMP_SUPPORT_ = return true; } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot initialize GPS data using Exiv= 2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot initialize= GPS data using Exiv2 "), e); } catch(...) { @@ -414,8 +414,8 @@ bool KExiv2::setGPSInfo(const double* const altitude, c= onst double latitude, con d->exifMetadata()["Exif.GPSInfo.GPSAltitude"] =3D scratchBuf; = #ifdef _XMP_SUPPORT_ - setXmpTagString("Xmp.exif.GPSAltitudeRef", ((*altitude) >=3D 0= ) ? QString("0") : QString("1"), false); - setXmpTagString("Xmp.exif.GPSAltitude", QString(scratchBuf), f= alse); + setXmpTagString("Xmp.exif.GPSAltitudeRef", ((*altitude) >=3D 0= ) ? QString::fromLatin1("0") : QString::fromLatin1("1"), false); + setXmpTagString("Xmp.exif.GPSAltitude", QString::fromLatin1= (scratchBuf), false); #endif // _XMP_SUPPORT_ } = @@ -451,8 +451,8 @@ bool KExiv2::setGPSInfo(const double* const altitude, c= onst double latitude, con * because the reference is included in Xmp.exif.GPSLatitude. * Is there a historic reason for writing it anyway? */ - setXmpTagString("Xmp.exif.GPSLatitudeRef", (latitude < 0) ? QStrin= g("S") : QString("N"), false); - setXmpTagString("Xmp.exif.GPSLatitude", convertToGPSCoordinateStri= ng(true, latitude), false); + setXmpTagString("Xmp.exif.GPSLatitudeRef", (latitude < 0) ? QStrin= g::fromLatin1("S") : QString::fromLatin1("N"), false); + setXmpTagString("Xmp.exif.GPSLatitude", convertToGPSCoordinateS= tring(true, latitude), false); #endif // _XMP_SUPPORT_ = // LONGITUDE @@ -486,15 +486,15 @@ bool KExiv2::setGPSInfo(const double* const altitude,= const double latitude, con * because the reference is included in Xmp.exif.GPSLongitude. * Is there a historic reason for writing it anyway? */ - setXmpTagString("Xmp.exif.GPSLongitudeRef", (longitude < 0) ? QStr= ing("W") : QString("E"), false); - setXmpTagString("Xmp.exif.GPSLongitude", convertToGPSCoordinateStr= ing(false, longitude), false); + setXmpTagString("Xmp.exif.GPSLongitudeRef", (longitude < 0) ? QStr= ing::fromLatin1("W") : QString::fromLatin1("E"), false); + setXmpTagString("Xmp.exif.GPSLongitude", convertToGPSCoordinate= String(false, longitude), false); #endif // _XMP_SUPPORT_ = return true; } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot set Exif GPS tag using Exiv2 "= , e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot set Exif G= PS tag using Exiv2 "), e); } catch(...) { @@ -531,7 +531,7 @@ bool KExiv2::removeGPSInfo(const bool setProgramName) { QString key =3D QString::fromLocal8Bit(it->key().c_str()); = - if (key.section('.', 1, 1) =3D=3D QString("GPSInfo")) + if (key.section(QString::fromLatin1("."), 1, 1) =3D=3D QString= ::fromLatin1("GPSInfo")) gpsTagsKeys.append(key); } = @@ -583,7 +583,7 @@ bool KExiv2::removeGPSInfo(const bool setProgramName) } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot remove Exif GPS tag using Exiv= 2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot remove Exi= f GPS tag using Exiv2 "), e); } catch(...) { @@ -744,7 +744,7 @@ QString KExiv2::convertToGPSCoordinateString(const long= int numeratorDegrees, co denominatorSeconds =3D=3D 1) { // use form DDD,MM,SSk - coordinate =3D "%1,%2,%3%4"; + coordinate =3D QString::fromLatin1("%1,%2,%3%4"); coordinate =3D coordinate.arg(numeratorDegrees).arg(numeratorMinut= es).arg(numeratorSeconds).arg(directionReference); } else if (denominatorDegrees =3D=3D 1 && @@ -752,12 +752,12 @@ QString KExiv2::convertToGPSCoordinateString(const lo= ng int numeratorDegrees, co denominatorSeconds =3D=3D 1) { // use form DDD,MM.mmk - coordinate =3D "%1,%2%3"; + coordinate =3D QString::fromLatin1("%1,%2%3"); double minutes =3D (double)numeratorMinutes / (double)deno= minatorMinutes; minutes +=3D (double)numeratorSeconds / 60.0; QString minutesString =3D QString::number(minutes, 'f', 8); = - while (minutesString.endsWith('0') && !minutesString.endsWith(".0"= )) + while (minutesString.endsWith(QString::fromLatin1("0")) && !minute= sString.endsWith(QString::fromLatin1(".0"))) { minutesString.chop(1); } @@ -774,7 +774,7 @@ QString KExiv2::convertToGPSCoordinateString(const long= int numeratorDegrees, co else { // use form DDD,MM.mmk - coordinate =3D "%1,%2%3"; + coordinate =3D QString::fromLatin1("%1,%2%3"); double degrees =3D (double)numeratorDegrees / (double)deno= minatorDegrees; double wholeDegrees =3D trunc(degrees); double minutes =3D (double)numeratorMinutes / (double)deno= minatorMinutes; @@ -782,7 +782,7 @@ QString KExiv2::convertToGPSCoordinateString(const long= int numeratorDegrees, co minutes +=3D ((double)numeratorSeconds / (double)den= ominatorSeconds) / 60.0; QString minutesString =3D QString::number(minutes, 'f', 8); = - while (minutesString.endsWith('0') && !minutesString.endsWith(".0"= )) + while (minutesString.endsWith(QString::fromLatin1("0")) && !minute= sString.endsWith(QString::fromLatin1(".0"))) { minutesString.chop(1); } @@ -827,7 +827,7 @@ QString KExiv2::convertToGPSCoordinateString(const bool= isLatitude, double coord double minutes =3D coordinate * 60.0; = // use form DDD,MM.mmk - coordinateString =3D "%1,%2%3"; + coordinateString =3D QString::fromLatin1("%1,%2%3"); coordinateString =3D coordinateString.arg(degrees); coordinateString =3D coordinateString.arg(minutes, 0, 'f', 8).arg(dire= ctionReference); = @@ -845,7 +845,7 @@ bool KExiv2::convertFromGPSCoordinateString(const QStri= ng& gpsString, = *directionReference =3D gpsString.at(gpsString.length() - 1).toUpper()= .toLatin1(); QString coordinate =3D gpsString.left(gpsString.length() - 1); - QStringList parts =3D coordinate.split(','); + QStringList parts =3D coordinate.split(QString::fromLatin1(",")); = if (parts.size() =3D=3D 2) { @@ -890,7 +890,7 @@ bool KExiv2::convertFromGPSCoordinateString(const QStri= ng& gpsString, double* co = char directionReference =3D gpsString.at(gpsString.length() - 1).toUpp= er().toLatin1(); QString coordinate =3D gpsString.left(gpsString.length() - 1); - QStringList parts =3D coordinate.split(','); + QStringList parts =3D coordinate.split(QString::fromLatin1(",")); = if (parts.size() =3D=3D 2) { @@ -931,7 +931,7 @@ bool KExiv2::convertToUserPresentableNumbers(const QStr= ing& gpsString, = *directionReference =3D gpsString.at(gpsString.length() - 1).toUpper()= .toLatin1(); QString coordinate =3D gpsString.left(gpsString.length() - 1); - QStringList parts =3D coordinate.split(','); + QStringList parts =3D coordinate.split(QString::fromLatin1(",")); = if (parts.size() =3D=3D 2) { diff --git a/src/kexiv2previews.cpp b/src/kexiv2previews.cpp index 142fadb..922074c 100644 --- a/src/kexiv2previews.cpp +++ b/src/kexiv2previews.cpp @@ -84,7 +84,7 @@ KExiv2Previews::KExiv2Previews(const QString& filePath) } catch( Exiv2::Error& e ) { - KExiv2::Private::printExiv2ExceptionError("Cannot load metadata us= ing Exiv2 ", e); + KExiv2::Private::printExiv2ExceptionError(QString::fromLatin1("Can= not load metadata using Exiv2 "), e); } catch(...) { @@ -102,7 +102,7 @@ KExiv2Previews::KExiv2Previews(const QByteArray& imgDat= a) } catch( Exiv2::Error& e ) { - KExiv2::Private::printExiv2ExceptionError("Cannot load metadata us= ing Exiv2 ", e); + KExiv2::Private::printExiv2ExceptionError(QString::fromLatin1("Can= not load metadata using Exiv2 "), e); } catch(...) { @@ -131,7 +131,7 @@ QSize KExiv2Previews::originalSize() const QString KExiv2Previews::originalMimeType() const { if (d->image.get()) - return d->image->mimeType().c_str(); + return QString::fromLatin1(d->image->mimeType().c_str()); = return QString(); } @@ -164,14 +164,14 @@ int KExiv2Previews::height(int index) = QString KExiv2Previews::mimeType(int index) { - if (index < 0 || index >=3D size()) return 0; + if (index < 0 || index >=3D size()) return QString(); = return QString::fromLatin1(d->properties[index].mimeType_.c_str()); } = QString KExiv2Previews::fileExtension(int index) { - if (index < 0 || index >=3D size()) return 0; + if (index < 0 || index >=3D size()) return QString(); = return QString::fromLatin1(d->properties[index].extension_.c_str()); } @@ -190,7 +190,7 @@ QByteArray KExiv2Previews::data(int index) } catch( Exiv2::Error& e ) { - KExiv2::Private::printExiv2ExceptionError("Cannot load metadata us= ing Exiv2 ", e); + KExiv2::Private::printExiv2ExceptionError(QString::fromLatin1("Can= not load metadata using Exiv2 "), e); return QByteArray(); } catch(...) diff --git a/src/kexiv2xmp.cpp b/src/kexiv2xmp.cpp index d3f2067..c8ceb18 100644 --- a/src/kexiv2xmp.cpp +++ b/src/kexiv2xmp.cpp @@ -87,7 +87,7 @@ bool KExiv2::clearXmp() const } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot clear Xmp data using Exiv2 ", = e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot clear Xmp = data using Exiv2 "), e); } catch(...) { @@ -119,7 +119,7 @@ QByteArray KExiv2::getXmp() const if (!d->filePath.isEmpty()) = = - d->printExiv2ExceptionError("Cannot get Xmp data using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot get Xmp da= ta using Exiv2 "), e); } catch(...) { @@ -153,7 +153,7 @@ bool KExiv2::setXmp(const QByteArray& data) const if (!d->filePath.isEmpty()) qCCritical(LIBKEXIV2_LOG) << "From file " << d->filePath.toLat= in1().constData(); = - d->printExiv2ExceptionError("Cannot set Xmp data using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot set Xmp da= ta using Exiv2 "), e); } catch(...) { @@ -205,7 +205,7 @@ KExiv2::MetaDataMap KExiv2::getXmpTagsDataList(const QS= tringList& xmpKeysFilter, } = // To make a string just on one line. - value.replace('\n', ' '); + value.replace(QString::fromLatin1("\n"), QString::fromLatin1("= ")); = // Some XMP key are redondancy. check if already one exist... MetaDataMap::iterator it =3D metaDataMap.find(key); @@ -216,7 +216,7 @@ KExiv2::MetaDataMap KExiv2::getXmpTagsDataList(const QS= tringList& xmpKeysFilter, { if (!invertSelection) { - if (xmpKeysFilter.contains(key.section('.', 1, 1))) + if (xmpKeysFilter.contains(key.section(QString::fromLa= tin1("."), 1, 1))) { if (it =3D=3D metaDataMap.end()) { @@ -225,7 +225,7 @@ KExiv2::MetaDataMap KExiv2::getXmpTagsDataList(const QS= tringList& xmpKeysFilter, else { QString v =3D *it; - v.append(", "); + v.append(QString::fromLatin1(", ")); v.append(value); metaDataMap.insert(key, v); } @@ -233,7 +233,7 @@ KExiv2::MetaDataMap KExiv2::getXmpTagsDataList(const QS= tringList& xmpKeysFilter, } else { - if (!xmpKeysFilter.contains(key.section('.', 1, 1))) + if (!xmpKeysFilter.contains(key.section(QString::fromL= atin1("."), 1, 1))) { if (it =3D=3D metaDataMap.end()) { @@ -242,7 +242,7 @@ KExiv2::MetaDataMap KExiv2::getXmpTagsDataList(const QS= tringList& xmpKeysFilter, else { QString v =3D *it; - v.append(", "); + v.append(QString::fromLatin1(", ")); v.append(value); metaDataMap.insert(key, v); } @@ -258,7 +258,7 @@ KExiv2::MetaDataMap KExiv2::getXmpTagsDataList(const QS= tringList& xmpKeysFilter, else { QString v =3D *it; - v.append(", "); + v.append(QString::fromLatin1(", ")); v.append(value); metaDataMap.insert(key, v); } @@ -269,7 +269,7 @@ KExiv2::MetaDataMap KExiv2::getXmpTagsDataList(const QS= tringList& xmpKeysFilter, } catch (Exiv2::Error& e) { - d->printExiv2ExceptionError("Cannot parse Xmp metadata using Exiv2= ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot parse Xmp = metadata using Exiv2 "), e); } catch(...) { @@ -298,7 +298,7 @@ QString KExiv2::getXmpTagTitle(const char* xmpTagName) } catch (Exiv2::Error& e) { - d->printExiv2ExceptionError("Cannot get Xmp metadata tag title usi= ng Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot get Xmp me= tadata tag title using Exiv2 "), e); } catch(...) { @@ -325,7 +325,7 @@ QString KExiv2::getXmpTagDescription(const char* xmpTag= Name) } catch (Exiv2::Error& e) { - d->printExiv2ExceptionError("Cannot get Xmp metadata tag descripti= on using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot get Xmp me= tadata tag description using Exiv2 "), e); } catch(...) { @@ -358,15 +358,14 @@ QString KExiv2::getXmpTagString(const char* xmpTagNam= e, bool escapeCR) const QString tagValue =3D QString::fromUtf8(os.str().c_str()); = if (escapeCR) - tagValue.replace('\n', ' '); + tagValue.replace(QString::fromLatin1("\n"), QString::fromL= atin1(" ")); = return tagValue; } } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError(QString("Cannot find Xmp key '%1' into= image using Exiv2 ") - .arg(xmpTagName), e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot find Xmp k= ey '%1' into image using Exiv2 ").arg(QString::fromLatin1(xmpTagName)), e); } catch(...) { @@ -400,7 +399,7 @@ bool KExiv2::setXmpTagString(const char* xmpTagName, co= nst QString& value, bool } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot set Xmp tag string into image = using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot set Xmp ta= g string into image using Exiv2 "), e); } catch(...) { @@ -452,7 +451,7 @@ bool KExiv2::setXmpTagString(const char* xmpTagName, co= nst QString& value, } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot set Xmp tag string into image = using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot set Xmp ta= g string into image using Exiv2 "), e); } catch(...) { @@ -491,7 +490,7 @@ KExiv2::AltLangMap KExiv2::getXmpTagStringListLangAlt(c= onst char* xmpTagName, bo QString text =3D QString::fromUtf8(it2->second.c_str()= ); = if (escapeCR) - text.replace('\n', ' '); + text.replace(QString::fromLatin1("\n"), QString::f= romLatin1(" ")); = map.insert(lang, text); } @@ -502,8 +501,7 @@ KExiv2::AltLangMap KExiv2::getXmpTagStringListLangAlt(c= onst char* xmpTagName, bo } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError(QString("Cannot find Xmp key '%1' into= image using Exiv2 ") - .arg(xmpTagName), e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot find Xmp k= ey '%1' into image using Exiv2 ").arg(QString::fromLatin1(xmpTagName)), e); } catch(...) { @@ -541,7 +539,7 @@ bool KExiv2::setXmpTagStringListLangAlt(const char* xmp= TagName, const KExiv2::Al { QString lang =3D it.key(); QString text =3D it.value(); - QString txtLangAlt =3D QString("lang=3D%1 %2").arg(lang).a= rg(text); + QString txtLangAlt =3D QString::fromLatin1("lang=3D%1 %2")= .arg(lang).arg(text); const std::string &txt(txtLangAlt.toUtf8().constData()); xmpTxtVal->read(txt); } @@ -553,7 +551,7 @@ bool KExiv2::setXmpTagStringListLangAlt(const char* xmp= TagName, const KExiv2::Al } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot set Xmp tag string lang-alt in= to image using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot set Xmp ta= g string lang-alt into image using Exiv2 "), e); } catch(...) { @@ -595,7 +593,7 @@ QString KExiv2::getXmpTagStringLangAlt(const char* xmpT= agName, const QString& la if (langAlt =3D=3D lang) { if (escapeCR) - tagValue.replace('\n', ' '); + tagValue.replace(QString::fromLatin1("\n"), QS= tring::fromLatin1(" ")); = return tagValue; } @@ -605,8 +603,7 @@ QString KExiv2::getXmpTagStringLangAlt(const char* xmpT= agName, const QString& la } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError(QString("Cannot find Xmp key '%1' into= image using Exiv2 ") - .arg(xmpTagName), e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot find Xmp k= ey '%1' into image using Exiv2 ").arg(QString::fromLatin1(xmpTagName)), e); } catch(...) { @@ -634,12 +631,12 @@ bool KExiv2::setXmpTagStringLangAlt(const char* xmpTa= gName, const QString& value = try { - QString language("x-default"); // default alternative language. + QString language(QString::fromLatin1("x-default")); // default alt= ernative language. = if (!langAlt.isEmpty()) language =3D langAlt; = - QString txtLangAlt =3D QString("lang=3D%1 %2").arg(language).arg(v= alue); + QString txtLangAlt =3D QString(QString::fromLatin1("lang=3D%1 %2")= ).arg(language).arg(value); = const std::string &txt(txtLangAlt.toUtf8().constData()); Exiv2::Value::AutoPtr xmpTxtVal =3D Exiv2::Value::create(Exiv2::la= ngAlt); @@ -668,7 +665,7 @@ bool KExiv2::setXmpTagStringLangAlt(const char* xmpTagN= ame, const QString& value } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot set Xmp tag string lang-alt in= to image using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot set Xmp ta= g string lang-alt into image using Exiv2 "), e); } catch(...) { @@ -710,7 +707,7 @@ QStringList KExiv2::getXmpTagStringSeq(const char* xmpT= agName, bool escapeCR) co QString seqValue =3D QString::fromUtf8(os.str().c_str(= )); = if (escapeCR) - seqValue.replace('\n', ' '); + seqValue.replace(QString::fromLatin1("\n"), QStrin= g::fromLatin1(" ")); = seq.append(seqValue); } @@ -722,8 +719,7 @@ QStringList KExiv2::getXmpTagStringSeq(const char* xmpT= agName, bool escapeCR) co } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError(QString("Cannot find Xmp key '%1' into= image using Exiv2 ") - .arg(xmpTagName), e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot find Xmp k= ey '%1' into image using Exiv2 ").arg(QString::fromLatin1(xmpTagName)), e); } catch(...) { @@ -771,7 +767,7 @@ bool KExiv2::setXmpTagStringSeq(const char* xmpTagName,= const QStringList& seq, } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot set Xmp tag string Seq into im= age using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot set Xmp ta= g string Seq into image using Exiv2 "), e); } catch(...) { @@ -812,7 +808,7 @@ QStringList KExiv2::getXmpTagStringBag(const char* xmpT= agName, bool escapeCR) co QString bagValue =3D QString::fromUtf8(os.str().c_str(= )); = if (escapeCR) - bagValue.replace('\n', ' '); + bagValue.replace(QString::fromLatin1("\n"), QStrin= g::fromLatin1(" ")); = bag.append(bagValue); } @@ -823,8 +819,7 @@ QStringList KExiv2::getXmpTagStringBag(const char* xmpT= agName, bool escapeCR) co } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError(QString("Cannot find Xmp key '%1' into= image using Exiv2 ") - .arg(xmpTagName), e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot find Xmp k= ey '%1' into image using Exiv2 ").arg(QString::fromLatin1(xmpTagName)), e); } catch(...) { @@ -872,7 +867,7 @@ bool KExiv2::setXmpTagStringBag(const char* xmpTagName,= const QStringList& bag, } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot set Xmp tag string Bag into im= age using Exiv2 ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot set Xmp ta= g string Bag into image using Exiv2 "), e); } catch(...) { @@ -976,7 +971,7 @@ QVariant KExiv2::getXmpTagVariant(const char* xmpTagNam= e, bool rationalAsListOfI case Exiv2::date: case Exiv2::time: { - QDateTime dateTime =3D QDateTime::fromString(it->toStr= ing().c_str(), Qt::ISODate); + QDateTime dateTime =3D QDateTime::fromString(QString::= fromLatin1(it->toString().c_str()), Qt::ISODate); return QVariant(dateTime); } case Exiv2::asciiString: @@ -988,7 +983,7 @@ QVariant KExiv2::getXmpTagVariant(const char* xmpTagNam= e, bool rationalAsListOfI QString tagValue =3D QString::fromLocal8Bit(os.str().c= _str()); = if (stringEscapeCR) - tagValue.replace('\n', ' '); + tagValue.replace(QString::fromLatin1("\n"), QStrin= g::fromLatin1(" ")); = return QVariant(tagValue); } @@ -999,7 +994,7 @@ QVariant KExiv2::getXmpTagVariant(const char* xmpTagNam= e, bool rationalAsListOfI QString tagValue =3D QString::fromUtf8(os.str().c_str(= )); = if (stringEscapeCR) - tagValue.replace('\n', ' '); + tagValue.replace(QString::fromLatin1("\n"), QStrin= g::fromLatin1(" ")); = return tagValue; } @@ -1038,8 +1033,7 @@ QVariant KExiv2::getXmpTagVariant(const char* xmpTagN= ame, bool rationalAsListOfI } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError(QString("Cannot find Xmp key '%1' into= image using Exiv2 ") - .arg(xmpTagName), e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot find Xmp k= ey '%1' into image using Exiv2 ").arg(QString::fromLatin1(xmpTagName)), e); } catch(...) { @@ -1065,15 +1059,15 @@ bool KExiv2::registerXmpNameSpace(const QString& ur= i, const QString& prefix) { QString ns =3D uri; = - if (!uri.endsWith('/')) - ns.append('/'); + if (!uri.endsWith(QString::fromLatin1("/"))) + ns.append(QString::fromLatin1("/")); = Exiv2::XmpProperties::registerNs(ns.toLatin1().constData(), prefix= .toLatin1().constData()); return true; } catch( Exiv2::Error& e ) { - Private::printExiv2ExceptionError("Cannot register a new Xmp names= pace using Exiv2 ", e); + Private::printExiv2ExceptionError(QString::fromLatin1("Cannot regi= ster a new Xmp namespace using Exiv2 "), e); } catch(...) { @@ -1098,15 +1092,15 @@ bool KExiv2::unregisterXmpNameSpace(const QString& = uri) { QString ns =3D uri; = - if (!uri.endsWith('/')) - ns.append('/'); + if (!uri.endsWith(QString::fromLatin1("/"))) + ns.append(QString::fromLatin1("/")); = Exiv2::XmpProperties::unregisterNs(ns.toLatin1().constData()); return true; } catch( Exiv2::Error& e ) { - Private::printExiv2ExceptionError("Cannot unregister a new Xmp nam= espace using Exiv2 ", e); + Private::printExiv2ExceptionError(QString::fromLatin1("Cannot unre= gister a new Xmp namespace using Exiv2 "), e); } catch(...) { @@ -1142,7 +1136,7 @@ bool KExiv2::removeXmpTag(const char* xmpTagName, boo= l setProgramName) const } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot remove Xmp tag using Exiv2 ", = e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot remove Xmp= tag using Exiv2 "), e); } catch(...) { @@ -1209,31 +1203,31 @@ KExiv2::TagsMap KExiv2::getXmpTagsList() const try { TagsMap tagsMap; - d->getXMPTagsListFromPrefix("dc", tagsMap); - d->getXMPTagsListFromPrefix("digiKam", tagsMap); - d->getXMPTagsListFromPrefix("xmp", tagsMap); - d->getXMPTagsListFromPrefix("xmpRights", tagsMap); - d->getXMPTagsListFromPrefix("xmpMM", tagsMap); - d->getXMPTagsListFromPrefix("xmpBJ", tagsMap); - d->getXMPTagsListFromPrefix("xmpTPg", tagsMap); - d->getXMPTagsListFromPrefix("xmpDM", tagsMap); - d->getXMPTagsListFromPrefix("MicrosoftPhoto", tagsMap); - d->getXMPTagsListFromPrefix("pdf", tagsMap); - d->getXMPTagsListFromPrefix("photoshop", tagsMap); - d->getXMPTagsListFromPrefix("crs", tagsMap); - d->getXMPTagsListFromPrefix("tiff", tagsMap); - d->getXMPTagsListFromPrefix("exif", tagsMap); - d->getXMPTagsListFromPrefix("aux", tagsMap); - d->getXMPTagsListFromPrefix("iptc", tagsMap); - d->getXMPTagsListFromPrefix("iptcExt", tagsMap); - d->getXMPTagsListFromPrefix("plus", tagsMap); - d->getXMPTagsListFromPrefix("mwg-rs", tagsMap); - d->getXMPTagsListFromPrefix("dwc", tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("dc"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("digiKam"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("xmp"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("xmpRights"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("xmpMM"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("xmpBJ"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("xmpTPg"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("xmpDM"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("MicrosoftPhoto"),= tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("pdf"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("photoshop"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("crs"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("tiff"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("exif"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("aux"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("iptc"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("iptcExt"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("plus"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("mwg-rs"), = tagsMap); + d->getXMPTagsListFromPrefix(QString::fromLatin1("dwc"), = tagsMap); return tagsMap; } catch( Exiv2::Error& e ) { - d->printExiv2ExceptionError("Cannot get Xmp Tags list using Exiv2 = ", e); + d->printExiv2ExceptionError(QString::fromLatin1("Cannot get Xmp Ta= gs list using Exiv2 "), e); } catch(...) {