From bda2822fed9788f5b63086b91d772fc1164d8d46 Mon Sep 17 00:00:00 2001 From: "dries.k" Date: Sat, 29 Jan 2022 16:25:46 +0100 Subject: [PATCH] bring_to_front --- gotify_tray/gui/MainWindow.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gotify_tray/gui/MainWindow.py b/gotify_tray/gui/MainWindow.py index 06e78d1..c415438 100644 --- a/gotify_tray/gui/MainWindow.py +++ b/gotify_tray/gui/MainWindow.py @@ -350,10 +350,7 @@ class MainWindow(QtWidgets.QMainWindow): QtCore.Qt.WindowState.WindowMinimized | QtCore.Qt.WindowState.WindowMaximized ): - self.show() - self.setWindowState( - self.window_state_to_restore | QtCore.Qt.WindowState.WindowActive - ) # Set the window to its normal state + self.bring_to_front() else: window_state_temp = self.windowState() self.setWindowState(QtCore.Qt.WindowState.WindowMinimized) @@ -427,6 +424,15 @@ class MainWindow(QtWidgets.QMainWindow): settings.setValue("MainWindow/geometry", self.saveGeometry()) settings.setValue("MainWindow/state", self.saveState()) + def bring_to_front(self): + self.ensurePolished() + self.setWindowState( + self.window_state_to_restore & ~QtCore.Qt.WindowState.WindowMinimized + | QtCore.Qt.WindowState.WindowActive + ) + self.show() + self.activateWindow() + def changeEvent(self, event: QtCore.QEvent) -> None: if event.type() == QtCore.QEvent.Type.WindowStateChange: if settings.value("tray/show", type=bool) and settings.value( @@ -435,6 +441,7 @@ class MainWindow(QtWidgets.QMainWindow): if self.windowState() & QtCore.Qt.WindowState.WindowMinimized: self.window_state_to_restore = ( self.windowState() & ~QtCore.Qt.WindowState.WindowMinimized + | QtCore.Qt.WindowState.WindowActive ) self.hide()