diff --git a/libs/ui/brushhud/kis_round_hud_button.cpp b/libs/ui/brushhud/kis_round_hud_button.cpp index 7597ca5a25..be92d9c873 100644 --- a/libs/ui/brushhud/kis_round_hud_button.cpp +++ b/libs/ui/brushhud/kis_round_hud_button.cpp @@ -115,3 +115,25 @@ void KisRoundHudButton::leaveEvent(QEvent *event) QAbstractButton::leaveEvent(event); } + +void KisRoundHudButton::tabletEvent(QTabletEvent* event) { + event->accept(); + QEvent::Type evType = + event->type() == QEvent::TabletPress ? QEvent::MouseButtonPress : + event->type() == QEvent::TabletRelease ? QEvent::MouseButtonRelease : + QEvent::MouseMove; + QMouseEvent mouseEvent(evType, event->posF(), event->globalPosF(), event->button(), event->buttons(), event->modifiers()); + mouseEvent.setTimestamp(event->timestamp()); + switch (event->type()) { + case QEvent::TabletPress: + mousePressEvent(&mouseEvent); + break; + case QEvent::TabletMove: + mouseMoveEvent(&mouseEvent); + break; + case QEvent::TabletRelease: + mouseReleaseEvent(&mouseEvent); + break; + default: break; + } +} diff --git a/libs/ui/brushhud/kis_round_hud_button.h b/libs/ui/brushhud/kis_round_hud_button.h index 7ff9b869d1..acec5ee5bb 100644 --- a/libs/ui/brushhud/kis_round_hud_button.h +++ b/libs/ui/brushhud/kis_round_hud_button.h @@ -39,6 +39,8 @@ protected: void mouseMoveEvent(QMouseEvent *event) override; void leaveEvent(QEvent *event) override; + void tabletEvent(QTabletEvent *) override; + private: struct Private; const QScopedPointer m_d; diff --git a/libs/ui/kis_popup_palette.cpp b/libs/ui/kis_popup_palette.cpp index 2ed57a3b43..8f48d0dbf2 100644 --- a/libs/ui/kis_popup_palette.cpp +++ b/libs/ui/kis_popup_palette.cpp @@ -545,7 +545,26 @@ void KisPopupPalette::slotShowTagsPopup() } } -void KisPopupPalette::tabletEvent(QTabletEvent* /*event*/) { +void KisPopupPalette::tabletEvent(QTabletEvent* event) { + event->accept(); + QEvent::Type evType = + event->type() == QEvent::TabletPress ? QEvent::MouseButtonPress : + event->type() == QEvent::TabletRelease ? QEvent::MouseButtonRelease : + QEvent::MouseMove; + QMouseEvent mouseEvent(evType, event->posF(), event->globalPosF(), event->button(), event->buttons(), event->modifiers()); + mouseEvent.setTimestamp(event->timestamp()); + switch (event->type()) { + case QEvent::TabletPress: + mousePressEvent(&mouseEvent); + break; + case QEvent::TabletMove: + mouseMoveEvent(&mouseEvent); + break; + case QEvent::TabletRelease: + mouseReleaseEvent(&mouseEvent); + break; + default: break; + } }