SUMMARY Spectacle 20.12 introduces an annotate mode, long desired (in my case, at least, one of the great features it has Flameshot when I tried it), but having Flameshot (again) as a reference, I really think it'd be fantastic and needed a button for undo and other for redo, because I only tested it a little, but it seemed a huge lack to me. STEPS TO REPRODUCE 1. Launch Spectacle. 2. Change to annotate mode. 3. Do some annotations. OBSERVED RESULT If you mistake doing annotations, you can't undo. EXPECTED RESULT Spectacle should allow undo and redo. SOFTWARE/OS VERSIONS Linux/KDE Plasma: 5.9.11/5.20.4 (available in About System) KDE Plasma Version: 5.20.4 KDE Frameworks Version: 5.76 Qt Version: 5.15.2
The Ctrl+Z keyboard shortcut already exists and works, but I agree that a visible button would be helpful too.
Created attachment 143605 [details] example of a possible solution Would this be ok? Or see into kImageAnnotator to include undo and redo (another upstream change)?
Hmm, in retrospect this should probably be done upstream in KImageAnnotator. Ctrl+Z already works within it so clearly it already has all the logic. It just needs a button. If that's total nonsense because KImageAnnotator was designed to expose its undo action externally so the surrounding app can implement it itself, ignore me and proceed with that design. :) But while we're at it, let's move the undo and redo buttons away from thew two existing buttons so people don't accidentally save or cancel their annotation when trying to click on an undo button. You always want to separate those kinds of buttons.
Working upstream on it: https://github.com/ksnip/kImageAnnotator/pull/263 undo/redo, crop, scale and modify canvas :)
A possibly relevant merge request was started @ https://invent.kde.org/graphics/spectacle/-/merge_requests/100
Git commit 49b48a9aba30ba0644b2709e571a185b807e38e6 by Antonio Prcela. Committed on 03/12/2021 at 16:16. Pushed by ngraham into branch 'master'. Enable newly introduced controls within kImageAnnotator Adds undo, redo, crop, scale, rotate and modify canvas buttons. Requires kImageAnnotator 0.6.0 Related: bug 430465 M +1 -1 CMakeLists.txt M +1 -0 src/Gui/KSWidget.cpp https://invent.kde.org/graphics/spectacle/commit/49b48a9aba30ba0644b2709e571a185b807e38e6