Armin Schrenk 5 лет назад
Родитель
Сommit
f306184b53

+ 5 - 1
main/ui/src/main/java/org/cryptomator/ui/mainwindow/MainWindowModule.java

@@ -5,6 +5,7 @@ import dagger.Module;
 import dagger.Provides;
 import dagger.multibindings.IntoMap;
 import javafx.scene.Scene;
+import javafx.scene.image.Image;
 import javafx.scene.input.KeyCode;
 import javafx.scene.input.KeyCodeCombination;
 import javafx.scene.input.KeyCombination;
@@ -20,8 +21,10 @@ import org.cryptomator.ui.common.FxmlScene;
 import org.cryptomator.ui.removevault.RemoveVaultComponent;
 import org.cryptomator.ui.vaultoptions.VaultOptionsComponent;
 
+import javax.inject.Named;
 import javax.inject.Provider;
 import java.util.Map;
+import java.util.Optional;
 import java.util.ResourceBundle;
 
 @Module(subcomponents = {AddVaultWizardComponent.class, RemoveVaultComponent.class, VaultOptionsComponent.class, ChangePasswordComponent.class})
@@ -37,7 +40,7 @@ abstract class MainWindowModule {
 	@Provides
 	@MainWindow
 	@MainWindowScoped
-	static Stage provideStage() {
+	static Stage provideStage(@Named("windowIcon") Optional<Image> windowIcon) {
 		Stage stage = new Stage();
 		// TODO: min/max values chosen arbitrarily. We might wanna take a look at the user's resolution...
 		stage.setMinWidth(650);
@@ -45,6 +48,7 @@ abstract class MainWindowModule {
 		stage.setMaxWidth(1000);
 		stage.setMaxHeight(700);
 		stage.initStyle(StageStyle.UNDECORATED);
+		windowIcon.ifPresent(stage.getIcons()::add);
 		return stage;
 	}