Merge pull request #6234 from Chocobo1/scroll

For each cell setting ignore wheel events. Closes #866.
This commit is contained in:
sledgehammer999 2017-01-18 17:40:02 +02:00 committed by GitHub
commit 7d55467f4b
2 changed files with 21 additions and 0 deletions

View File

@ -391,6 +391,10 @@ void AdvancedSettings::loadAdvancedSettings()
template <typename T>
void AdvancedSettings::addRow(int row, const QString &rowText, T* widget)
{
// ignore mouse wheel event
static WheelEventEater filter;
widget->installEventFilter(&filter);
setItem(row, PROPERTY, new QTableWidgetItem(rowText));
setCellWidget(row, VALUE, widget);

View File

@ -29,6 +29,7 @@
#ifndef ADVANCEDSETTINGS_H
#define ADVANCEDSETTINGS_H
#include <QEvent>
#include <QLabel>
#include <QSpinBox>
#include <QCheckBox>
@ -37,6 +38,22 @@
#include <QTableWidget>
class WheelEventEater: public QObject
{
Q_OBJECT
private:
bool eventFilter(QObject *obj, QEvent *event)
{
switch (event->type()) {
case QEvent::Wheel:
return true;
default:
return QObject::eventFilter(obj, event);
}
}
};
class AdvancedSettings: public QTableWidget
{
Q_OBJECT