Krita Source Code Documentation
Loading...
Searching...
No Matches
KisMouseInputEditor Class Reference

An editor widget for mouse buttons with modifiers. More...

#include <kis_mouse_input_editor.h>

+ Inheritance diagram for KisMouseInputEditor:

Classes

class  Private
 

Public Member Functions

Qt::MouseButtons buttons () const
 
QList< Qt::Key > keys () const
 
 KisMouseInputEditor (QWidget *parent=nullptr)
 
void setButtons (Qt::MouseButtons newButtons)
 
void setKeys (const QList< Qt::Key > &newKeys)
 
 ~KisMouseInputEditor () override
 

Private Slots

void updateLabel ()
 

Private Attributes

Private *const d {nullptr}
 

Detailed Description

An editor widget for mouse buttons with modifiers.

Definition at line 21 of file kis_mouse_input_editor.h.

Constructor & Destructor Documentation

◆ KisMouseInputEditor()

KisMouseInputEditor::KisMouseInputEditor ( QWidget * parent = nullptr)

Definition at line 26 of file kis_mouse_input_editor.cpp.

27 : QPushButton(parent), d(new Private)
28{
29 QWidget *popup = new QWidget();
30
31 d->ui = new Ui::KisMouseInputEditor;
32 d->ui->setupUi(popup);
33 d->ui->mouseButton->setType(KisInputButton::MouseType);
34
35 d->ui->clearModifiersButton->setIcon(KisIconUtils::loadIcon("edit-clear"));
36 d->ui->clearMouseButton->setIcon(KisIconUtils::loadIcon("edit-clear"));
37
38 QWidgetAction *action = new QWidgetAction(this);
39 action->setDefaultWidget(popup);
40
41 QMenu *menu = new QMenu(this);
42 menu->addAction(action);
43 setMenu(menu);
44
45 QTimer::singleShot(0, this, SLOT(showMenu()));
46
47 connect(d->ui->mouseButton, SIGNAL(dataChanged()), SLOT(updateLabel()));
48 connect(d->ui->modifiersButton, SIGNAL(dataChanged()), SLOT(updateLabel()));
49 connect(d->ui->clearMouseButton, SIGNAL(clicked(bool)), d->ui->mouseButton, SLOT(clear()));
50 connect(d->ui->clearModifiersButton, SIGNAL(clicked(bool)), d->ui->modifiersButton, SLOT(clear()));
51}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
@ MouseType
Detect and store any combination of pressed mouse buttons.
QAction * clear(const QObject *recvr, const char *slot, QObject *parent)
QIcon loadIcon(const QString &name)

References connect(), d, KisIconUtils::loadIcon(), KisInputButton::MouseType, KisMouseInputEditor::Private::ui, and updateLabel().

◆ ~KisMouseInputEditor()

KisMouseInputEditor::~KisMouseInputEditor ( )
override

Definition at line 53 of file kis_mouse_input_editor.cpp.

54{
55 delete d->ui;
56 delete d;
57}

References d, and KisMouseInputEditor::Private::ui.

Member Function Documentation

◆ buttons()

Qt::MouseButtons KisMouseInputEditor::buttons ( ) const

Definition at line 70 of file kis_mouse_input_editor.cpp.

71{
72 return d->ui->mouseButton->buttons();
73}

References d, and KisMouseInputEditor::Private::ui.

◆ keys()

QList< Qt::Key > KisMouseInputEditor::keys ( ) const

Definition at line 59 of file kis_mouse_input_editor.cpp.

60{
61 return d->ui->modifiersButton->keys();
62}

References d, and KisMouseInputEditor::Private::ui.

◆ setButtons()

void KisMouseInputEditor::setButtons ( Qt::MouseButtons newButtons)

Definition at line 75 of file kis_mouse_input_editor.cpp.

76{
77 d->ui->mouseButton->setButtons(newButtons);
79}

References d, KisMouseInputEditor::Private::ui, and updateLabel().

◆ setKeys()

void KisMouseInputEditor::setKeys ( const QList< Qt::Key > & newKeys)

Definition at line 64 of file kis_mouse_input_editor.cpp.

65{
66 d->ui->modifiersButton->setKeys(newKeys);
68}

References d, KisMouseInputEditor::Private::ui, and updateLabel().

◆ updateLabel

void KisMouseInputEditor::updateLabel ( )
privateslot

Definition at line 81 of file kis_mouse_input_editor.cpp.

82{
84 d->ui->modifiersButton->keys(),
85 d->ui->mouseButton->buttons()));
86}
static QString buttonsInputToText(const QList< Qt::Key > &keys, Qt::MouseButtons buttons)
void setText(QSpinBox *spinBox, const QStringView textTemplate)

References KisShortcutConfiguration::buttonsInputToText(), d, and KisMouseInputEditor::Private::ui.

Member Data Documentation

◆ d

Private* const KisMouseInputEditor::d {nullptr}
private

Definition at line 39 of file kis_mouse_input_editor.h.

39{nullptr};

The documentation for this class was generated from the following files: