diff --git a/lib/main.dart b/lib/main.dart index f7dfc74..0099dc1 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -7,7 +7,6 @@ import 'package:system_tray/system_tray.dart'; import 'package:window_manager/window_manager.dart'; import 'package:audioplayers/audioplayers.dart'; -// TODO: Add a "commit sudoku" button to the tray menu // TODO: Add an icon to the executable, simply use the existing tray icon // TODO: Auto focus new entry field @@ -176,9 +175,22 @@ class _MainPageState extends State with WindowListener { await _systemTray.initSystemTray(iconPath: iconPath, toolTip: "Journaler"); + await _menu.buildFrom([ + MenuItemLabel( + label: 'Commit Sudoku', + onClicked: (menuItem) => windowManager.destroy(), + ), + ]); + + await _systemTray.setContextMenu(_menu); + _systemTray.registerSystemTrayEventHandler((eventName) { debugPrint("System Tray Event: $eventName"); - _showWindow(); + if (eventName == kSystemTrayEventClick) { + _showWindow(); + } else if (eventName == kSystemTrayEventRightClick) { + _systemTray.popUpContextMenu(); + } }); }