From 8c705631e7414801ef05ce55e24a3347df218ebb Mon Sep 17 00:00:00 2001 From: Andrei-Fabian-Pop Date: Wed, 2 Oct 2024 16:30:18 +0300 Subject: [PATCH] gui/menuspinbox: Add MouseWheelGuard to MenuSpinBox and MenuComboBox Signed-off-by: Andrei-Fabian-Pop --- gui/include/gui/widgets/menucombo.h | 2 ++ gui/include/gui/widgets/menuspinbox.h | 4 +++- gui/src/widgets/menucombo.cpp | 2 ++ gui/src/widgets/menuspinbox.cpp | 2 ++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gui/include/gui/widgets/menucombo.h b/gui/include/gui/widgets/menucombo.h index fee949df32..20a7a84772 100644 --- a/gui/include/gui/widgets/menucombo.h +++ b/gui/include/gui/widgets/menucombo.h @@ -8,6 +8,7 @@ #include #include +#include namespace scopy { @@ -25,6 +26,7 @@ class SCOPY_GUI_EXPORT MenuCombo : public QWidget private: QLabel *m_label; QComboBox *m_combo; + MouseWheelWidgetGuard *m_mouseWheelGuard; }; class SCOPY_GUI_EXPORT MenuComboWidget : public QWidget diff --git a/gui/include/gui/widgets/menuspinbox.h b/gui/include/gui/widgets/menuspinbox.h index 9a1b9c95c1..23b0e864d8 100644 --- a/gui/include/gui/widgets/menuspinbox.h +++ b/gui/include/gui/widgets/menuspinbox.h @@ -2,8 +2,8 @@ #define MENUSPINBOX_H #include "plot_utils.hpp" -#include "qboxlayout.h" #include "utils.h" +#include "mousewheelwidgetguard.h" #include #include #include @@ -11,6 +11,7 @@ #include #include #include +#include namespace scopy { namespace gui { @@ -167,6 +168,7 @@ private Q_SLOTS: QPushButton *m_plus; QPushButton *m_minus; QFrame *m_line; // underline + MouseWheelWidgetGuard *m_mouseWheelGuard; IncrementStrategy *m_incrementStrategy; IncrementMode m_im; diff --git a/gui/src/widgets/menucombo.cpp b/gui/src/widgets/menucombo.cpp index cf8195c62b..3d25599888 100644 --- a/gui/src/widgets/menucombo.cpp +++ b/gui/src/widgets/menucombo.cpp @@ -31,6 +31,7 @@ MenuCombo::MenuCombo(QString title, QWidget *parent) : QWidget(parent) { auto lay = new QVBoxLayout(this); + m_mouseWheelGuard = new MouseWheelWidgetGuard(this); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); setLayout(lay); @@ -43,6 +44,7 @@ MenuCombo::MenuCombo(QString title, QWidget *parent) lay->addWidget(m_label); lay->addWidget(m_combo); applyStylesheet(); + m_mouseWheelGuard->installEventRecursively(this); } MenuCombo::~MenuCombo() {} diff --git a/gui/src/widgets/menuspinbox.cpp b/gui/src/widgets/menuspinbox.cpp index 32e63447f2..4e9d85356e 100644 --- a/gui/src/widgets/menuspinbox.cpp +++ b/gui/src/widgets/menuspinbox.cpp @@ -14,6 +14,7 @@ MenuSpinbox::MenuSpinbox(QString name, double val, QString unit, double min, dou m_scaleCb = new QComboBox(parent); m_plus = new QPushButton("+", parent); m_minus = new QPushButton("-", parent); + m_mouseWheelGuard = new MouseWheelWidgetGuard(this); m_plus->setAutoRepeat(true); m_plus->setAutoRepeatDelay(300); @@ -59,6 +60,7 @@ MenuSpinbox::MenuSpinbox(QString name, double val, QString unit, double min, dou setValue(val); m_scalingEnabled = true; setLineVisible(false); + m_mouseWheelGuard->installEventRecursively(this); } MenuSpinbox::~MenuSpinbox() { delete m_incrementStrategy; }