From 8ba7791c82b5daf06cd875518605cd84118c9280 Mon Sep 17 00:00:00 2001 From: Dummerle <44114474+Dummerle@users.noreply.github.com> Date: Wed, 9 Mar 2022 21:58:19 +0100 Subject: [PATCH] Add kinetic scrolling and fix mouse wheel scrolling over combo boxes --- rare/components/main_window.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/rare/components/main_window.py b/rare/components/main_window.py index 05e0cf38..fd9e4539 100644 --- a/rare/components/main_window.py +++ b/rare/components/main_window.py @@ -1,12 +1,13 @@ import os +import time from logging import getLogger from PyQt5.QtCore import Qt, QSettings, QTimer, QSize from PyQt5.QtGui import QCloseEvent, QCursor -from PyQt5.QtWidgets import QMainWindow, QApplication, QStatusBar +from PyQt5.QtWidgets import QMainWindow, QApplication, QStatusBar, QScrollArea, QScroller, QComboBox -from rare.shared import LegendaryCoreSingleton, GlobalSignalsSingleton, ArgumentsSingleton from rare.components.tabs import TabWidget +from rare.shared import LegendaryCoreSingleton, GlobalSignalsSingleton, ArgumentsSingleton from rare.utils.paths import data_dir logger = getLogger("Window") @@ -66,6 +67,14 @@ class MainWindow(QMainWindow): - self.rect().adjusted(0, 0, decor_width, decor_height).center() ) + # enable kinetic scrolling + for scroll_area in self.findChildren(QScrollArea): + QScroller.grabGesture(scroll_area.viewport(), QScroller.LeftMouseButtonGesture) + + # fix scrolling + for combo_box in scroll_area.findChildren(QComboBox): + combo_box.wheelEvent = lambda e: e.ignore() + def timer_finished(self): file_path = os.path.join(data_dir, "lockfile") if os.path.exists(file_path):