Prevent wheel actions on settings comboboxes

This commit is contained in:
Tasos Sahanidis
2019-08-16 00:56:17 +03:00
parent dc361fcf8b
commit 8513a68a8c
4 changed files with 50 additions and 5 deletions
+2
View File
@@ -153,6 +153,7 @@ if (MACOS OR LINUX)
mainwindow.cpp
modeselectdialog.cpp
mperfwidget.cpp
nowheelcombobox.cpp
rebindwidget.cpp
rlistwidget.cpp
settingswidget.cpp
@@ -195,6 +196,7 @@ if (MACOS OR LINUX)
media.h
modeselectdialog.h
mperfwidget.h
nowheelcombobox.h
rebindwidget.h
rlistwidget.h
settingswidget.h
+8
View File
@@ -0,0 +1,8 @@
#include "nowheelcombobox.h"
void NoWheelComboBox::wheelEvent(QWheelEvent* e)
{
// Only pass the event through if the widget is focused
if(hasFocus())
QComboBox::wheelEvent(e);
}
+14
View File
@@ -0,0 +1,14 @@
#ifndef NOWHEELCOMBOBOX_H
#define NOWHEELCOMBOBOX_H
#include <QComboBox>
class NoWheelComboBox : public QComboBox
{
Q_OBJECT
public:
NoWheelComboBox(QWidget* parent = nullptr) : QComboBox(parent) {}
void wheelEvent(QWheelEvent* e);
};
#endif // NOWHEELCOMBOBOX_H
+26 -5
View File
@@ -158,13 +158,16 @@
</widget>
</item>
<item row="1" column="4">
<widget class="QComboBox" name="winBox">
<widget class="NoWheelComboBox" name="winBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="1" column="1">
@@ -178,13 +181,16 @@
</widget>
</item>
<item row="1" column="6">
<widget class="QComboBox" name="altBox">
<widget class="NoWheelComboBox" name="altBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="0" column="0">
@@ -220,27 +226,37 @@
</widget>
</item>
<item row="0" column="4">
<widget class="QComboBox" name="shiftBox">
<widget class="NoWheelComboBox" name="shiftBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QComboBox" name="capsBox">
<widget class="NoWheelComboBox" name="capsBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QComboBox" name="ctrlBox"/>
<widget class="NoWheelComboBox" name="ctrlBox">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="capsLabel">
@@ -548,6 +564,11 @@
<header>extrasettingswidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>NoWheelComboBox</class>
<extends>QComboBox</extends>
<header>nowheelcombobox.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>capsBox</tabstop>