From f278db01acfb6a022dfd6aced525748d3ad2f387 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Tue, 4 Nov 2014 12:07:21 +0100 Subject: [PATCH] Remove cycle between SystemTray and BitsquareUI --- src/main/java/io/bitsquare/BitsquareUI.java | 2 +- src/main/java/io/bitsquare/gui/SystemTray.java | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/main/java/io/bitsquare/BitsquareUI.java b/src/main/java/io/bitsquare/BitsquareUI.java index c5071c1652..fac8a05ec9 100644 --- a/src/main/java/io/bitsquare/BitsquareUI.java +++ b/src/main/java/io/bitsquare/BitsquareUI.java @@ -109,7 +109,7 @@ public class BitsquareUI extends Application { // configure the system tray - SystemTray systemTray = new SystemTray(primaryStage, this); + SystemTray systemTray = new SystemTray(primaryStage, this::stop); primaryStage.setOnCloseRequest(e -> systemTray.hideStage()); scene.setOnKeyReleased(keyEvent -> { if (new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN).match(keyEvent)) diff --git a/src/main/java/io/bitsquare/gui/SystemTray.java b/src/main/java/io/bitsquare/gui/SystemTray.java index 5a5a8230e6..fc523eda6d 100644 --- a/src/main/java/io/bitsquare/gui/SystemTray.java +++ b/src/main/java/io/bitsquare/gui/SystemTray.java @@ -17,7 +17,6 @@ package io.bitsquare.gui; -import io.bitsquare.BitsquareUI; import io.bitsquare.gui.util.ImageUtil; import java.awt.*; @@ -43,13 +42,13 @@ public class SystemTray { public static final String HIDE_WINDOW_LABEL = "Hide exchange window"; private final Stage stage; - private final BitsquareUI application; + private final Runnable onExit; private final TrayIcon trayIcon = createTrayIcon(); private final MenuItem toggleShowHideItem = new MenuItem(HIDE_WINDOW_LABEL); - public SystemTray(Stage stage, BitsquareUI application) { + public SystemTray(Stage stage, Runnable onExit) { this.stage = stage; - this.application = application; + this.onExit = onExit; init(); } @@ -95,11 +94,7 @@ public class SystemTray { exitItem.addActionListener(e -> { self.remove(trayIcon); - try { - application.stop(); - } catch (Exception ex) { - log.error("Application failed to shut down properly.", ex); - } + onExit.run(); }); }