12#include <klocalizedstring.h>
29 setName(i18n(
"Alternate Invocation"));
30 setDescription(i18n(
"The <i>Alternate Invocation</i> action performs an alternate action with the current tool. For example, using the brush tool it samples a color from the canvas."));
31 QHash<QString, int> shortcuts;
104 QMouseEvent targetEvent(QEvent::MouseButtonPress,
eventPosF(event), Qt::LeftButton, Qt::LeftButton, Qt::ControlModifier);
115 Qt::KeyboardModifiers modifiers;
117 switch (
m_d->savedAction) {
119 modifiers = Qt::ControlModifier;
122 modifiers = Qt::ControlModifier | Qt::AltModifier;
128 QMouseEvent targetEvent = QMouseEvent(QEvent::MouseButtonRelease,
eventPosF(event), Qt::LeftButton, Qt::LeftButton, modifiers);
137 && ((event->type() == QEvent::MouseMove) || (event->type() == QEvent::TabletMove)
138 || (event->type() == QEvent::TouchUpdate))) {
139 Qt::KeyboardModifiers modifiers;
140 switch (
m_d->savedAction) {
142 modifiers = Qt::ControlModifier;
145 modifiers = Qt::ControlModifier | Qt::AltModifier;
148 modifiers = Qt::ShiftModifier;
151 QMouseEvent targetEvent(QEvent::MouseMove,
eventPosF(event), Qt::LeftButton, Qt::LeftButton, modifiers);
void inputEvent(QEvent *event) override
int priority() const override
void activate(int shortcut) override
void end(QEvent *event) override
@ SampleColorBgImageModeShortcut
@ SecondaryAlternateModeShortcut
Toggle Secondary mode.
@ SampleColorFgImageModeShortcut
@ TertiaryAlternateModeShortcut
Warning: don't reorder the items of this enum, it breaks user configs!
@ SampleColorFgLayerModeShortcut
@ SampleColorBgLayerModeShortcut
@ PrimaryAlternateModeShortcut
Toggle Primary mode.
~KisAlternateInvocationAction() override
const QScopedPointer< Private > m_d
bool supportsHiResInputEvents(int shortcut) const override
void deactivate(int shortcut) override
KisAlternateInvocationAction()
void begin(int shortcut, QEvent *event) override
KisTool::ToolAction shortcutToToolAction(int shortcut) const
KisTool::ToolAction savedAction