Krita Source Code Documentation
Loading...
Searching...
No Matches
KisTouchGestureAction.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2022 Sharaf Zaman <shzam@sdf.org>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
8#include <KisMainWindow.h>
9#include <KisPart.h>
10#include <QAction>
11#include <kactioncollection.h>
12#include <kis_debug.h>
13
15 : KisAbstractInputAction("Touch Gestures")
16{
17 setName(i18n("Touch Gestures"));
18 setDescription(i18n("The Touch Gestures actions launch a single action for the specified gesture"));
19
20 QHash<QString, int> shortcuts;
21 shortcuts.insert(i18n("Undo"), UndoActionShortcut);
22 shortcuts.insert(i18n("Redo"), RedoActionShortcut);
23 shortcuts.insert(i18n("Toggle Canvas Only Mode"), ToggleCanvasOnlyShortcut);
24 shortcuts.insert(i18n("Toggle Eraser"), ToggleEraserMode);
25 shortcuts.insert(i18n("Toggle Eraser Preset"), ToggleEraserPreset);
26 shortcuts.insert(i18n("Reset Display"), ResetDisplay);
27 shortcuts.insert(i18n("Toggle Previous Brush Preset"), PreviousPresetShortcut);
28 shortcuts.insert(i18n("Color Sampler"), ColorSampler);
29 shortcuts.insert(i18n("Deselect"), Deselect);
30 shortcuts.insert(i18n("Activate Next Layer"), NextLayer);
31 shortcuts.insert(i18n("Activate Previous Layer"), PreviousLayer);
32 shortcuts.insert(i18n("Activate Freehand Brush Tool"), FreehandBrush);
33 shortcuts.insert(i18n("Freehand Selection Tool"), KisToolSelectContiguous);
34 shortcuts.insert(i18n("Activate Move Tool"), KisToolMove);
35 shortcuts.insert(i18n("Activate Transform Tool"), KisToolTransform);
36 setShortcutIndexes(shortcuts);
37}
38
39void KisTouchGestureAction::begin(int shortcut, QEvent *event)
40{
41 Q_UNUSED(event)
42 m_shortcut = shortcut;
43}
44
45void KisTouchGestureAction::end(QEvent *event)
46{
47 Q_UNUSED(event)
49 switch (m_shortcut) {
50 case UndoActionShortcut: {
51 QAction *action = actionCollection->action("edit_undo");
52 if (action) {
53 action->trigger();
54 }
55 break;
56 }
57 case RedoActionShortcut: {
58 QAction *action = actionCollection->action("edit_redo");
59 if (action) {
60 action->trigger();
61 }
62 break;
63 }
65 QAction *action = actionCollection->action("view_show_canvas_only");
66 if (action) {
67 action->trigger();
68 }
69 break;
70 }
71 case ToggleEraserMode: {
72 QAction *action = actionCollection->action("erase_action");
73 if (action) {
74 action->trigger();
75 }
76 break;
77 }
78 case ResetDisplay: {
79 QAction *action = actionCollection->action("reset_display");
80 if (action) {
81 action->trigger();
82 }
83 break;
84 }
86 QAction *action = actionCollection->action("previous_preset");
87 if (action) {
88 action->trigger();
89 }
90 break;
91 }
92 case ColorSampler: {
93 QAction *action = actionCollection->action("KisToolColorSampler");
94 if (action) {
95 action->trigger();
96 }
97 break;
98 }
99 case Deselect: {
100 QAction *action = actionCollection->action("deselect");
101 if (action) {
102 action->trigger();
103 }
104 break;
105 }
106 case NextLayer: {
107 QAction *action = actionCollection->action("activateNextLayer");
108 if (action) {
109 action->trigger();
110 }
111 break;
112 }
113 case PreviousLayer: {
114 QAction *action = actionCollection->action("activatePreviousLayer");
115 if (action) {
116 action->trigger();
117 }
118 break;
119 }
120 case FreehandBrush: {
121 QAction *action = actionCollection->action("FreehandBrush");
122 if (action) {
123 action->trigger();
124 }
125 break;
126 }
128 QAction *action = actionCollection->action("KisToolSelectContiguous");
129 if (action) {
130 action->trigger();
131 }
132 break;
133 }
134 case KisToolMove: {
135 QAction *action = actionCollection->action("KisToolMove");
136 if (action) {
137 action->trigger();
138 }
139 break;
140 }
141 case KisToolTransform: {
142 QAction *action = actionCollection->action("KisToolTransform");
143 if (action) {
144 action->trigger();
145 }
146 break;
147 }
148 case ToggleEraserPreset: {
149 QAction *action = actionCollection->action("eraser_preset_action");
150 if (action) {
151 action->trigger();
152 }
153 break;
154 }
155 default:
156 break;
157 }
158}
159
161{
162 return 6;
163}
Abstract base class for input actions.
void setShortcutIndexes(const QHash< QString, int > &indexes)
void setName(const QString &name)
void setDescription(const QString &description)
A container for a set of QAction objects.
QAction * action(int index) const
virtual KisKActionCollection * actionCollection() const
static KisPart * instance()
Definition KisPart.cpp:131
KisMainWindow * currentMainwindow() const
Definition KisPart.cpp:483
void end(QEvent *event) override
int priority() const override
void begin(int shortcut, QEvent *event) override