Skip to content

Commit

Permalink
Update TrayIcon.py
Browse files Browse the repository at this point in the history
Improved code readability, temporary variable rightly named so, remove the temporary file when it is loaded and unneeded anymore
  • Loading branch information
elig0n committed Sep 28, 2024
1 parent 1f19252 commit 27c8705
Showing 1 changed file with 11 additions and 13 deletions.
24 changes: 11 additions & 13 deletions pyqtws/plugin/TrayIcon.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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()
Expand Down

0 comments on commit 27c8705

Please sign in to comment.