From 4ab2b04e6b7b6fde9ec403386a549253a6542878 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 28 Nov 2023 23:57:41 +0100 Subject: [PATCH] Add an event filter to remove status tip updates --- novelwriter/gui/mainmenu.py | 18 +++++++++++++++--- novelwriter/gui/statusbar.py | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/novelwriter/gui/mainmenu.py b/novelwriter/gui/mainmenu.py index fbb47cd1..a601fb99 100644 --- a/novelwriter/gui/mainmenu.py +++ b/novelwriter/gui/mainmenu.py @@ -3,7 +3,8 @@ novelWriter – GUI Main Menu =========================== File History: -Created: 2019-04-27 [0.0.1] +Created: 2019-04-27 [0.0.1] GuiMainMenu +Created: 2023-11-28 [2.2] StatusTipFilter This file is a part of novelWriter Copyright 2018–2023, Veronica Berglyd Olsen @@ -28,8 +29,8 @@ import logging from typing import TYPE_CHECKING from pathlib import Path -from PyQt5.QtGui import QDesktopServices -from PyQt5.QtCore import QUrl, pyqtSignal, pyqtSlot +from PyQt5.QtGui import QDesktopServices, QStatusTipEvent +from PyQt5.QtCore import QEvent, QObject, QUrl, pyqtSignal, pyqtSlot from PyQt5.QtWidgets import QMenuBar, QAction from novelwriter import CONFIG, SHARED @@ -73,6 +74,8 @@ class GuiMainMenu(QMenuBar): self._buildToolsMenu() self._buildHelpMenu() + self.installEventFilter(StatusTipFilter(mainGui)) + logger.debug("Ready: GuiMainMenu") return @@ -968,3 +971,12 @@ class GuiMainMenu(QMenuBar): return # END Class GuiMainMenu + + +class StatusTipFilter(QObject): + + def eventFilter(self, obj: QObject, event: QEvent) -> bool: + """Filter out status tip events.""" + return True if isinstance(event, QStatusTipEvent) else super().eventFilter(obj, event) + +# END Class StatusTipFilter diff --git a/novelwriter/gui/statusbar.py b/novelwriter/gui/statusbar.py index 1a4387ab..916a454c 100644 --- a/novelwriter/gui/statusbar.py +++ b/novelwriter/gui/statusbar.py @@ -29,8 +29,8 @@ from time import time from typing import TYPE_CHECKING, Literal from datetime import datetime -from PyQt5.QtCore import pyqtSlot, QLocale from PyQt5.QtGui import QColor +from PyQt5.QtCore import pyqtSlot, QLocale from PyQt5.QtWidgets import qApp, QStatusBar, QLabel from novelwriter import CONFIG, SHARED