Version: 2.4.1 (using KDE 4.7.3) OS: Linux If an image is on the light-table and right-clicked on, then choosing Edit or Rotate does not edit/rotate the image that was right-clicked on - instead, it edits/rotates the image that is currently selected in the icon view in the main digiKam window. If nothing is selected in the main window, then the edit and rotate options disappear in the light table. Everything else seems fine, e.g. 'Open With' or 'Move to Trash' use the correct image. (As far as I can tell, the problem is that the context menu is using globally defined actions, rather than being tailored to the image that has been right-clicked on. For instance, clicking Edit triggers the global "image_edit" action. This is connected to DigikamView::slotImageEdit(), which calls 'd->iconView->openCurrentInEditor();'. I don't know the internals of digiKam well enough to be able to know the best way to fix it, hence no patch, sorry guys.) Reproducible: Always Steps to Reproduce: Steps to reproduce - for edit: 1) Pick four images, add to light table 2) Drag one of the images into the left or right pane on the light table 3) Pick something else in the main window 4) Right-click the image on the light table, pick edit 5) The image editor will open the image chosen in step (3) Or, for rotate: 1) Pick four images, add to light table 2) Drag one of the images into the left or right pane on the light table 3) Pick something else in the main window 4) Right-click the image on the light table, rotate it right by 90 degrees 5) The image selected at (3) will be rotated instead Actual Results: The image selected at step (3) is edited/rotated. Expected Results: The image that was right-clicked on is edited/rotated. It happens on older versions of digiKam too - I've noticed it for a while but have never worked out exactly what it is, other than sometimes the wrong image appears in the editor.
Andrew, I confirm. This is due to use JPEGLossLess kipi-plugin into LT. This one must be only used into albumGUI. Marcel, In fact this plugin have serious problem into digiKam now. I think to drop it in the future, and use already existing delegate code from digiKam core instead. We will talking about in Genoa, if this goal is fine for you. Gilles Caulier
My current opinion would be: The kipi plugin uses either libjpeg for lossless rotate or ImageMagick. We should think to move the relevant libjpeg code to a place where we can use it directly, either a library (libkexiv2?) or digikam itself. Then for non-JPEGs, we should never use lossy ImageMagick rotation, but rotate either using the Exif flags, or, if impossible, the database.
*** Bug 291070 has been marked as a duplicate of this bug. ***
Marcel, Look this patch: http://digikam3rdparty.free.fr/misc.tarballs/transform4.patch It patch to use core code from digiKam for rotate operation processed from all context menu... It's not yet complete of course... Gilles Caulier
Thank you Gilles, but I dont know to apply this patch... I'm sorry, please help me to get it working...
Warning. The patch is not complete. But you can start to test it... For me it fix all rotation actions from contextual menus. To apply it against code from KDE git/master repostory : 1/ copy patch on root of digiKam source code dir. 2/ run "patch -p1 < transform4.patch" 3/ recompile and install digiKam. To cancel patch applied on source code, run "git reset --hard HEAD" Gilles Caulier
ok Gilles, I think it's better for me to wait a new release... I'm not so "geek"... but I'll try it, anyway... Thank you Antonio
Git commit 8ebc7c227c99dbf5da0b5c483baea94b1b901009 by Gilles Caulier. Committed on 13/01/2012 at 10:30. Pushed by cgilles into branch 'master'. Start to use digiKam core method to rotate left/right image using JPEGLOssLess method for JPEG files and DImg class for others image type. This commit do not replace yet kipi JPEGLOssLEss tool in main menu. It's planed later. Only all contextual menu are aptched. M +3 -5 digikam/items/digikamimageview.cpp M +0 -17 digikam/items/digikamimageview_p.cpp M +103 -9 digikam/metadata/fileactionmngr.cpp M +3 -1 digikam/metadata/fileactionmngr.h M +42 -19 digikam/metadata/fileactionmngr_p.h M +29 -35 digikam/utils/contextmenuhelper.cpp M +8 -11 digikam/utils/contextmenuhelper.h M +7 -16 digikam/views/digikamview.cpp M +2 -2 digikam/views/digikamview.h M +4 -28 digikam/views/imagepreviewview.cpp http://commits.kde.org/digikam/8ebc7c227c99dbf5da0b5c483baea94b1b901009
Git commit c737d5f631df4541751e9f6893e8bc1dbb208233 by Gilles Caulier. Committed on 13/01/2012 at 15:07. Pushed by cgilles into branch 'master'. disable JPEGLossLess kipi-plugin from digiKam. We use now the dedicated code from core implementation instead. M +0 -5 digikam/items/digikamimageview.cpp M +0 -1 digikam/items/digikamimageview.h M +88 -18 digikam/main/digikamapp.cpp M +3 -1 digikam/main/digikamapp.h M +7 -2 digikam/main/digikamapp_p.h M +4 -2 digikam/main/digikamui.rc M +8 -1 digikam/metadata/fileactionmngr.cpp M +1 -0 digikam/metadata/fileactionmngr.h M +6 -0 digikam/metadata/fileactionmngr_p.h M +17 -6 digikam/views/digikamview.cpp M +1 -0 digikam/views/digikamview.h http://commits.kde.org/digikam/c737d5f631df4541751e9f6893e8bc1dbb208233