Merge pull request #9490 from Dentomologist/fix_expression_scroll_wheel_spam

Config: Fix expression window scroll wheel spam
This commit is contained in:
Léo Lam 2021-02-11 21:42:00 +01:00 committed by GitHub
commit bf758fbe7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 3 deletions

View File

@ -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"));

View File

@ -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