瀏覽代碼

mac appearance changes with light/dark theme, updated jni

Tobias Hagemann 5 年之前
父節點
當前提交
036dca33be
共有 2 個文件被更改,包括 9 次插入2 次删除
  1. 1 1
      main/pom.xml
  2. 8 1
      main/ui/src/main/java/org/cryptomator/ui/FxApplication.java

+ 1 - 1
main/pom.xml

@@ -26,7 +26,7 @@
 		<!-- dependency versions -->
 		<cryptomator.cryptolib.version>1.2.1</cryptomator.cryptolib.version>
 		<cryptomator.cryptofs.version>1.8.6</cryptomator.cryptofs.version>
-		<cryptomator.jni.version>2.0.0</cryptomator.jni.version>
+		<cryptomator.jni.version>2.1.0</cryptomator.jni.version>
 		<cryptomator.fuse.version>1.2.0</cryptomator.fuse.version>
 		<cryptomator.dokany.version>1.1.9</cryptomator.dokany.version>
 		<cryptomator.webdav.version>1.0.10</cryptomator.webdav.version>

+ 8 - 1
main/ui/src/main/java/org/cryptomator/ui/FxApplication.java

@@ -6,6 +6,8 @@ import javafx.beans.value.ObservableValue;
 import javafx.stage.Stage;
 import org.cryptomator.common.settings.Settings;
 import org.cryptomator.common.settings.UiTheme;
+import org.cryptomator.jni.MacApplicationUiAppearance;
+import org.cryptomator.jni.MacFunctions;
 import org.cryptomator.ui.mainwindow.MainWindowComponent;
 import org.cryptomator.ui.preferences.PreferencesComponent;
 import org.slf4j.Logger;
@@ -14,6 +16,7 @@ import org.slf4j.LoggerFactory;
 import javax.inject.Inject;
 import java.awt.Desktop;
 import java.awt.desktop.PreferencesEvent;
+import java.util.Optional;
 
 @FxApplicationScoped
 public class FxApplication extends Application {
@@ -23,12 +26,14 @@ public class FxApplication extends Application {
 	private final Settings settings;
 	private final MainWindowComponent.Builder mainWindow;
 	private final PreferencesComponent.Builder preferencesWindow;
+	private final Optional<MacFunctions> macFunctions;
 
 	@Inject
-	FxApplication(Settings settings, MainWindowComponent.Builder mainWindow, PreferencesComponent.Builder preferencesWindow) {
+	FxApplication(Settings settings, MainWindowComponent.Builder mainWindow, PreferencesComponent.Builder preferencesWindow, Optional<MacFunctions> macFunctions) {
 		this.settings = settings;
 		this.mainWindow = mainWindow;
 		this.preferencesWindow = preferencesWindow;
+		this.macFunctions = macFunctions;
 	}
 
 	public void start() {
@@ -69,10 +74,12 @@ public class FxApplication extends Application {
 				break;
 			case DARK:
 				Application.setUserAgentStylesheet(getClass().getResource("/css/dark_theme.css").toString());
+				macFunctions.map(MacFunctions::uiAppearance).ifPresent(MacApplicationUiAppearance::setToDarkAqua);
 				break;
 			case LIGHT:
 			default:
 				Application.setUserAgentStylesheet(getClass().getResource("/css/light_theme.css").toString());
+				macFunctions.map(MacFunctions::uiAppearance).ifPresent(MacApplicationUiAppearance::setToAqua);
 				break;
 		}
 	}