Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_abstract_shortcut.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2012 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8
10
11
12class Q_DECL_HIDDEN KisAbstractShortcut::Private
13{
14public:
17};
18
20 : m_d(new Private)
21{
22 m_d->action = action;
23 m_d->shortcutIndex = index;
24}
25
30
32{
33 return m_d->action;
34}
35
40
42{
43 return m_d->shortcutIndex;
44}
45
46bool KisAbstractShortcut::compareKeys(const QSet<Qt::Key> &keys1,
47 const QSet<Qt::Key> &keys2)
48{
49 if (keys1.size() != keys2.size()) return false;
50
51 Q_FOREACH (Qt::Key key, keys1) {
52 if (!keys2.contains(key)) return false;
53 }
54 return true;
55}
56
57bool KisAbstractShortcut::isAvailable(KisInputActionGroupsMask groupMask) const
58{
59 return
60 (action()->inputActionGroup(m_d->shortcutIndex) & groupMask) &&
62}
Abstract base class for input actions.
KisAbstractInputAction * action
KisAbstractShortcut(KisAbstractInputAction *action, int index)
bool isAvailable(KisInputActionGroupsMask mask) const
bool compareKeys(const QSet< Qt::Key > &keys1, const QSet< Qt::Key > &keys2)
void setAction(KisAbstractInputAction *action)