diff options
| author | Peter Penz <[email protected]> | 2012-04-07 09:49:00 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2012-04-07 09:49:31 +0200 |
| commit | 94a44c03e45ca9715d7dd4370f2b0daf067f835c (patch) | |
| tree | 544888e8af71e3698acf91989ced89a6e0684ffb /src/kitemviews | |
| parent | f4fd2c201ff4f0317bef74819fe37d45eddd129f (diff) | |
Provide proper translation for orientation-EXIF-value
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/knepomukrolesprovider.cpp | 22 | ||||
| -rw-r--r-- | src/kitemviews/knepomukrolesprovider_p.h | 10 |
2 files changed, 32 insertions, 0 deletions
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 <KDebug> #include <KGlobal> +#include <KLocale> #include <Nepomuk/Resource> #include <Nepomuk/Tag> @@ -91,6 +92,9 @@ QHash<QByteArray, QVariant> 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<QByteArray> m_roles; QHash<QUrl, QByteArray> m_roleForUri; |
