mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
Config: Fix expression window scroll wheel spam
Fixes the expression window being spammed with the first entry in the Operators or Functions select menus when scrolling the mouse wheel while hovering over them. Fixes https://bugs.dolphin-emu.org/issues/12405
This commit is contained in:
parent
b6e9cca64f
commit
43b389410a
@ -98,6 +98,11 @@ ControlExpressionSyntaxHighlighter::ControlExpressionSyntaxHighlighter(QTextDocu
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QComboBoxWithMouseWheelDisabled::wheelEvent(QWheelEvent* event)
|
||||||
|
{
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
|
||||||
void ControlExpressionSyntaxHighlighter::highlightBlock(const QString&)
|
void ControlExpressionSyntaxHighlighter::highlightBlock(const QString&)
|
||||||
{
|
{
|
||||||
// TODO: This is going to result in improper highlighting with non-ascii characters:
|
// TODO: This is going to result in improper highlighting with non-ascii characters:
|
||||||
@ -253,7 +258,7 @@ void IOWindow::CreateMainLayout()
|
|||||||
m_expression_text->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
|
m_expression_text->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
|
||||||
new ControlExpressionSyntaxHighlighter(m_expression_text->document());
|
new ControlExpressionSyntaxHighlighter(m_expression_text->document());
|
||||||
|
|
||||||
m_operators_combo = new QComboBox();
|
m_operators_combo = new QComboBoxWithMouseWheelDisabled();
|
||||||
m_operators_combo->addItem(tr("Operators"));
|
m_operators_combo->addItem(tr("Operators"));
|
||||||
m_operators_combo->insertSeparator(1);
|
m_operators_combo->insertSeparator(1);
|
||||||
if (m_type == Type::Input)
|
if (m_type == Type::Input)
|
||||||
@ -275,7 +280,7 @@ void IOWindow::CreateMainLayout()
|
|||||||
m_operators_combo->addItem(tr(", Comma"));
|
m_operators_combo->addItem(tr(", Comma"));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_functions_combo = new QComboBox(this);
|
m_functions_combo = new QComboBoxWithMouseWheelDisabled(this);
|
||||||
m_functions_combo->addItem(tr("Functions"));
|
m_functions_combo->addItem(tr("Functions"));
|
||||||
m_functions_combo->insertSeparator(1);
|
m_functions_combo->insertSeparator(1);
|
||||||
m_functions_combo->addItem(QStringLiteral("if"));
|
m_functions_combo->addItem(QStringLiteral("if"));
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include <QComboBox>
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QSyntaxHighlighter>
|
#include <QSyntaxHighlighter>
|
||||||
@ -17,7 +18,6 @@
|
|||||||
class ControlReference;
|
class ControlReference;
|
||||||
class MappingWidget;
|
class MappingWidget;
|
||||||
class QAbstractButton;
|
class QAbstractButton;
|
||||||
class QComboBox;
|
|
||||||
class QDialogButtonBox;
|
class QDialogButtonBox;
|
||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
class QTableWidget;
|
class QTableWidget;
|
||||||
@ -45,6 +45,17 @@ protected:
|
|||||||
void highlightBlock(const QString& text) final override;
|
void highlightBlock(const QString& text) final override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class QComboBoxWithMouseWheelDisabled : public QComboBox
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit QComboBoxWithMouseWheelDisabled(QWidget* parent = nullptr) : QComboBox(parent) {}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// Consumes event while doing nothing
|
||||||
|
void wheelEvent(QWheelEvent* event) override;
|
||||||
|
};
|
||||||
|
|
||||||
class IOWindow final : public QDialog
|
class IOWindow final : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
Loading…
Reference in New Issue
Block a user