1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-11 15:27:54 +00:00

For each cell setting ignore wheel events. Closes #866.

This commit is contained in:
Chocobo1 2017-01-13 15:22:08 +08:00
parent 33ada71e4b
commit 8380edc00c
2 changed files with 21 additions and 0 deletions

View File

@ -391,6 +391,10 @@ void AdvancedSettings::loadAdvancedSettings()
template <typename T> template <typename T>
void AdvancedSettings::addRow(int row, const QString &rowText, T* widget) 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)); setItem(row, PROPERTY, new QTableWidgetItem(rowText));
setCellWidget(row, VALUE, widget); setCellWidget(row, VALUE, widget);

View File

@ -29,6 +29,7 @@
#ifndef ADVANCEDSETTINGS_H #ifndef ADVANCEDSETTINGS_H
#define ADVANCEDSETTINGS_H #define ADVANCEDSETTINGS_H
#include <QEvent>
#include <QLabel> #include <QLabel>
#include <QSpinBox> #include <QSpinBox>
#include <QCheckBox> #include <QCheckBox>
@ -37,6 +38,22 @@
#include <QTableWidget> #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 class AdvancedSettings: public QTableWidget
{ {
Q_OBJECT Q_OBJECT