diff --git a/main/pom.xml b/main/pom.xml
index 279e9cb07..3e08109a5 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -26,7 +26,7 @@
1.2.1
1.8.7
- 2.2.0-SNAPSHOT
+ 2.1.0
1.2.0
1.1.11
1.0.10
diff --git a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayIconController.java b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayIconController.java
index ded374e8c..0da5af2aa 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayIconController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayIconController.java
@@ -1,7 +1,8 @@
package org.cryptomator.ui.traymenu;
+import javafx.beans.Observable;
import org.apache.commons.lang3.SystemUtils;
-import org.cryptomator.jni.MacFunctions;
+import org.cryptomator.common.settings.Settings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -9,28 +10,30 @@ import javax.inject.Inject;
import java.awt.AWTException;
import java.awt.SystemTray;
import java.awt.TrayIcon;
-import java.util.Optional;
@TrayMenuScoped
public class TrayIconController {
private static final Logger LOG = LoggerFactory.getLogger(TrayIconController.class);
+ private final Settings settings;
private final TrayImageFactory imageFactory;
private final TrayMenuController trayMenuController;
private final TrayIcon trayIcon;
- private final Optional macFunctions;
+ // private final Optional macFunctions;
@Inject
- TrayIconController(TrayImageFactory imageFactory, TrayMenuController trayMenuController, Optional macFunctions) {
+ TrayIconController(Settings settings, TrayImageFactory imageFactory, TrayMenuController trayMenuController) {
+ this.settings = settings;
this.trayMenuController = trayMenuController;
this.imageFactory = imageFactory;
this.trayIcon = new TrayIcon(imageFactory.loadImage(), "Cryptomator", trayMenuController.getMenu());
- this.macFunctions = macFunctions;
+// this.macFunctions = macFunctions;
}
public void initializeTrayIcon() {
- macFunctions.map(MacFunctions::uiAppearance).ifPresent(uiAppearance -> uiAppearance.addListener(this::macInterfaceThemeChanged));
+// macFunctions.map(MacFunctions::uiAppearance).ifPresent(uiAppearance -> uiAppearance.addListener(this::macInterfaceThemeChanged));
+ settings.theme().addListener(this::themeChanged);
if (SystemUtils.IS_OS_WINDOWS) {
// TODO: test on windows: is this a double click?
@@ -47,7 +50,8 @@ public class TrayIconController {
trayMenuController.initTrayMenu();
}
- public void macInterfaceThemeChanged() {
+ // public void macInterfaceThemeChanged() {
+ private void themeChanged(@SuppressWarnings("unused") Observable observable) {
trayIcon.setImage(imageFactory.loadImage());
}
diff --git a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayImageFactory.java b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayImageFactory.java
index 7d5031937..360b6e95f 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayImageFactory.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayImageFactory.java
@@ -1,23 +1,24 @@
package org.cryptomator.ui.traymenu;
import org.apache.commons.lang3.SystemUtils;
-import org.cryptomator.jni.MacApplicationUiAppearance;
-import org.cryptomator.jni.MacApplicationUiInterfaceStyle;
-import org.cryptomator.jni.MacFunctions;
+import org.cryptomator.common.settings.Settings;
import javax.inject.Inject;
import java.awt.Image;
import java.awt.Toolkit;
-import java.util.Optional;
@TrayMenuScoped
class TrayImageFactory {
- private final Optional macFunctions;
+ // private final Optional macFunctions;
+ private final Settings settings;
+
@Inject
- TrayImageFactory(Optional macFunctions) {
- this.macFunctions = macFunctions;
+// TrayImageFactory(Optional macFunctions) {
+// this.macFunctions = macFunctions;
+ TrayImageFactory(Settings settings) {
+ this.settings = settings;
}
public Image loadImage() {
@@ -26,10 +27,11 @@ class TrayImageFactory {
}
private String getMacResourceName() {
- MacApplicationUiInterfaceStyle interfaceStyle = macFunctions.map(MacFunctions::uiAppearance) //
- .map(MacApplicationUiAppearance::getCurrentInterfaceStyle) //
- .orElse(MacApplicationUiInterfaceStyle.LIGHT);
- switch (interfaceStyle) {
+// MacApplicationUiInterfaceStyle interfaceStyle = macFunctions.map(MacFunctions::uiAppearance) //
+// .map(MacApplicationUiAppearance::getCurrentInterfaceStyle) //
+// .orElse(MacApplicationUiInterfaceStyle.LIGHT);
+// switch (interfaceStyle) {
+ switch (settings.theme().get()) {
case DARK:
return "/tray_icon_mac_white.png";
default: