Skip to content

Commit b4860e7

Browse files
Merge pull request #1333 from benoit-pierre/fix_1280
gui_qt: show a message when hiding to tray
2 parents cfe7900 + d502f40 commit b4860e7

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

news.d/feature/1333.ui.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Show a message when hiding to tray.

plover/gui_qt/main_window.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ def __init__(self, engine, use_qt_notifications):
143143
self.on_configure()
144144
# Apply configuration settings.
145145
config = self._engine.config
146+
self._warn_on_hide_to_tray = not config['start_minimized']
146147
self._update_machine(config['machine_type'])
147148
self._configured = False
148149
self.dictionaries.on_config_changed(config)
@@ -274,7 +275,12 @@ def on_show(self):
274275
self._focus()
275276

276277
def closeEvent(self, event):
278+
event.ignore()
277279
self.hide()
278280
if not self._trayicon.is_enabled():
279281
self._engine.quit()
280-
event.ignore()
282+
return
283+
if not self._warn_on_hide_to_tray:
284+
return
285+
self._trayicon.show_message(_('Application is still running.'))
286+
self._warn_on_hide_to_tray = False

plover/gui_qt/trayicon.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ def set_menu(self, menu):
4141
if self._enabled:
4242
self._trayicon.setContextMenu(menu)
4343

44+
def show_message(self, message,
45+
icon=QSystemTrayIcon.Information,
46+
timeout=10000):
47+
self._trayicon.showMessage(__software_name__.capitalize(),
48+
message, icon, timeout)
49+
4450
def log(self, level, message):
4551
if self._enabled:
4652
if level <= log.INFO:
@@ -52,8 +58,7 @@ def log(self, level, message):
5258
else:
5359
icon = QSystemTrayIcon.Critical
5460
timeout = 25
55-
self._trayicon.showMessage(__software_name__.capitalize(),
56-
message, icon, timeout * 1000)
61+
self.show_message(message, icon, timeout * 1000)
5762
else:
5863
if level <= log.INFO:
5964
icon = QMessageBox.Information

0 commit comments

Comments
 (0)