|
Krita Source Code Documentation
|
#include <kis_shortcut_matcher.h>
Inheritance diagram for KisShortcutMatcher:Classes | |
| struct | RecursionGuard |
| struct | RecursionNotifier |
Public Attributes | |
| std::function< KisInputActionGroupsMask()> | actionGroupMask |
| QScopedPointer< QEvent > | bestCandidateTouchEvent |
| int | brokenByRecursion = 0 |
| QSet< Qt::MouseButton > | buttons |
| QList< KisStrokeShortcut * > | candidateShortcuts |
| bool | cursorEntered |
| bool | isTouchDragDetected {false} |
| QSet< Qt::Key > | keys |
| QList< QTouchEvent::TouchPoint > | lastTouchPoints |
| int | matchingIteration {0} |
| int | maxTouchPoints {0} |
| KisNativeGestureShortcut * | nativeGestureShortcut |
| QList< KisNativeGestureShortcut * > | nativeGestureShortcuts |
| QSet< Qt::Key > | polledKeys |
| KisStrokeShortcut * | readyShortcut |
| int | recursiveCounter = 0 |
| KisStrokeShortcut * | runningShortcut |
| QList< KisSingleActionShortcut * > | singleActionShortcuts |
| QList< KisStrokeShortcut * > | strokeShortcuts |
| bool | suppressAllActions |
| bool | suppressAllKeyboardActions |
| QSet< KisSingleActionShortcut * > | suppressedSingleActionShortcuts |
| KisTouchShortcut * | touchShortcut |
| QList< KisTouchShortcut * > | touchShortcuts |
Private Member Functions | |
| void | fireReadyTouchShortcut (QTouchEvent *event) |
| void | forceDeactivateAllActions () |
| void | forceEndRunningShortcut (const QPointF &localPos) |
| KisTouchShortcut * | matchTouchShortcut (QTouchEvent *event) |
| void | prepareReadyShortcuts () |
| void | reset () |
| void | reset (QString msg) |
| void | setMaxTouchPointEvent (QTouchEvent *event) |
| void | tryActivateReadyShortcut () |
| bool | tryEndNativeGestureShortcut (QNativeGestureEvent *event) |
| bool | tryEndRunningShortcut (Qt::MouseButton button, QEvent *event) |
| bool | tryEndTouchShortcut (QTouchEvent *event) |
| bool | tryRunNativeGestureShortcut (QNativeGestureEvent *event) |
| bool | tryRunReadyShortcut (Qt::MouseButton button, QEvent *event) |
| template<typename T , typename U > | |
| bool | tryRunSingleActionShortcutImpl (T param, U *event, const QSet< Qt::Key > &keysState, bool keyboard=true) |
| bool | tryRunTouchShortcut (QTouchEvent *event) |
| bool | tryRunWheelShortcut (KisSingleActionShortcut::WheelAction wheelAction, QWheelEvent *event) |
Private Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Private Attributes | |
| Private *const | m_d |
Private Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
Friends | |
| class | KisInputManagerTest |
The class that manages connections between shortcuts and actions.
It processes input events and generates state transitions for the actions basing on the data, represented by the shortcuts.
The class works with two types of actions: long running (represented by KisStrokeShortcuts) and "atomic" (KisSingleActionShortcut). The former one involves some long interaction with the user by means of a mouse cursor or a tablet, the latter one simple action like "Zoom 100%" or "Reset Rotation".
The single action shortcuts are handled quite easily. The matcher listens to the events coming, manages two lists of the pressed keys and buttons and when their content corresponds to some single action shortcut it just runs this shortcut once.
The strategy for handling the stroke shortcuts is a bit more complex. Each such action may be in one of the three states:
Idle <-> Ready <-> Running
In "Idle" state the action is completely inactive and has no access to the user
When the action is in "Ready" state, it means that all the modifiers for the action are already pressed and we are only waiting for a user to press the mouse button and start a stroke. In this state the action can show the user its Cursor to notify the user what is going to happen next.
In the "Running" state, the action has full access to the user input and is considered to perform all the work it was created for.
To implement such state transitions for the actions, KisShortcutMatcher first forms a list of the actions which can be moved to a ready state (m_d->readyShortcuts), then chooses the one with the highest priority to be the only shortcut in the "Ready" state and activates it (m_d->readyShortcut). Then when the user presses the mouse button, the matcher looks through the list of ready shortcuts, chooses which will be running now, deactivates (if needed) currently activated action and starts the chosen one.
Definition at line 46 of file kis_shortcut_matcher.cpp.
|
inline |
Definition at line 60 of file kis_shortcut_matcher.cpp.
| KisShortcutMatcher::KisShortcutMatcher | ( | ) |
Definition at line 154 of file kis_shortcut_matcher.cpp.
| KisShortcutMatcher::~KisShortcutMatcher | ( | ) |
|
inline |
Definition at line 136 of file kis_shortcut_matcher.cpp.
|
inline |
Definition at line 145 of file kis_shortcut_matcher.cpp.
| void KisShortcutMatcher::addShortcut | ( | KisNativeGestureShortcut * | shortcut | ) |
Definition at line 183 of file kis_shortcut_matcher.cpp.
References m_d.
| void KisShortcutMatcher::addShortcut | ( | KisSingleActionShortcut * | shortcut | ) |
Definition at line 168 of file kis_shortcut_matcher.cpp.
References m_d.
| void KisShortcutMatcher::addShortcut | ( | KisStrokeShortcut * | shortcut | ) |
Definition at line 173 of file kis_shortcut_matcher.cpp.
References m_d.
| void KisShortcutMatcher::addShortcut | ( | KisTouchShortcut * | shortcut | ) |
Definition at line 178 of file kis_shortcut_matcher.cpp.
References m_d.
| bool KisShortcutMatcher::autoRepeatedKeyPressed | ( | Qt::Key | key | ) |
Handles a key press event that has been generated by the autorepeat.
Definition at line 222 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, forceDeactivateAllActions(), hasRunningShortcut(), m_d, and tryRunSingleActionShortcutImpl().
| bool KisShortcutMatcher::buttonPressed | ( | Qt::MouseButton | button, |
| QEvent * | event ) |
Handles button presses from a tablet or mouse.
| event | the event that caused this call. Must be of type QTabletEvent or QMouseEvent. |
Definition at line 268 of file kis_shortcut_matcher.cpp.
References button(), DEBUG_ACTION, DEBUG_BUTTON_ACTION, forceDeactivateAllActions(), hasRunningShortcut(), m_d, prepareReadyShortcuts(), tryActivateReadyShortcut(), and tryRunReadyShortcut().
| bool KisShortcutMatcher::buttonReleased | ( | Qt::MouseButton | button, |
| QEvent * | event ) |
Handles the mouse button release event
| event | the event that caused this call. Must be of type QTabletEvent or QMouseEvent. |
Definition at line 294 of file kis_shortcut_matcher.cpp.
References button(), DEBUG_BUTTON_ACTION, forceDeactivateAllActions(), hasRunningShortcut(), KIS_SAFE_ASSERT_RECOVER_NOOP, m_d, prepareReadyShortcuts(), reset(), tryActivateReadyShortcut(), and tryEndRunningShortcut().
| void KisShortcutMatcher::clearShortcuts | ( | ) |
Remove all shortcuts that have been registered.
Definition at line 746 of file kis_shortcut_matcher.cpp.
| QVector< Qt::Key > KisShortcutMatcher::debugPressedKeys | ( | ) | const |
Return the internal state of the tracked modifiers.
Definition at line 660 of file kis_shortcut_matcher.cpp.
| void KisShortcutMatcher::enterEvent | ( | ) |
Handle cursor's Enter event. We never eat it because it might be used by someone else
Definition at line 354 of file kis_shortcut_matcher.cpp.
References forceDeactivateAllActions(), hasRunningShortcut(), m_d, prepareReadyShortcuts(), and tryActivateReadyShortcut().
|
private |
Definition at line 985 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::activate(), KisAbstractInputAction::begin(), KisAbstractInputAction::deactivate(), DEBUG_TOUCH_ACTION, KisAbstractInputAction::end(), matchTouchShortcut(), and KisAbstractShortcut::shortcutIndex.
|
private |
Definition at line 962 of file kis_shortcut_matcher.cpp.
References DEBUG_SHORTCUT, and m_d.
|
private |
Definition at line 937 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::deactivate(), DEBUG_ACTION, KisAbstractInputAction::end(), KisStrokeShortcut::fakeEndEvent(), forceDeactivateAllActions(), KIS_SAFE_ASSERT_RECOVER, KIS_SAFE_ASSERT_RECOVER_RETURN, m_d, runningShortcut, and KisAbstractShortcut::shortcutIndex.
Resets the internal state of the matcher, tries to resync it to the state passed via argument and activates the prepared action if possible.
This synchronization happens when the user hovers Krita windows, without having keyboard focus set to it (therefore matcher cannot get key press and release events), and is also used for various other fixes.
Definition at line 620 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, forceDeactivateAllActions(), hasRunningShortcut(), keyPressed(), keyReleased(), keys, m_d, prepareReadyShortcuts(), and tryActivateReadyShortcut().
| bool KisShortcutMatcher::hasPolledKeys | ( | ) |
Check if polled keys are present, which signals that we need to call KisInputManager::Private::fixShortcutMatcherModifiersState.
Definition at line 667 of file kis_shortcut_matcher.cpp.
References m_d.
| bool KisShortcutMatcher::hasRunningShortcut | ( | ) | const |
|
inline |
Definition at line 149 of file kis_shortcut_matcher.cpp.
| bool KisShortcutMatcher::keyPressed | ( | Qt::Key | key | ) |
Handles a key press event. No autorepeat events should be passed to this method.
Definition at line 197 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, DEBUG_KEY, forceDeactivateAllActions(), hasRunningShortcut(), m_d, prepareReadyShortcuts(), tryActivateReadyShortcut(), and tryRunSingleActionShortcutImpl().
| bool KisShortcutMatcher::keyReleased | ( | Qt::Key | key | ) |
Handles a key release event. No autorepeat events should be passed to this method.
Definition at line 247 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, DEBUG_KEY, forceDeactivateAllActions(), hasRunningShortcut(), m_d, prepareReadyShortcuts(), and tryActivateReadyShortcut().
| void KisShortcutMatcher::leaveEvent | ( | ) |
Handle cursor's Leave event. We never eat it because it might be used by someone else
Definition at line 368 of file kis_shortcut_matcher.cpp.
References forceDeactivateAllActions(), hasRunningShortcut(), m_d, prepareReadyShortcuts(), and tryActivateReadyShortcut().
| void KisShortcutMatcher::lostFocusEvent | ( | const QPointF & | localPos | ) |
Krita lost focus, it means that all the running actions should be ended forcefully.
TODO: it might be that we should also deactivate touch and native gestures on focus-out events. After testing on Windows it seems like it works fine without any explicit stopping the touch strokes. They just continue in the unfocused application (given that Krita does not get overlapped by another window)
Definition at line 672 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, forceDeactivateAllActions(), forceEndRunningShortcut(), and m_d.
|
private |
Definition at line 998 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::isAvailable(), m_d, KisTouchShortcut::matchDragType(), KisTouchShortcut::matchTapType(), and KisTouchShortcut::priority().
| bool KisShortcutMatcher::nativeGestureBeginEvent | ( | QNativeGestureEvent * | event | ) |
Definition at line 541 of file kis_shortcut_matcher.cpp.
| bool KisShortcutMatcher::nativeGestureEndEvent | ( | QNativeGestureEvent * | event | ) |
Definition at line 564 of file kis_shortcut_matcher.cpp.
References forceDeactivateAllActions(), hasRunningShortcut(), m_d, prepareReadyShortcuts(), tryActivateReadyShortcut(), and tryEndNativeGestureShortcut().
| bool KisShortcutMatcher::nativeGestureEvent | ( | QNativeGestureEvent * | event | ) |
Definition at line 550 of file kis_shortcut_matcher.cpp.
References hasRunningShortcut(), m_d, and tryRunNativeGestureShortcut().
| bool KisShortcutMatcher::pointerMoved | ( | QEvent * | event | ) |
Handles tablet and mouse move events.
| event | the event that caused this call |
Definition at line 335 of file kis_shortcut_matcher.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and m_d.
|
private |
Definition at line 802 of file kis_shortcut_matcher.cpp.
References m_d, and KisStrokeShortcut::matchReady().
|
inline |
Definition at line 49 of file kis_shortcut_matcher.cpp.
References AllActionGroup.
| void KisShortcutMatcher::reinitialize | ( | ) |
Resets the internal state of the matcher and activates the prepared action if possible.
This should be done when the window has lost the focus for some time, so that several events could be lost
Definition at line 590 of file kis_shortcut_matcher.cpp.
References forceDeactivateAllActions(), hasRunningShortcut(), prepareReadyShortcuts(), reset(), and tryActivateReadyShortcut().
| void KisShortcutMatcher::reinitializeButtons | ( | ) |
Resets the internal state of the buttons inside matcher and activates the prepared action if possible.
This should be done when the window has lost the focus for some time, so that several events could be lost
Definition at line 605 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, forceDeactivateAllActions(), hasRunningShortcut(), m_d, prepareReadyShortcuts(), and tryActivateReadyShortcut().
|
private |
Definition at line 707 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, and m_d.
|
private |
Definition at line 715 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, and m_d.
| bool KisShortcutMatcher::sanityCheckModifiersCorrectness | ( | Qt::KeyboardModifiers | modifiers | ) | const |
Sanity check correctness of the internal state of the matcher by comparing it to the standard modifiers that we get with every input event. Right now this sanity check is used on Windows only.
Definition at line 647 of file kis_shortcut_matcher.cpp.
References m_d.
| void KisShortcutMatcher::setInputActionGroupsMaskCallback | ( | std::function< KisInputActionGroupsMask()> | func | ) |
Definition at line 760 of file kis_shortcut_matcher.cpp.
References m_d.
|
private |
Definition at line 971 of file kis_shortcut_matcher.cpp.
References m_d.
| bool KisShortcutMatcher::supportsHiResInputEvents | ( | ) |
Returns true if the currently running shortcut supports processing hi resolution flow of events from the tablet device. In most of the cases (except of the painting itself) too many events make the execution of the action too slow, so the action can decide whether it needs it.
Definition at line 187 of file kis_shortcut_matcher.cpp.
References m_d.
| void KisShortcutMatcher::suppressAllActions | ( | bool | value | ) |
Disables the start of any actions.
WARNING: the actions that has been started before this call will not be ended. They will be ended in their usual way, when the mouse button will be released.
| void KisShortcutMatcher::suppressAllKeyboardActions | ( | bool | value | ) |
Disable keyboard actions.
This will disable all actions that consist of only keyboard keys being pressed without mouse or stylus buttons being pressed.
This is turned on when the tool is in text mode.
Disable one-time actions whose shortcuts conflict with the listed shortcuts
Definition at line 728 of file kis_shortcut_matcher.cpp.
References KisSingleActionShortcut::conflictsWith(), and m_d.
| void KisShortcutMatcher::toolHasBeenActivated | ( | ) |
Is called when a new tool has been activated. The method activates any tool's action if possible with the currently active modifiers.
Definition at line 693 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, forceDeactivateAllActions(), hasRunningShortcut(), prepareReadyShortcuts(), and tryActivateReadyShortcut().
| bool KisShortcutMatcher::touchBeginEvent | ( | QTouchEvent * | event | ) |
Definition at line 382 of file kis_shortcut_matcher.cpp.
References DEBUG_TOUCH_ACTION, and m_d.
| void KisShortcutMatcher::touchCancelEvent | ( | QTouchEvent * | event, |
| const QPointF & | localPos ) |
We received TouchCancel event, it means this event sequence has ended right here i.e without a valid TouchEnd, so we should immediately stop all running actions.
Definition at line 499 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::deactivate(), KisAbstractInputAction::end(), forceDeactivateAllActions(), hasRunningShortcut(), KIS_ASSERT, KIS_SAFE_ASSERT_RECOVER_NOOP, m_d, prepareReadyShortcuts(), KisAbstractShortcut::shortcutIndex, touchShortcut, and tryActivateReadyShortcut().
| bool KisShortcutMatcher::touchEndEvent | ( | QTouchEvent * | event | ) |
Definition at line 475 of file kis_shortcut_matcher.cpp.
References DEBUG_TOUCH_ACTION, fireReadyTouchShortcut(), forceDeactivateAllActions(), hasRunningShortcut(), m_d, prepareReadyShortcuts(), tryActivateReadyShortcut(), and tryEndTouchShortcut().
| bool KisShortcutMatcher::touchUpdateEvent | ( | QTouchEvent * | event | ) |
Definition at line 403 of file kis_shortcut_matcher.cpp.
References DEBUG_TOUCH_ACTION, fireReadyTouchShortcut(), hasRunningShortcut(), m_d, matchTouchShortcut(), setMaxTouchPointEvent(), tryEndTouchShortcut(), and tryRunTouchShortcut().
|
private |
It is important that we first activate the action, and only after that assign it to m_d->readyShortcut. It makes is possible to activate another tool in KisToolInvocationAction and survive the call to forceDeactivateAllActions() from lostFocusEvent(), which would enter infinite loop otherwise.
Definition at line 873 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::activate(), DEBUG_SHORTCUT, m_d, KisStrokeShortcut::priority(), and KisAbstractShortcut::shortcutIndex.
|
private |
Definition at line 1105 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::deactivate(), KisAbstractInputAction::end(), forceDeactivateAllActions(), hasRunningShortcut(), m_d, nativeGestureShortcut, prepareReadyShortcuts(), and tryActivateReadyShortcut().
|
private |
Definition at line 910 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, button(), KisAbstractInputAction::deactivate(), DEBUG_EVENT_ACTION, KisAbstractInputAction::end(), forceDeactivateAllActions(), KIS_SAFE_ASSERT_RECOVER, KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, m_d, runningShortcut, and KisAbstractShortcut::shortcutIndex.
|
private |
Definition at line 1049 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::deactivate(), DEBUG_SHORTCUT, KisAbstractInputAction::end(), m_d, and touchShortcut.
|
private |
Definition at line 1067 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::activate(), KisAbstractInputAction::begin(), KisAbstractInputAction::end(), forceDeactivateAllActions(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, m_d, KisNativeGestureShortcut::match(), KisNativeGestureShortcut::priority(), and KisAbstractShortcut::shortcutIndex.
|
private |
Definition at line 828 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::activate(), KisAbstractInputAction::begin(), button(), DEBUG_EVENT_ACTION, DEBUG_SHORTCUT, KisAbstractInputAction::end(), forceDeactivateAllActions(), KisAbstractShortcut::isAvailable(), m_d, KisStrokeShortcut::matchBegin(), KisStrokeShortcut::priority(), and KisAbstractShortcut::shortcutIndex.
|
private |
Definition at line 772 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::begin(), DEBUG_EVENT_ACTION, KisAbstractInputAction::end(), KisAbstractShortcut::isAvailable(), m_d, KisSingleActionShortcut::match(), KisSingleActionShortcut::priority(), and KisAbstractShortcut::shortcutIndex.
|
private |
Definition at line 1015 of file kis_shortcut_matcher.cpp.
References KisAbstractShortcut::action, KisAbstractInputAction::activate(), KisAbstractInputAction::begin(), DEBUG_SHORTCUT, KisAbstractInputAction::end(), forceDeactivateAllActions(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, m_d, matchTouchShortcut(), and KisAbstractShortcut::shortcutIndex.
|
private |
Definition at line 765 of file kis_shortcut_matcher.cpp.
References m_d, and tryRunSingleActionShortcutImpl().
| bool KisShortcutMatcher::wheelEvent | ( | KisSingleActionShortcut::WheelAction | wheelAction, |
| QWheelEvent * | event ) |
Handles the mouse wheel event
Definition at line 322 of file kis_shortcut_matcher.cpp.
References DEBUG_ACTION, hasRunningShortcut(), and tryRunWheelShortcut().
|
friend |
Definition at line 281 of file kis_shortcut_matcher.h.
| std::function<KisInputActionGroupsMask()> KisShortcutMatcher::actionGroupMask |
Definition at line 91 of file kis_shortcut_matcher.cpp.
| QScopedPointer<QEvent> KisShortcutMatcher::bestCandidateTouchEvent |
Definition at line 89 of file kis_shortcut_matcher.cpp.
| int KisShortcutMatcher::brokenByRecursion = 0 |
Definition at line 97 of file kis_shortcut_matcher.cpp.
| QSet<Qt::MouseButton> KisShortcutMatcher::buttons |
Definition at line 74 of file kis_shortcut_matcher.cpp.
| QList<KisStrokeShortcut*> KisShortcutMatcher::candidateShortcuts |
Definition at line 80 of file kis_shortcut_matcher.cpp.
| bool KisShortcutMatcher::cursorEntered |
Definition at line 94 of file kis_shortcut_matcher.cpp.
| bool KisShortcutMatcher::isTouchDragDetected {false} |
Definition at line 88 of file kis_shortcut_matcher.cpp.
| QSet<Qt::Key> KisShortcutMatcher::keys |
Definition at line 73 of file kis_shortcut_matcher.cpp.
| QList<QTouchEvent::TouchPoint> KisShortcutMatcher::lastTouchPoints |
Definition at line 84 of file kis_shortcut_matcher.cpp.
|
private |
Definition at line 308 of file kis_shortcut_matcher.h.
| int KisShortcutMatcher::matchingIteration {0} |
Definition at line 87 of file kis_shortcut_matcher.cpp.
| int KisShortcutMatcher::maxTouchPoints {0} |
Definition at line 86 of file kis_shortcut_matcher.cpp.
| KisNativeGestureShortcut* KisShortcutMatcher::nativeGestureShortcut |
Definition at line 83 of file kis_shortcut_matcher.cpp.
| QList<KisNativeGestureShortcut*> KisShortcutMatcher::nativeGestureShortcuts |
Definition at line 71 of file kis_shortcut_matcher.cpp.
| QSet<Qt::Key> KisShortcutMatcher::polledKeys |
Definition at line 76 of file kis_shortcut_matcher.cpp.
| KisStrokeShortcut* KisShortcutMatcher::readyShortcut |
Definition at line 79 of file kis_shortcut_matcher.cpp.
| int KisShortcutMatcher::recursiveCounter = 0 |
Definition at line 96 of file kis_shortcut_matcher.cpp.
| KisStrokeShortcut* KisShortcutMatcher::runningShortcut |
Definition at line 78 of file kis_shortcut_matcher.cpp.
| QList<KisSingleActionShortcut*> KisShortcutMatcher::singleActionShortcuts |
Definition at line 67 of file kis_shortcut_matcher.cpp.
| QList<KisStrokeShortcut*> KisShortcutMatcher::strokeShortcuts |
Definition at line 69 of file kis_shortcut_matcher.cpp.
| void KisShortcutMatcher::suppressAllActions |
Definition at line 92 of file kis_shortcut_matcher.cpp.
| void KisShortcutMatcher::suppressAllKeyboardActions |
Definition at line 93 of file kis_shortcut_matcher.cpp.
| QSet<KisSingleActionShortcut*> KisShortcutMatcher::suppressedSingleActionShortcuts |
Definition at line 68 of file kis_shortcut_matcher.cpp.
| KisTouchShortcut* KisShortcutMatcher::touchShortcut |
Definition at line 82 of file kis_shortcut_matcher.cpp.
| QList<KisTouchShortcut*> KisShortcutMatcher::touchShortcuts |
Definition at line 70 of file kis_shortcut_matcher.cpp.