From 27c8705b9af4df3d53635696a8966195ec68c4af Mon Sep 17 00:00:00 2001 From: elig0n <31196036+elig0n@users.noreply.github.com> Date: Sat, 28 Sep 2024 20:46:57 +0300 Subject: [PATCH] Update TrayIcon.py Improved code readability, temporary variable rightly named so, remove the temporary file when it is loaded and unneeded anymore --- pyqtws/plugin/TrayIcon.py | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/pyqtws/plugin/TrayIcon.py b/pyqtws/plugin/TrayIcon.py index 8126a32..15ad562 100644 --- a/pyqtws/plugin/TrayIcon.py +++ b/pyqtws/plugin/TrayIcon.py @@ -14,11 +14,6 @@ def __init__(self, config: QTWSConfig): super().__init__("TrayIcon") self.window = None - self.icon_path = tempfile.NamedTemporaryFile(suffix=".png").name - - tmp_image = QImage(config.icon) - tmp_image.save(self.icon_path) - self.menu = pystray.Menu( pystray.MenuItem( "Toggle visibility", @@ -32,25 +27,28 @@ def __init__(self, config: QTWSConfig): ) ) - self.tray_icon = pystray.Icon( - config.name, - Image.open(self.icon_path), - menu=self.menu - ) + with tempfile.NamedTemporaryFile(suffix=".png") as self.tmp_icon: + QImage(config.icon).save(self.tmp_icon.name) + + self.tray_icon = pystray.Icon( + config.name, + Image.open(self.tmp_icon.name), + menu=self.menu + ) self.tray_icon.visible = True self.tray_icon.run_detached() - + def close_event(self, window: QTWSMainWindow, event: QCloseEvent): self.__toggle_visibility() event.ignore() def window_setup(self, window: QTWSMainWindow): self.window = window - + def __toggle_visibility(self): self.window.setVisible(not self.window.isVisible()) - + def __quit(self): self.tray_icon.stop() self.window.quit()