From 92d517f2e2a8cc8b219ec060896ec9b2547078fa Mon Sep 17 00:00:00 2001 From: Auric Vente Date: Thu, 25 Jul 2024 09:21:01 -0600 Subject: [PATCH] Mods --- cromulant/window.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/cromulant/window.py b/cromulant/window.py index 99c8198..1438ca1 100644 --- a/cromulant/window.py +++ b/cromulant/window.py @@ -22,8 +22,10 @@ from PySide6.QtWidgets import QLineEdit from PySide6.QtGui import QFontDatabase # type: ignore from PySide6.QtGui import QIcon from PySide6.QtGui import QKeyEvent +from PySide6.QtGui import QMouseEvent from PySide6.QtCore import Qt # type: ignore from PySide6.QtCore import QUrl +from PySide6.QtCore import Signal from PySide6.QtMultimedia import QMediaPlayer # type: ignore from PySide6.QtMultimedia import QAudioOutput @@ -31,6 +33,19 @@ from .config import Config from .utils import Utils +class SpecialButton(QPushButton): # type: ignore + middleClicked = Signal() + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + + def mousePressEvent(self, e: QMouseEvent) -> None: + if e.button() == Qt.MiddleButton: + self.middleClicked.emit() + else: + super().mousePressEvent(e) + + class FilterLineEdit(QLineEdit): # type: ignore def keyPressEvent(self, e: QKeyEvent) -> None: if e.key() == Qt.Key_Escape: @@ -229,9 +244,10 @@ class Window: root = QWidget() container = QHBoxLayout() - btn_menu = QPushButton("Menu") + btn_menu = SpecialButton("Menu") btn_menu.setToolTip("The main menu") btn_menu.clicked.connect(Game.menu) + btn_menu.middleClicked.connect(Game.force_update) Window.speed = QComboBox() tooltip = "The speed of the updates\n"