From 94a44c03e45ca9715d7dd4370f2b0daf067f835c Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 7 Apr 2012 09:49:00 +0200 Subject: [PATCH] Provide proper translation for orientation-EXIF-value --- src/kitemviews/knepomukrolesprovider.cpp | 22 ++++++++++++++++++++++ src/kitemviews/knepomukrolesprovider_p.h | 10 ++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/kitemviews/knepomukrolesprovider.cpp b/src/kitemviews/knepomukrolesprovider.cpp index 5c2e4e1da..ac371e189 100644 --- a/src/kitemviews/knepomukrolesprovider.cpp +++ b/src/kitemviews/knepomukrolesprovider.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include @@ -91,6 +92,9 @@ QHash KNepomukRolesProvider::roleValues(const Nepomuk::Res } else if (role == "tags") { const QString tags = tagsFromValues(value.toStringList()); values.insert(role, tags); + } else if (role == "orientation") { + const QString orientation = orientationFromValue(value.toInt()); + values.insert(role, orientation); } else { values.insert(role, value.toString()); } @@ -157,3 +161,21 @@ QString KNepomukRolesProvider::tagsFromValues(const QStringList& values) const return tags; } +QString KNepomukRolesProvider::orientationFromValue(int value) const +{ + QString string; + switch (value) { + case 1: string = i18nc("@item:intable Image orientation", "Unchanged"); break; + case 2: string = i18nc("@item:intable Image orientation", "Horizontally flipped"); break; + case 3: string = i18nc("@item:intable image orientation", "180° rotated"); break; + case 4: string = i18nc("@item:intable image orientation", "Vertically flipped"); break; + case 5: string = i18nc("@item:intable image orientation", "Transposed"); break; + case 6: string = i18nc("@item:intable image orientation", "90° rotated"); break; + case 7: string = i18nc("@item:intable image orientation", "Transversed"); break; + case 8: string = i18nc("@item:intable image orientation", "270° rotated"); break; + default: + break; + } + return string; +} + diff --git a/src/kitemviews/knepomukrolesprovider_p.h b/src/kitemviews/knepomukrolesprovider_p.h index ca5e186ba..c7781cd00 100644 --- a/src/kitemviews/knepomukrolesprovider_p.h +++ b/src/kitemviews/knepomukrolesprovider_p.h @@ -59,8 +59,18 @@ protected: KNepomukRolesProvider(); private: + /** + * @return User visible string for the given tag-values. + */ QString tagsFromValues(const QStringList& values) const; + /** + * @return User visible string for the EXIF-orientation property + * which can have the values 0 to 8. + * (see http://sylvana.net/jpegcrop/exif_orientation.html) + */ + QString orientationFromValue(int value) const; + private: QSet m_roles; QHash m_roleForUri; -- 2.47.3