This commit is contained in:
Sebastian Stenzel
2019-07-10 15:14:23 +02:00
parent 7fedcafa9e
commit f880db4902
27 changed files with 142 additions and 108 deletions
@@ -12,7 +12,6 @@ package org.cryptomator.ui;
import javafx.application.Platform;
import javafx.stage.Stage;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.common.settings.Settings;
import org.cryptomator.jni.JniException;
import org.cryptomator.jni.MacApplicationUiState;
@@ -0,0 +1,39 @@
package org.cryptomator.ui;
import javafx.application.Application;
import javafx.stage.Stage;
import org.cryptomator.ui.controllers.MainController;
import org.cryptomator.ui.controllers.ViewControllerLoader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import javax.inject.Named;
@FxApplicationScoped
public class FxApplication extends Application {
private static final Logger LOG = LoggerFactory.getLogger(FxApplication.class);
private final Stage primaryStage;
private final ViewControllerLoader fxmlLoader;
@Inject
FxApplication(@Named("mainWindow") Stage primaryStage, ViewControllerLoader fxmlLoader) {
this.primaryStage = primaryStage;
this.fxmlLoader = fxmlLoader;
}
public void start() {
LOG.info("Starting GUI...");
start(primaryStage);
}
@Override
public void start(Stage primaryStage) {
MainController mainCtrl = fxmlLoader.load("/fxml/main.fxml");
mainCtrl.initStage(primaryStage);
primaryStage.show();
}
}
@@ -0,0 +1,16 @@
/*******************************************************************************
* Copyright (c) 2017 Skymatic UG (haftungsbeschränkt).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the accompanying LICENSE file.
*******************************************************************************/
package org.cryptomator.ui;
import dagger.Subcomponent;
@FxApplicationScoped
@Subcomponent(modules = FxApplicationModule.class)
public interface FxApplicationComponent {
FxApplication application();
}
@@ -0,0 +1,33 @@
/*******************************************************************************
* Copyright (c) 2017 Skymatic UG (haftungsbeschränkt).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the accompanying LICENSE file.
*******************************************************************************/
package org.cryptomator.ui;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import javafx.application.Application;
import javafx.stage.Stage;
import javax.inject.Named;
@Module(includes = {UiModule.class})
abstract class FxApplicationModule {
@Provides
@FxApplicationScoped
@Named("mainWindow")
static Stage providePrimaryStage() {
Stage stage = new Stage();
stage.setMinWidth(652.0);
stage.setMinHeight(440.0);
return stage;
}
@Binds
@FxApplicationScoped
abstract Application provideApplication(FxApplication application);
}
@@ -0,0 +1,13 @@
package org.cryptomator.ui;
import javax.inject.Scope;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Scope
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface FxApplicationScoped {
}
@@ -12,7 +12,6 @@ import dagger.Module;
import dagger.Provides;
import javafx.beans.binding.Binding;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.common.settings.Settings;
import org.cryptomator.frontend.webdav.WebDavServer;
import org.cryptomator.keychain.KeychainModule;
@@ -44,7 +44,7 @@ import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javafx.util.Duration;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.common.settings.VaultSettings;
import org.cryptomator.ui.ExitUtil;
import org.cryptomator.ui.controls.DirectoryListCell;
@@ -8,7 +8,7 @@ package org.cryptomator.ui.controllers;
import javafx.fxml.FXML;
import javafx.scene.Parent;
import javafx.scene.layout.VBox;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import javax.inject.Inject;
@@ -12,7 +12,6 @@ import com.google.common.base.CharMatcher;
import com.google.common.base.Strings;
import javafx.beans.Observable;
import javafx.beans.binding.Bindings;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.Group;
import javafx.scene.Parent;
@@ -25,7 +24,7 @@ import javafx.scene.input.KeyEvent;
import javafx.scene.layout.VBox;
import javafx.util.StringConverter;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.common.settings.Settings;
import org.cryptomator.common.settings.VolumeImpl;
import org.cryptomator.ui.l10n.Localization;
@@ -6,7 +6,7 @@
package org.cryptomator.ui.controllers;
import javafx.fxml.FXMLLoader;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.ui.l10n.Localization;
import javax.inject.Inject;
@@ -23,7 +23,7 @@ import javafx.scene.control.Label;
import javafx.scene.control.ProgressIndicator;
import javafx.scene.layout.VBox;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.common.settings.Settings;
import org.cryptomator.ui.l10n.Localization;
import org.cryptomator.ui.util.Tasks;
@@ -7,7 +7,7 @@ package org.cryptomator.ui.l10n;
import com.google.common.collect.Sets;
import org.apache.commons.lang3.StringUtils;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -5,7 +5,7 @@
*******************************************************************************/
package org.cryptomator.ui.model;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.cryptolib.api.CryptoException;
import org.cryptomator.keychain.KeychainAccess;
import org.slf4j.Logger;
@@ -8,7 +8,7 @@
*******************************************************************************/
package org.cryptomator.ui.model;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.common.settings.VaultSettings;
import javax.inject.Inject;
@@ -9,7 +9,7 @@ import com.google.common.collect.Lists;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.collections.transformation.TransformationList;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.common.settings.Settings;
import org.cryptomator.common.settings.VaultSettings;
@@ -6,7 +6,7 @@
package org.cryptomator.ui.model;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -5,7 +5,7 @@
*******************************************************************************/
package org.cryptomator.ui.model.upgrade;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.ui.model.Vault;
import javax.inject.Inject;
@@ -7,7 +7,7 @@ package org.cryptomator.ui.model.upgrade;
import javafx.application.Platform;
import org.apache.commons.lang3.StringUtils;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.cryptolib.Cryptors;
import org.cryptomator.cryptolib.api.Cryptor;
import org.cryptomator.ui.l10n.Localization;
@@ -7,7 +7,7 @@ package org.cryptomator.ui.model.upgrade;
import com.google.common.io.BaseEncoding;
import org.apache.commons.lang3.StringUtils;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.cryptolib.Cryptors;
import org.cryptomator.cryptolib.api.Cryptor;
import org.cryptomator.cryptolib.common.MessageDigestSupplier;
@@ -5,7 +5,7 @@
*******************************************************************************/
package org.cryptomator.ui.model.upgrade;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.cryptolib.Cryptors;
import org.cryptomator.cryptolib.api.Cryptor;
import org.cryptomator.cryptolib.api.FileHeader;
@@ -5,7 +5,7 @@
*******************************************************************************/
package org.cryptomator.ui.model.upgrade;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.cryptofs.migration.Migrators;
import org.cryptomator.cryptofs.migration.api.NoApplicableMigratorException;
import org.cryptomator.cryptolib.Cryptors;
@@ -15,7 +15,7 @@ import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.paint.Color;
import org.cryptomator.common.FxApplicationScoped;
import org.cryptomator.ui.FxApplicationScoped;
import org.cryptomator.ui.l10n.Localization;
import javax.inject.Inject;