┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/knepomukrolesprovider.cpp22
-rw-r--r--src/kitemviews/knepomukrolesprovider_p.h10
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;