Bug 252071 - [FEATURE_PROJECT] Ability to cancel long-running background strokes
Summary: [FEATURE_PROJECT] Ability to cancel long-running background strokes
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: git master (please specify the git hash!)
Platform: Unlisted Binaries Linux
: NOR task
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-22 19:44 UTC by Dmitry Kazakov
Modified: 2016-10-24 14:04 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Kazakov 2010-09-22 19:44:24 UTC
Version:           svn trunk
OS:                Linux

When you are painting something with, e.g. Gradient tool, Brush tool or whatever you should be able to change your mind and press Esc. This must cancel your stroke and leave the tool you were using selected.

Reproducible: Sometimes
Comment 1 Halla Rempt 2010-09-23 09:15:39 UTC
I think we're hitting a problem with flake here, where Esc means "switch to default tool".
Comment 2 Halla Rempt 2011-10-16 13:17:14 UTC
We can hijack Esc in our canvas -- that should work for this purpose.
Comment 3 Halla Rempt 2012-02-01 14:57:09 UTC
Note: users also want Esc to have the meaning "leave canvas only mode".
Comment 4 Dmitry Kazakov 2012-02-02 06:48:22 UTC
In Photoshop and Gimp they use Tab for this purpose.
Comment 5 Halla Rempt 2012-02-12 09:53:14 UTC
Git commit 4bdb63c24abd18d5ca2e6cd8ffb7deab35f694fb by Boudewijn Rempt.
Committed on 11/02/2012 at 13:34.
Pushed by rempt into branch 'master'.

Change default shortcut for show-canvas-only to Tab

Conforming to other systems like GIMP and Photoshop
Related: bug 281539, bug 293628

Still, we might have to disable this function for 2.4 if we cannot fix
293628.

M  +1    -1    krita/ui/kis_view2.cpp

http://commits.kde.org/calligra/4bdb63c24abd18d5ca2e6cd8ffb7deab35f694fb
Comment 6 Halla Rempt 2013-09-25 13:23:46 UTC
Remaining broken tools are:

UI:
* assistant tool
* crop

Stroke:

* fill tool (remove button next to progress bar?)
* gradient (remove button next to progress bar?)
Comment 7 Dmitry Kazakov 2014-06-04 20:15:35 UTC
Git commit 71c69adb0e900f9f1bf00778b5fbc6281259fd4a by Dmitry Kazakov.
Committed on 04/06/2014 at 20:15.
Pushed by dkazakov into branch 'progress-bar-reincarnated-kazakov'.

Added an ability to cancel the currently running strokes!

You can either press Esc key or press a red cross button which appears
near the progress bar in the bottom. The currently executing stroke will
be cancelled and all its work will be reverted.

This patch will first go to 'progress-bar-reincarnated-kazakov' branch.
Please test it for stability and usability please!
CCMAIL:kimageshop@kde.org

M  +14   -1    krita/image/kis_image.cc
M  +7    -5    krita/image/kis_image.h
M  +12   -11   krita/image/kis_queues_progress_updater.cpp
M  +0    -1    krita/image/kis_queues_progress_updater.h
M  +5    -0    krita/image/kis_stroke.cpp
M  +1    -0    krita/image/kis_stroke_job.h
M  +28   -0    krita/image/kis_strokes_queue.cpp
M  +2    -0    krita/image/kis_strokes_queue.h
M  +10   -9    krita/image/kis_update_scheduler.cpp
M  +14   -1    krita/image/kis_update_scheduler.h
M  +7    -8    krita/image/tests/kis_queues_progress_updater_test.cpp
M  +36   -0    krita/image/tests/kis_stroke_test.cpp
M  +1    -0    krita/image/tests/kis_stroke_test.h
M  +29   -0    krita/image/tests/kis_strokes_queue_test.cpp
M  +1    -0    krita/image/tests/kis_strokes_queue_test.h
M  +37   -2    krita/image/tests/scheduler_utils.h
M  +2    -0    krita/ui/kis_view2.cpp
M  +2    -23   krita/ui/widgets/kis_progress_widget.cpp
M  +3    -0    krita/ui/widgets/kis_progress_widget.h

http://commits.kde.org/calligra/71c69adb0e900f9f1bf00778b5fbc6281259fd4a
Comment 8 Dmitry Kazakov 2015-06-15 06:20:48 UTC
This is a nice FEATURE_PROJECT for Krita. Just make it a task
Comment 9 Dmitry Kazakov 2016-10-24 14:04:32 UTC
Ok, most of the long-running actions are cancellable now. If you think some action is not cancellable, please report a separate bug for it.