[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kipi-plugins] common/libkipiplugins/tools: manage orientation info
From:       Gilles Caulier <caulier.gilles () gmail ! com>
Date:       2012-02-06 12:23:52
Message-ID: 20120206122352.DEE88A60A6 () git ! kde ! org
[Download RAW message or body]

Git commit d4716c7d64fff87b0a962f54c2184b29aa651100 by Gilles Caulier.
Committed on 06/02/2012 at 13:22.
Pushed by cgilles into branch 'master'.

manage orientation info

M  +22   -0    common/libkipiplugins/tools/kpimageinfo.cpp
M  +11   -0    common/libkipiplugins/tools/kpimageinfo.h

http://commits.kde.org/kipi-plugins/d4716c7d64fff87b0a962f54c2184b29aa651100

diff --git a/common/libkipiplugins/tools/kpimageinfo.cpp \
b/common/libkipiplugins/tools/kpimageinfo.cpp index 14447ed..9f37e6c 100644
--- a/common/libkipiplugins/tools/kpimageinfo.cpp
+++ b/common/libkipiplugins/tools/kpimageinfo.cpp
@@ -276,4 +276,26 @@ double KPImageInfo::altitude() const
     return 0.0;
 }
 
+void KPImageInfo::setOrientation(KExiv2::ImageOrientation orientation)
+{
+    if (d->iface)
+    {
+        KIPI::ImageInfo info = d->iface->info(d->url);
+        QMap<QString, QVariant> map;
+        map.insert("angle", (int)orientation);
+        info.addAttributes(map);
+    }
+}
+
+KExiv2::ImageOrientation KPImageInfo::orientation() const
+{
+    if (d->iface)
+    {
+        KIPI::ImageInfo info = d->iface->info(d->url);
+        QMap<QString, QVariant> map = info.attributes();
+        if (!map.isEmpty()) return (KExiv2::ImageOrientation)(map.value("angle", \
KExiv2::ORIENTATION_NORMAL).toInt()); +    }
+    return KExiv2::ORIENTATION_NORMAL;
+}
+
 }  // namespace KIPIPlugins
diff --git a/common/libkipiplugins/tools/kpimageinfo.h \
b/common/libkipiplugins/tools/kpimageinfo.h index 9a90dd5..2af6c44 100644
--- a/common/libkipiplugins/tools/kpimageinfo.h
+++ b/common/libkipiplugins/tools/kpimageinfo.h
@@ -34,6 +34,10 @@
 
 #include <kurl.h>
 
+// LibKexiv2 includes
+
+#include <libkexiv2/kexiv2.h>
+
 // Local includes
 
 #include "kipiplugins_export.h"
@@ -43,6 +47,8 @@ namespace KIPI
     class Interface;
 }
 
+using namespace KExiv2Iface;
+
 namespace KIPIPlugins
 {
 
@@ -100,6 +106,11 @@ public:
     void   setAltitude(double alt);
     double altitude() const;
 
+    /** Manage orientation of item. See KExiv2::ImageOrientation for possible \
values. +     */
+    void setOrientation(KExiv2::ImageOrientation orientation);
+    KExiv2::ImageOrientation orientation() const;
+
 private:
 
     class KPImageInfoPrivate;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic