You have unsaved changes...
written on Sunday, July 15, 2007
In Gwenview 1.4, whenever you were leaving an image you modified, it would warn you with a modal dialog box, asking whether you wanted to save, discard or cancel. This "feature" got irritating enough that I later added a "don't ask me again" checkbox to the dialog. Changes were then either automatically saved or discarded.
Automatically saving changes is fine as long as the application only provides you with reversible changes like rotating or mirroring. For Gwenview 2.0, I plan to add support for at least scaling and cropping. You can't easily reverse these kind of changes once the image has been saved, so the silly "save, discard, cancel, don't ask me again" dialog is not an option.
After thinking about it for a while I came up with a solution I am going to present now: the save bar. The idea is: whenever you modify an image, a thin bar (similar to Firefox's popup blocker bar) appears below the application toolbar. This save bar lets you save your changes, but it does not block you. If you go to another image, the save bar stays there, offering you a link to go back to your unsaved image. The only modal save dialog appears when you try to quit the application without having saved your changes .
The current image has been modified.
Here I just moved to the next image, the save bar gives me a way to go back to my modified image.
Additionally, if you modify an image, the thumbnail view shows the modified image, with an unsaved flag in the bottom right corner. This makes it possible for example to fix image orientation using only the thumbnail view.Having modified two images, the save bar let me go through all my modified images, and provide a handy "Save All" link. Notice the unsaved flags in the thumbnail view.
It's not finished yet, but you can already give it a try in Subversion. I am still not sure about the way it looks: should I move the links closer to the text? Should I use classic buttons instead of links (I choose links to keep the bar as thin as possible)? Your ideas are welcome.