Bug 276061

Summary: "Save (as new version)" is not enabled right after importing a RAW picture
Product: [Applications] digikam Reporter: S. Burmeister <sven.burmeister>
Component: ImageEditor-VersioningAssignee: Digikam Developers <digikam-bugs-null>
Severity: normal CC: caulier.gilles, fredericg_99, hleroy
Priority: NOR    
Version: 2.0.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 2.1.0
Sentry Crash Report:

Description S. Burmeister 2011-06-19 17:48:05 UTC
Version:           2.0.0 (using KDE 4.6.4) 
OS:                Linux

If I import a RAW picture, i.e. open it in the editor with the demosaicing-tool I can only export it. Yet since raw conversion is already something that changed the picture I should be able to save it as is and not have to apply further changes before that.

Reproducible: Always
Comment 1 Marcel Wiesweg 2011-06-20 21:55:38 UTC
Git commit cd4cabd5a90bd9295897b90f9170e1139ebdef7c by Marcel Wiesweg.
Committed on 20/06/2011 at 21:52.
Pushed by mwiesweg into branch 'master'.

Add a method to check if changes are done in the image history, even if not recorded as actions.
Needs to be carefully used in the case of RAW import.

CCBUG: 276061

M  +21   -0    utilities/imageeditor/canvas/undomanager.cpp     
M  +1    -0    utilities/imageeditor/canvas/undomanager.h     

Comment 2 Marcel Wiesweg 2011-06-20 21:58:29 UTC
This needs some consideration. In case of fully automatic RAW loading, it seems unintuitive to offer the normal "Save" button, users may ask what has happened. In case of manual loading, I see the use case for the normal save button. But I dont want to introduce special handling between these cases.
A solution would be to offer Save + Save new version after any Raw import, although users may not know at first what they changed that needs saving. Only offering "Save new version" would restrict users.
Hm I'm not sure.
Comment 3 Frederic Grelot 2011-07-18 17:07:56 UTC
I'm also concerned with this bug : say that I just want to open my raw image, choose my settings and then create a PNG or TIFF version of it : the only way is to use the "export" option, which is quite unexpected.
I would expect to just press "Save" to record my changes into a new file, not necessarily have them recorded alongside the RAW file (which forces digikam to reprocess the raw file everytime I want to see it...)
Comment 4 Frederic Grelot 2011-07-24 11:02:54 UTC
I just checked again the process thanks to Marcel's modification for bug.
Still, I think that there is either a bug in the options shown, or I just really don't get it and do it wrong...
When I want to import a raw (DNG) image (stored in the collections) into my library (another place in the same collection), here is what I do :
-In the main window, I browse my DNG files, and when I found one that I want to import, I hit F4 (open in editor)
-In the editor, I then set the sliders to what I want (exposure, balance, luminosity curve...)
-I then hit "import" : now, my picture is imported (but NOT saved) and I can do what I want
-Still, my purpose here is just to save it in my library (say in JPEG) in this state : the problem is that the only option here is still to use "export"... I understand that "Save" and "Save As new version" options should appear only when modifications are made on the image, but setting the sliders and clicking "import" is a modification isn't it?
Comment 5 Frederic Grelot 2011-07-24 11:08:35 UTC
(In reply to comment #4)
> I just checked again the process thanks to Marcel's modification for bug.

Should read : "I just checked again the process thanks to Marcel's modification for bug 278040"
Comment 6 Marcel Wiesweg 2011-07-24 13:20:17 UTC
I did not work on this problem, but I see the problem. The solution will probably be to enable Save/Save Version even though this may cause confusion with RAW auto-import.
Comment 7 Hervé Le Roy 2011-08-10 09:56:13 UTC
I agree with Frederic Grelot comments. I expect to see the "Save changes" button enabled right after RAW conversion. The "Export" button allows to save the image but :
(1) what we want to achieve is not an export so the name is confusing
(2) the "Save as" dialog that appears when hitting export shows the home directory, forcing to navigate to the actual directory where the original RAW image was stored.
(3) we loose the benefit of versioning.

In the meantime, I have to revert back to the old behaviour (i.e. showing the "Save as" button) by disabling versioning. It's a shame because I find the versioning feature absolutely wonderful.

As a last note, I must say that I was very confused when doing my first RAW import with versioning, despite being a long time Digikam user. In the current situation, it is not intuitive and not user friendly. So I hope someone will write a patch soon. I'm not a C coder unfortunately so I can't help here :-(

Comment 8 Marcel Wiesweg 2011-09-04 10:50:57 UTC
Git commit 4ca9c91a082617d32d2629c542ce9d75819fa3e5 by Marcel Wiesweg.
Committed on 04/09/2011 at 12:46.
Pushed by mwiesweg into branch 'master'.

Allow to save/save-versioned raw image which were imported, but not edited

Clean up the mechanism which updates undo/redo state, remove bool parameters
and add state object. Clean up canvas indirections.
Distinguish "has any changes" and "has changes which can be undone", where the
latter excludes RAW import. Some actions are enabled according to the former,
some follow the latter property.
By design decision, a RAW import result can now be saved, but when closing the
window without saving, no save/discard prompt will be shown.

BUG: 276061

M  +16   -24   utilities/imageeditor/editor/editorwindow.cpp
M  +1    -1    utilities/imageeditor/canvas/undomanager.cpp
M  +0    -3    utilities/imageeditor/canvas/canvas.h
M  +1    -2    utilities/imageeditor/editor/editorwindow.h
M  +14   -3    utilities/imageeditor/canvas/dimginterface.h
M  +22   -15   utilities/imageeditor/canvas/dimginterface.cpp
M  +0    -13   utilities/imageeditor/canvas/canvas.cpp
M  +1    -1    utilities/imageeditor/canvas/undomanager.h
M  +1    -0    NEWS
M  +0    -1    utilities/imageeditor/editor/imagewindow.h
M  +1    -6    utilities/imageeditor/editor/imagewindow.cpp

Comment 9 Hervé Le Roy 2011-09-06 15:39:12 UTC
Thank you Marcel for the resolution of this issue.