[Digikam-devel] [Bug 123742] New: preview-pictures seem to be handled differently by Digikam and Konqueror

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 123742] New: preview-pictures seem to be handled differently by Digikam and Konqueror

Bugzilla from heiko.braun@web.de
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=123742         
           Summary: preview-pictures seem to be handled differently by
                    Digikam and Konqueror
           Product: digikam
           Version: 0.7.4
          Platform: SuSE RPMs
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: digikam-devel kde org
        ReportedBy: heiko.braun web de


Version:           0.7.4 (using KDE KDE 3.4.2)
Installed from:    SuSE RPMs
OS:                Linux

Digikam seems to handle preview-pics differently than Konqueror concerning the orientation, though they share the same previews. This bug occurs when browsing a digikam-albumfolder with konqueror or when using an existing folder as album with digikam.
Obviously Konqueror stores the previews after turning them  in the right direction - so all preview-pics should have the orientation 'normal'
Digikam stores the previews exactly as the originals and takes care of the 'orientation'-Tag in the metadata of the picture.
This makes preview-pics creaed with Digikam appear lying on their side in Konqueror and versa visa.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 123742] preview-pictures seem to be handled differently by Digikam and Konqueror

Gilles Caulier
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=123742         




------- Additional Comments From caulier.gilles free fr  2006-04-04 10:23 -------
SVN commit 526246 by cgilles:

digikam from trunk : process exif auto-rotation before to save thumbnail file in ~/.thumbnails. This way is homogenous with konqueror.

NOTE: 'stable' svn branch not yet fixed (0.8.2). I'm waiting some feedback before to do...

CCMAIL: digikam-devel kde org
CCBUGS: 123742

 M  +3 -2      digikamthumbnail.cpp  


--- trunk/extragear/graphics/digikam/kioslave/digikamthumbnail.cpp #526245:526246
 @ -366,6 +366,9  @
 
         if (img.depth() != 32)
             img = img.convertDepth(32);
+            
+        if (exif)
+            exifRotate(url.path(), img);
 
         img.setText(QString("Thumb::URI").latin1(),
                      0, uri);
 @ -384,8 +387,6  @
     }
 
     img = img.smoothScale(size, size, QImage::ScaleMin);
-    if (exif)
-        exifRotate(url.path(), img);
 
     if (img.isNull())
     {
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 123742] preview-pictures seem to be handled differently by Digikam and Konqueror

Gilles Caulier
In reply to this post by Bugzilla from heiko.braun@web.de
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=123742         




------- Additional Comments From caulier.gilles free fr  2006-04-04 10:27 -------
To perform tests using digiKam and konqueror with some JPEG files vertically oriented, you can use my test images availalble here :

http://digikam3rdparty.free.fr/TEST_IMAGES/JPEG/

Gilles Caulier
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 123742] preview-pictures seem to be handled differently by Digikam and Konqueror

Gilles Caulier
In reply to this post by Bugzilla from heiko.braun@web.de
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=123742         




------- Additional Comments From caulier.gilles free fr  2006-04-07 08:46 -------
SVN commit 527168 by cgilles:

digikam from stable : process exif auto-rotation before to save thumbnail file in ~/.thumbnails. This way is homogenous with konqueror.

CCMAIL: digikam-devel kde org
CCBUGS: 123742

 M  +6 -11     digikamthumbnail.cpp  


--- branches/stable/extragear/graphics/digikam/kioslave/digikamthumbnail.cpp #527167:527168
 @ -298,12 +298,10  @
     createThumbnailDirs();
 }
 
-
 kio_digikamthumbnailProtocol::~kio_digikamthumbnailProtocol()
 {
 }
 
-
 void kio_digikamthumbnailProtocol::get(const KURL& url )
 {
     int  size =  metaData("size").toInt();
 @ -334,7 +332,6  @
         error(KIO::ERR_INTERNAL, i18n("File does not exist"));
         return;
     }
-
     
     img = loadPNG(thumbPath);
     if (!img.isNull())
 @ -377,13 +374,13  @
 
         if (img.depth() != 32)
             img = img.convertDepth(32);
+            
+        if (exif)
+            exifRotate(url.path(), img);            
 
-        img.setText(QString("Thumb::URI").latin1(),
-                     0, uri);
-        img.setText(QString("Thumb::MTime").latin1(),
-                     0, QString::number(st.st_mtime));
-        img.setText(QString("Software").latin1(),
-                     0, QString("Digikam Thumbnail Generator"));
+        img.setText(QString("Thumb::URI").latin1(), 0, uri);
+        img.setText(QString("Thumb::MTime").latin1(), 0, QString::number(st.st_mtime));
+        img.setText(QString("Software").latin1(), 0, QString("Digikam Thumbnail Generator"));
 
         KTempFile temp(thumbPath + "-digikam-", ".png");
         if (temp.status() == 0)
 @ -395,8 +392,6  @
     }
 
     img = img.smoothScale(size, size, QImage::ScaleMin);
-    if (exif)
-        exifRotate(url.path(), img);
 
     if (img.isNull())
     {
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 123742] preview-pictures seem to be handled differently by Digikam and Konqueror

Gilles Caulier
In reply to this post by Bugzilla from heiko.braun@web.de
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=123742         
caulier.gilles free fr changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From caulier.gilles free fr  2006-04-07 08:48 -------
Both stable and trunk implementation fixed. Tested indeep and work fine. I close this file

Gilles Caulier
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 123742] preview-pictures seem to be handled differently by Digikam and Konqueror

Gilles Caulier
In reply to this post by Bugzilla from heiko.braun@web.de
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=123742         




------- Additional Comments From caulier.gilles free fr  2006-04-07 09:18 -------
IMPORTANT :

digikam take a care about Exif orientation tag to compute thumb (if option is enable of course). The images are always right oriented in preview.

konqueror do not take a  care about exif orientation tag (tested with KDE 3.4.2)

This is want mean that if you use digikam to compute previews before to use konqueror, all thumbs will be right in konqueror. In other way, if konqueror is used to compute thumbs before to use digiKam, the thumb will be wrong in digiKam...

Gilles Caulier
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 123742] preview-pictures seem to be handled differently by Digikam and Konqueror

Bugzilla from roger.larsson@norran.net
In reply to this post by Bugzilla from heiko.braun@web.de
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=123742         




------- Additional Comments From roger.larsson norran net  2006-05-06 23:34 -------
Some cameras (Canon) seems to rotate the embedded thumbnail, others don't
(Nikon).

So the result will depends on if the konqueror option to use embedded thumbnails or not. (in Preview and Metadata)
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 123742] preview-pictures seem to be handled differently by Digikam and Konqueror

Gilles Caulier
In reply to this post by Bugzilla from heiko.braun@web.de
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=123742         




------- Additional Comments From caulier.gilles free fr  2006-05-27 12:48 -------
SVN commit 545326 by cgilles:

digikam from stable: always use thumbnails generated by digiKam kio slave, not kde thumbnails generator.
CCBUGS: 119946, 123742

 M  +14 -10    digikamthumbnail.cpp  


--- branches/stable/extragear/graphics/digikam/kioslave/digikamthumbnail.cpp #545325:545326
 @ -21,6 +21,8  @
  * ============================================================ */
 
 #define XMD_H
+#define PNG_BYTES_TO_CHECK 4
+#define DigiKamFingerPrint "Digikam Thumbnail Generator"
 
 // Qt Includes.
 
 @ -139,8 +141,6  @
        thumb = thumb.xForm( matrix );
 }
 
-#define PNG_BYTES_TO_CHECK 4
-
 static QImage loadPNG(const QString& path)
 {
     png_uint_32         w32, h32;
 @ -264,9 +264,8  @
     }
 
     int sizeOfUint = sizeof(unsigned int);
-    for (i = 0; i < h; i++)
-        lines[i] = ((unsigned char *)(qimage.bits())) +
-                   (i * w * sizeOfUint);
+    for (i = 0 ; i < h ; i++)
+        lines[i] = ((unsigned char *)(qimage.bits())) + (i * w * sizeOfUint);
 
     png_read_image(png_ptr, lines);
     free(lines);
 @ -274,7 +273,8  @
     png_textp text_ptr;
     int num_text=0;
     png_get_text(png_ptr,info_ptr,&text_ptr,&num_text);
-    while (num_text--) {
+    while (num_text--)
+    {
         qimage.setText(text_ptr->key,0,text_ptr->text);
         text_ptr++;
     }
 @ -288,7 +288,7  @
 }
 
 kio_digikamthumbnailProtocol::kio_digikamthumbnailProtocol(int argc, char** argv)
-    : SlaveBase("kio_digikamthumbnail", argv[2], argv[3])
+                            : SlaveBase("kio_digikamthumbnail", argv[2], argv[3])
 {
     argc_ = argc;
     argv_ = argv;
 @ -331,11 +331,15  @
         error(KIO::ERR_INTERNAL, i18n("File does not exist"));
         return;
     }
+
+    // NOTE: if thumbnail have not been generated by digiKam (konqueror for example),
+    //       force to recompute it, else we use it.
     
     img = loadPNG(thumbPath);
     if (!img.isNull())
     {
-        if (img.text("Thumb::MTime") == QString::number(st.st_mtime))
+        if (img.text("Thumb::MTime") == QString::number(st.st_mtime) &&
+            img.text("Software")     == QString(DigiKamFingerPrint))
             regenerate = false;
     }
 
 @ -382,9 +386,9  @
         if (exif)
             exifRotate(url.path(), img);            
 
-        img.setText(QString("Thumb::URI").latin1(), 0, uri);
+        img.setText(QString("Thumb::URI").latin1(),   0, uri);
         img.setText(QString("Thumb::MTime").latin1(), 0, QString::number(st.st_mtime));
-        img.setText(QString("Software").latin1(), 0, QString("Digikam Thumbnail Generator"));
+        img.setText(QString("Software").latin1(),     0, QString(DigiKamFingerPrint));
 
         KTempFile temp(thumbPath + "-digikam-", ".png");
         if (temp.status() == 0)
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 123742] preview-pictures seem to be handled differently by Digikam and Konqueror

Gilles Caulier
In reply to this post by Bugzilla from heiko.braun@web.de
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=123742         




------- Additional Comments From caulier.gilles free fr  2006-05-27 12:49 -------
SVN commit 545328 by cgilles:

digikam from trunk: always use thumbnails generated by digiKam kio slave, not kde thumbnails generator.
CCBUGS: 119946, 123742

 M  +10 -6     digikamthumbnail.cpp  


--- trunk/extragear/graphics/digikam/kioslave/digikamthumbnail.cpp #545327:545328
 @ -22,6 +22,7  @
 
 #define XMD_H
 #define PNG_BYTES_TO_CHECK 4
+#define DigiKamFingerPrint "Digikam Thumbnail Generator"
 
 // C++ includes.
 
 @ -273,9 +274,8  @
     }
 
     int sizeOfUint = sizeof(unsigned int);
-    for (i = 0; i < h; i++)
-        lines[i] = ((unsigned char *)(qimage.bits())) +
-                   (i * w * sizeOfUint);
+    for (i = 0 ; i < h ; i++)
+        lines[i] = ((unsigned char *)(qimage.bits())) + (i * w * sizeOfUint);
 
     png_read_image(png_ptr, lines);
     free(lines);
 @ -341,10 +341,14  @
         return;
     }
 
+    // NOTE: if thumbnail have not been generated by digiKam (konqueror for example),
+    //       force to recompute it, else we use it.
+
     img = loadPNG(thumbPath);
     if (!img.isNull())
     {
-        if (img.text("Thumb::MTime") == QString::number(st.st_mtime))
+        if (img.text("Thumb::MTime") == QString::number(st.st_mtime) &&
+            img.text("Software")     == QString(DigiKamFingerPrint))
             regenerate = false;
     }
 
 @ -387,9 +391,9  @
         if (exif)
             exifRotate(url.path(), img);
 
-        img.setText(QString("Thumb::URI").latin1(), 0, uri);
+        img.setText(QString("Thumb::URI").latin1(),   0, uri);
         img.setText(QString("Thumb::MTime").latin1(), 0, QString::number(st.st_mtime));
-        img.setText(QString("Software").latin1(), 0, QString("Digikam Thumbnail Generator"));
+        img.setText(QString("Software").latin1(),     0, QString(DigiKamFingerPrint));
 
         KTempFile temp(thumbPath + "-digikam-", ".png");
         if (temp.status() == 0)
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel