Summary: | no exif-rotation in slideshow | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | tudor <tudor> |
Component: | Plugin-Generic-Presentation | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 0.1.0 | |
Sentry Crash Report: |
Description
tudor
2005-04-05 13:02:19 UTC
Was there ever? CVS commit by pahlibar: respect app set angle for rotating images in slideshow. need to come up with an angle spec to allow flipping of images as well (allowed by exif standard) BUGS: 103282 M +18 -1 imlibiface.cpp 1.5 M +1 -1 imlibiface.h 1.5 M +15 -7 plugin_slideshow.cpp 1.26 M +11 -6 slideshow.cpp 1.14 M +7 -3 slideshow.h 1.9 M +13 -4 slideshowgl.cpp 1.15 M +4 -3 slideshowgl.h 1.9 CVS commit by pahlibar: if user wants exif rotated image, he will get exif rotated image (in kipi as well) CCBUGS: 103282 M +24 -1 kipiinterface.cpp 1.20 --- kdeextragear-3/digikam/digikam/kipiinterface.cpp #1.19:1.20 @@ -52,4 +52,5 @@ extern "C" #include <libkexif/kexifutils.h> +#include <libkexif/kexifdata.h> // Local includes. @@ -211,5 +212,27 @@ void DigikamImageInfo::addAttributes( co int DigikamImageInfo::angle() { - // TODO ! This will a libKExif implementation call ? + AlbumSettings *settings = AlbumSettings::instance(); + if (settings->getExifRotate()) + { + KExifData exifData; + + if (exifData.readFromFile(_url.path())) + { + KExifData::ImageOrientation orientation = exifData.getImageOrientation(); + + switch (orientation) { + case KExifData::ROT_180: + return 180; + case KExifData::ROT_90: + case KExifData::ROT_90_HFLIP: + case KExifData::ROT_90_VFLIP: + return 90; + case KExifData::ROT_270: + return 270; + default: + return 0; + } + } + } return 0; |