ソースを参照

Add Vault Wizard: Navigation between scenes
[ci skip]

Sebastian Stenzel 6 年 前
コミット
c340544152

+ 5 - 0
main/ui/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultModule.java

@@ -49,6 +49,11 @@ public abstract class AddVaultModule {
 	@IntoMap
 	@FxControllerKey(AddVaultWelcomeController.class)
 	abstract FxController bindWelcomeController(AddVaultWelcomeController controller);
+
+	@Binds
+	@IntoMap
+	@FxControllerKey(ChooseExistingVaultController.class)
+	abstract FxController bindChooseExistingVaultController(ChooseExistingVaultController controller);
 	
 
 }

+ 23 - 1
main/ui/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultWelcomeController.java

@@ -1,13 +1,35 @@
 package org.cryptomator.ui.addvaultwizard;
 
+import javafx.stage.Stage;
+import org.cryptomator.ui.common.FXMLLoaderFactory;
 import org.cryptomator.ui.common.FxController;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.inject.Inject;
 
 @AddVaultWizardScoped
 public class AddVaultWelcomeController implements FxController {
 
+	private static final Logger LOG = LoggerFactory.getLogger(AddVaultWelcomeController.class);
+	private final Stage window;
+	private final FXMLLoaderFactory fxmlLoaders;
+
 	@Inject
-	AddVaultWelcomeController() {}
+	AddVaultWelcomeController(@AddVaultWizard Stage window, @AddVaultWizard FXMLLoaderFactory fxmlLoaders) {
+		this.window = window;
+		this.fxmlLoaders = fxmlLoaders;
+		
+		LOG.info("YOYOYO");
+	}
+
+	public void createNewVault() {
+		LOG.debug("AddVaultWelcomeController.createNewVault()");
+		// fxmlLoaders.setScene("/fxml/addvault_new.fxml", window);
+	}
 
+	public void chooseExistingVault() {
+		LOG.debug("AddVaultWelcomeController.chooseExistingVault()");
+		fxmlLoaders.setScene("/fxml/addvault_existing.fxml", window);
+	}
 }

+ 13 - 0
main/ui/src/main/java/org/cryptomator/ui/addvaultwizard/ChooseExistingVaultController.java

@@ -0,0 +1,13 @@
+package org.cryptomator.ui.addvaultwizard;
+
+import org.cryptomator.ui.common.FxController;
+
+import javax.inject.Inject;
+
+@AddVaultWizardScoped
+public class ChooseExistingVaultController implements FxController {
+
+	@Inject
+	ChooseExistingVaultController() {}
+
+}

+ 18 - 0
main/ui/src/main/resources/fxml/addvault_existing.fxml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.layout.VBox?>
+<VBox xmlns="http://javafx.com/javafx"
+	  xmlns:fx="http://javafx.com/fxml"
+	  fx:controller="org.cryptomator.ui.addvaultwizard.ChooseExistingVaultController"
+	  prefHeight="400.0"
+	  prefWidth="600.0"
+	  alignment="CENTER">
+	<padding>
+		<Insets top="12" right="12" bottom="12" left="12"/>
+	</padding>
+	<children>
+		<Label text="TODO existing!"/>
+	</children>
+</VBox>

+ 22 - 8
main/ui/src/main/resources/fxml/addvault_welcome.fxml

@@ -1,12 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
+<?import javafx.geometry.Insets?>
+<?import javafx.scene.control.Button?>
 <?import javafx.scene.control.Label?>
-<?import javafx.scene.layout.AnchorPane?>
-<AnchorPane xmlns="http://javafx.com/javafx"
-			xmlns:fx="http://javafx.com/fxml"
-			fx:controller="org.cryptomator.ui.addvaultwizard.AddVaultWelcomeController"
-			prefHeight="400.0" prefWidth="600.0">
-	
-	<Label text="TODO new vault or existing vault?"/>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.VBox?>
+<VBox xmlns="http://javafx.com/javafx"
+	  xmlns:fx="http://javafx.com/fxml"
+	  fx:controller="org.cryptomator.ui.addvaultwizard.AddVaultWelcomeController"
+	  prefHeight="400.0"
+	  prefWidth="600.0"
+	  alignment="CENTER">
+	<padding>
+		<Insets top="12" right="12" bottom="12" left="12"/>
+	</padding>
+	<children>
+		<Label text="TODO new vault or existing vault?"/>
 
-</AnchorPane>
+		<HBox spacing="12">
+			<Button text="TODO new vault" onAction="#createNewVault"/>
+
+			<Button text="TODO existing vault" onAction="#chooseExistingVault"/>
+		</HBox>
+	</children>
+</VBox>