From 84ee2dfcaaec827b04b27d54ee0c85e1882f2baf Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Thu, 3 Mar 2016 14:16:20 +0100 Subject: [PATCH] fixes #50 --- .../cryptomator/ui/CryptomatorComponent.java | 1 - .../ui/{util => }/TrayIconUtil.java | 18 +++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) rename main/ui/src/main/java/org/cryptomator/ui/{util => }/TrayIconUtil.java (89%) diff --git a/main/ui/src/main/java/org/cryptomator/ui/CryptomatorComponent.java b/main/ui/src/main/java/org/cryptomator/ui/CryptomatorComponent.java index eb551b6ae..fc0563b18 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/CryptomatorComponent.java +++ b/main/ui/src/main/java/org/cryptomator/ui/CryptomatorComponent.java @@ -15,7 +15,6 @@ import javax.inject.Singleton; import org.cryptomator.ui.controllers.MainController; import org.cryptomator.ui.settings.Localization; import org.cryptomator.ui.util.DeferredCloser; -import org.cryptomator.ui.util.TrayIconUtil; import dagger.Component; diff --git a/main/ui/src/main/java/org/cryptomator/ui/util/TrayIconUtil.java b/main/ui/src/main/java/org/cryptomator/ui/TrayIconUtil.java similarity index 89% rename from main/ui/src/main/java/org/cryptomator/ui/util/TrayIconUtil.java rename to main/ui/src/main/java/org/cryptomator/ui/TrayIconUtil.java index f8ce23acb..2edb595ae 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/util/TrayIconUtil.java +++ b/main/ui/src/main/java/org/cryptomator/ui/TrayIconUtil.java @@ -6,7 +6,7 @@ * Contributors: * Sebastian Stenzel - initial API and implementation *******************************************************************************/ -package org.cryptomator.ui.util; +package org.cryptomator.ui; import java.awt.AWTException; import java.awt.Image; @@ -30,6 +30,7 @@ import javax.swing.SwingUtilities; import org.apache.commons.lang3.SystemUtils; import org.cryptomator.ui.settings.Localization; +import org.cryptomator.ui.settings.Settings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,17 +38,19 @@ import javafx.application.Platform; import javafx.stage.Stage; @Singleton -public final class TrayIconUtil { +class TrayIconUtil { private static final Logger LOG = LoggerFactory.getLogger(TrayIconUtil.class); private final Stage mainWindow; private final Localization localization; + private final Settings settings; @Inject - public TrayIconUtil(@Named("mainWindow") Stage mainWindow, Localization localization) { + public TrayIconUtil(@Named("mainWindow") Stage mainWindow, Localization localization, Settings settings) { this.mainWindow = mainWindow; this.localization = localization; + this.settings = settings; } public void initTrayIcon(Runnable exitCommand) { @@ -83,9 +86,9 @@ public final class TrayIconUtil { final Image image; if (SystemUtils.IS_OS_MAC_OSX && isMacMenuBarDarkMode()) { - image = Toolkit.getDefaultToolkit().getImage(TrayIconUtil.class.getResource("/tray_icon_white.png")); + image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/tray_icon_white.png")); } else { - image = Toolkit.getDefaultToolkit().getImage(TrayIconUtil.class.getResource("/tray_icon.png")); + image = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/tray_icon.png")); } return new TrayIcon(image, localization.getString("app.name"), popup); @@ -108,6 +111,11 @@ public final class TrayIconUtil { } private void showTrayNotification(TrayIcon trayIcon) { + if (settings.getNumTrayNotifications() <= 0) { + return; + } else { + settings.setNumTrayNotifications(settings.getNumTrayNotifications() - 1); + } final Runnable notificationCmd; if (SystemUtils.IS_OS_MAC_OSX) { final String title = localization.getString("tray.infoMsg.title");