Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_input_profile.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the KDE project
3 * SPDX-FileCopyrightText: 2013 Arjen Hiemstra <ahiemstra@heimr.nl>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
8#include "kis_input_profile.h"
9
10#include <QMultiHash>
11
14
16{
17public:
18 Private() { }
20 {
21 qDeleteAll(shortcuts);
22 }
23
24 QString name;
25 QMultiHash<KisAbstractInputAction *, KisShortcutConfiguration *> shortcuts;
26};
27
29 : QObject(parent), d(new Private())
30{
31
32}
33
38
39QString KisInputProfile::name() const
40{
41 return d->name;
42}
43void KisInputProfile::setName(const QString &name)
44{
45 if (d->name != name) {
46 d->name = name;
47 Q_EMIT nameChanged();
48 }
49}
50
55
57{
58 if (d->shortcuts.contains(action)) {
59 return d->shortcuts.values(action);
60 }
61
63}
64
66{
67 Q_ASSERT(shortcut);
68 Q_ASSERT(shortcut->action());
69 d->shortcuts.insert(shortcut->action(), shortcut);
70}
71
73{
74 Q_ASSERT(shortcut);
75 Q_ASSERT(shortcut->action());
76 d->shortcuts.remove(shortcut->action(), shortcut);
77}
Abstract base class for input actions.
QMultiHash< KisAbstractInputAction *, KisShortcutConfiguration * > shortcuts
KisInputProfile(QObject *parent=0)
QList< KisShortcutConfiguration * > allShortcuts() const
Private *const d
QList< KisShortcutConfiguration * > shortcutsForAction(KisAbstractInputAction *action) const
void addShortcut(KisShortcutConfiguration *shortcut)
~KisInputProfile() override
QString name() const
void setName(const QString &name)
void removeShortcut(KisShortcutConfiguration *shortcut)
A class encapsulating all settings for a single shortcut.
KisAbstractInputAction * action() const