From 5dcdaf459f9f9fa5a3ed50c721a245d77793662b Mon Sep 17 00:00:00 2001 From: Tobias Hagemann Date: Mon, 26 Aug 2019 16:56:23 +0200 Subject: [PATCH] reverted jni version for merging, kept new code as comment --- main/pom.xml | 2 +- .../ui/traymenu/TrayIconController.java | 18 ++++++++------ .../ui/traymenu/TrayImageFactory.java | 24 ++++++++++--------- 3 files changed, 25 insertions(+), 19 deletions(-) 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: