~exprez135/cryptomator-libre

c364a743ae41439e2f3e2db04ae5b8925e4320e1 — Tobias Hagemann 2 years ago b36c5fa
finetuning almost all dialogs
M main/ui/src/main/resources/css/dark_theme.css => main/ui/src/main/resources/css/dark_theme.css +4 -0
@@ 141,6 141,10 @@
	-fx-fill: RED_5;
}

.glyph-icon-orange {
	-fx-fill: ORANGE_5;
}

/*******************************************************************************
 *                                                                             *
 * Main Window                                                                 *

M main/ui/src/main/resources/css/light_theme.css => main/ui/src/main/resources/css/light_theme.css +4 -0
@@ 141,6 141,10 @@
	-fx-fill: RED_5;
}

.glyph-icon-orange {
	-fx-fill: ORANGE_5;
}

/*******************************************************************************
 *                                                                             *
 * Main Window                                                                 *

M main/ui/src/main/resources/fxml/addvault_existing.fxml => main/ui/src/main/resources/fxml/addvault_existing.fxml +7 -7
@@ 4,22 4,22 @@
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.image.Image?>
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.addvaultwizard.ChooseExistingVaultController"
	  prefWidth="400.0"
	  prefHeight="400.0"
	  spacing="12.0"
	  prefWidth="400"
	  prefHeight="400"
	  spacing="12"
	  alignment="CENTER">
	<padding>
		<Insets top="24" right="24" bottom="24" left="24"/>
		<Insets topRightBottomLeft="24"/>
	</padding>
	<children>
		<ImageView VBox.vgrow="ALWAYS" fitHeight="200.0" preserveRatio="true" smooth="true" cache="true">
		<ImageView VBox.vgrow="ALWAYS" fitHeight="200" preserveRatio="true" smooth="true" cache="true">
			<VBox.margin>
				<Insets top="24"/>
			</VBox.margin>

M main/ui/src/main/resources/fxml/addvault_new_location.fxml => main/ui/src/main/resources/fxml/addvault_new_location.fxml +15 -12
@@ 16,20 16,21 @@
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.addvaultwizard.CreateNewVaultLocationController"
	  prefWidth="400.0"
	  prefHeight="400.0"
	  spacing="12.0"
	  prefWidth="400"
	  prefHeight="400"
	  spacing="12"
	  alignment="CENTER_LEFT">
	<fx:define>
		<ToggleGroup fx:id="predefinedLocationToggler"/>
	</fx:define>
	<padding>
		<Insets top="24" right="24" bottom="24" left="24"/>
		<Insets topRightBottomLeft="24"/>
	</padding>
	<children>
		<Label wrapText="true" text="%addvaultwizard.new.locationInstruction"/>
		<Region VBox.vgrow="ALWAYS"/>

		<VBox spacing="6">
			<Label wrapText="true" text="%addvaultwizard.new.locationInstruction"/>
			<RadioButton fx:id="dropboxRadioButton" toggleGroup="${predefinedLocationToggler}" text="Dropbox" visible="${controller.locationPresets.foundDropbox}" managed="${controller.locationPresets.foundDropbox}"/>
			<RadioButton fx:id="gdriveRadioButton" toggleGroup="${predefinedLocationToggler}" text="Google Drive" visible="${controller.locationPresets.foundGdrive}" managed="${controller.locationPresets.foundGdrive}"/>
			<HBox spacing="12" alignment="CENTER_LEFT">


@@ 42,14 43,16 @@
			</HBox>
		</VBox>

		<Region VBox.vgrow="ALWAYS"/>
		<Region prefHeight="12" VBox.vgrow="NEVER"/>

		<Label text="%addvaultwizard.new.locationLabel" labelFor="$locationTextField"/>
		<TextField fx:id="locationTextField" promptText="%addvaultwizard.new.locationPrompt" text="${controller.vaultPath}" disable="true" HBox.hgrow="ALWAYS"/>
		<TextFlow styleClass="text-flow" visible="${controller.showWarning}" prefHeight="22">
			<FontAwesome5IconView glyph="EXCLAMATION_TRIANGLE"/>
			<Text text="${controller.warningText}"/>
		</TextFlow>
		<VBox spacing="6">
			<Label text="%addvaultwizard.new.locationLabel" labelFor="$locationTextField"/>
			<TextField fx:id="locationTextField" promptText="%addvaultwizard.new.locationPrompt" text="${controller.vaultPath}" disable="true" HBox.hgrow="ALWAYS"/>
			<TextFlow styleClass="text-flow" visible="${controller.showWarning}" prefHeight="22">
				<FontAwesome5IconView glyph="EXCLAMATION_TRIANGLE"/>
				<Text text="${controller.warningText}"/>
			</TextFlow>
		</VBox>

		<Region VBox.vgrow="ALWAYS"/>


M main/ui/src/main/resources/fxml/addvault_new_name.fxml => main/ui/src/main/resources/fxml/addvault_new_name.fxml +12 -10
@@ 14,22 14,24 @@
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.addvaultwizard.CreateNewVaultNameController"
	  prefWidth="400.0"
	  prefHeight="400.0"
	  spacing="12.0"
	  prefWidth="400"
	  prefHeight="400"
	  spacing="12"
	  alignment="CENTER_LEFT">
	<padding>
		<Insets top="24" right="24" bottom="24" left="24"/>
		<Insets topRightBottomLeft="24"/>
	</padding>
	<children>
		<Region VBox.vgrow="ALWAYS"/>

		<Label text="%addvaultwizard.new.nameInstruction" labelFor="$textField"/>
		<TextField fx:id="textField" promptText="%addvaultwizard.new.namePrompt" HBox.hgrow="ALWAYS"/>
		<TextFlow styleClass="text-flow" visible="${controller.showWarning}" prefHeight="22">
			<FontAwesome5IconView glyph="EXCLAMATION_TRIANGLE"/>
			<Text text="${controller.warningText}"/>
		</TextFlow>
		<VBox spacing="6">
			<Label text="%addvaultwizard.new.nameInstruction" labelFor="$textField"/>
			<TextField fx:id="textField" promptText="%addvaultwizard.new.namePrompt" HBox.hgrow="ALWAYS"/>
			<TextFlow styleClass="text-flow" visible="${controller.showWarning}" prefHeight="22">
				<FontAwesome5IconView glyph="EXCLAMATION_TRIANGLE"/>
				<Text text="${controller.warningText}"/>
			</TextFlow>
		</VBox>

		<Region VBox.vgrow="ALWAYS"/>


M main/ui/src/main/resources/fxml/addvault_new_password.fxml => main/ui/src/main/resources/fxml/addvault_new_password.fxml +21 -24
@@ 5,45 5,41 @@
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ProgressIndicator?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.VBox?>
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
<?import org.cryptomator.ui.controls.PasswordStrengthIndicator?>
<?import org.cryptomator.ui.controls.SecPasswordField?>
<?import javafx.scene.control.ProgressIndicator?>
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.addvaultwizard.CreateNewVaultPasswordController"
	  prefWidth="400.0"
	  prefHeight="400.0"
	  prefWidth="400"
	  prefHeight="400"
	  spacing="12"
	  alignment="CENTER_LEFT">
	<padding>
		<Insets top="24" right="24" bottom="24" left="24"/>
		<Insets topRightBottomLeft="24"/>
	</padding>
	<children>
		<Region VBox.vgrow="ALWAYS"/>

		<Label text="%addvaultwizard.new.enterPassword" labelFor="$passwordField"/>
		<SecPasswordField fx:id="passwordField"/>
		<PasswordStrengthIndicator spacing="6" prefHeight="6" strength="${controller.passwordStrength}"/>
		<HBox alignment="BASELINE_RIGHT">
			<Label fx:id="passwordStrengthLabel" styleClass="label-secondary" labelFor="$passwordField"/>
		</HBox>

		<Region VBox.vgrow="NEVER"/>

		<Label text="%addvaultwizard.new.reenterPassword" labelFor="$reenterField"/>
		<SecPasswordField fx:id="reenterField"/>
		<HBox fx:id="passwordMatchBox" spacing="6" alignment="BASELINE_RIGHT">
			<FontAwesome5IconView fx:id="checkmark" styleClass="glyph-icon-primary" glyph="CHECK"/>
			<FontAwesome5IconView fx:id="cross" styleClass="glyph-icon-red" glyph="TIMES"/>
			<Label fx:id="passwordMatchLabel" styleClass="label-secondary" labelFor="$reenterField"/>
		</HBox>

		<Region VBox.vgrow="NEVER"/>

		<VBox spacing="6">
			<Label text="%addvaultwizard.new.enterPassword" labelFor="$passwordField"/>
			<SecPasswordField fx:id="passwordField"/>
			<PasswordStrengthIndicator spacing="6" prefHeight="6" strength="${controller.passwordStrength}"/>
			<Label fx:id="passwordStrengthLabel" styleClass="label-secondary" labelFor="$passwordField" alignment="CENTER_RIGHT" maxWidth="Infinity"/>
		</VBox>
		<VBox spacing="6">
			<Label text="%addvaultwizard.new.reenterPassword" labelFor="$reenterField"/>
			<SecPasswordField fx:id="reenterField"/>
			<HBox fx:id="passwordMatchBox" spacing="6" alignment="CENTER_RIGHT">
				<FontAwesome5IconView fx:id="checkmark" styleClass="glyph-icon-primary" glyph="CHECK"/>
				<FontAwesome5IconView fx:id="cross" styleClass="glyph-icon-red" glyph="TIMES"/>
				<Label fx:id="passwordMatchLabel" styleClass="label-secondary" labelFor="$reenterField"/>
			</HBox>
		</VBox>
		<CheckBox fx:id="finalConfirmationCheckbox" text="%addvaultwizard.new.finalConfirmation" wrapText="true"/>

		<Region VBox.vgrow="ALWAYS"/>


@@ 51,7 47,8 @@
		<ButtonBar buttonMinWidth="120" buttonOrder="B+X">
			<buttons>
				<Button text="%generic.button.back" ButtonBar.buttonData="BACK_PREVIOUS" onAction="#back"/>
				<Button text="%generic.button.next" ButtonBar.buttonData="NEXT_FORWARD" onAction="#next" defaultButton="true" disable="${!controller.readyToCreateVault}" contentDisplay="${controller.createVaultButtonState}" >
				<Button text="%addvaultwizard.new.createVaultBtn" ButtonBar.buttonData="NEXT_FORWARD" onAction="#next" defaultButton="true" disable="${!controller.readyToCreateVault}"
						contentDisplay="${controller.createVaultButtonState}">
					<graphic>
						<ProgressIndicator progress="-1" prefWidth="12" prefHeight="12"/>
					</graphic>

M main/ui/src/main/resources/fxml/addvault_success.fxml => main/ui/src/main/resources/fxml/addvault_success.fxml +13 -12
@@ 2,6 2,7 @@

<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.StackPane?>


@@ 9,34 10,34 @@
<?import javafx.scene.shape.Circle?>
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
<?import org.cryptomator.ui.controls.FormattedLabel?>
<?import javafx.scene.control.ButtonBar?>
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.addvaultwizard.AddVaultSuccessController"
	  prefWidth="400.0"
	  prefHeight="400.0"
	  spacing="12.0"
	  prefWidth="400"
	  prefHeight="400"
	  spacing="12"
	  alignment="TOP_CENTER">
	<padding>
		<Insets top="24" right="24" bottom="24" left="24"/>
		<Insets topRightBottomLeft="24"/>
	</padding>
	<children>
		<Region VBox.vgrow="ALWAYS"/>

		<StackPane alignment="CENTER" HBox.hgrow="NEVER">
			<VBox.margin>
				<Insets topRightBottomLeft="24"/>
			</VBox.margin>
			<Circle styleClass="glyph-icon-primary" radius="36"/>
			<FontAwesome5IconView styleClass="glyph-icon-white" glyph="CHECK" glyphSize="36"/>
		</StackPane>

		<FormattedLabel format="%addvaultwizard.success.nextStepsInstructions" arg1="${controller.vault.displayableName}" wrapText="true" textAlignment="LEFT" HBox.hgrow="ALWAYS"/>
		<Region VBox.vgrow="ALWAYS"/>

		<FormattedLabel format="%addvaultwizard.success.nextStepsInstructions" arg1="${controller.vault.displayableName}" wrapText="true" HBox.hgrow="ALWAYS"/>

		<Region VBox.vgrow="ALWAYS"/>

		<ButtonBar buttonMinWidth="120" buttonOrder="+UI">
		<ButtonBar buttonMinWidth="120" buttonOrder="+IU">
			<buttons>
				<Button text="%addvaultwizard.success.unlockNow" ButtonBar.buttonData="OTHER" onAction="#unlockAndClose"/>
				<Button text="%generic.button.done" ButtonBar.buttonData="FINISH" onAction="#close" defaultButton="true"/>
				<Button text="%generic.button.done" ButtonBar.buttonData="FINISH" onAction="#close"/>
				<Button text="%addvaultwizard.success.unlockNow" ButtonBar.buttonData="OTHER" onAction="#unlockAndClose" defaultButton="true"/>
			</buttons>
		</ButtonBar>
	</children>

M main/ui/src/main/resources/fxml/addvault_welcome.fxml => main/ui/src/main/resources/fxml/addvault_welcome.fxml +9 -8
@@ 10,18 10,17 @@
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.addvaultwizard.AddVaultWelcomeController"
	  prefWidth="400.0"
	  prefHeight="400.0"
	  spacing="12.0"
	  prefWidth="400"
	  prefHeight="400"
	  spacing="12"
	  alignment="TOP_CENTER">
	<padding>
		<Insets top="24" right="24" bottom="24" left="24"/>
		<Insets topRightBottomLeft="24"/>
	</padding>
	<children>
		<ImageView VBox.vgrow="ALWAYS" fitHeight="128.0" preserveRatio="true" smooth="true" cache="true">
			<VBox.margin>
				<Insets top="24"/>
			</VBox.margin>
		<Region VBox.vgrow="ALWAYS"/>

		<ImageView VBox.vgrow="ALWAYS" fitHeight="128" preserveRatio="true" smooth="true" cache="true">
			<Image url="/bot_welcome.png"/>
		</ImageView>



@@ 39,5 38,7 @@
				</graphic>
			</Button>
		</VBox>

		<Region VBox.vgrow="ALWAYS"/>
	</children>
</VBox>

M main/ui/src/main/resources/fxml/changepassword.fxml => main/ui/src/main/resources/fxml/changepassword.fxml +30 -29
@@ 2,6 2,7 @@

<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>


@@ 14,44 15,44 @@
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.changepassword.ChangePasswordController"
	  minWidth="300"
	  maxWidth="300"
	  spacing="6">
	  minWidth="400"
	  maxWidth="400"
	  spacing="12">
	<padding>
		<Insets bottom="12.0" left="12.0" right="12.0" top="12.0"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<FormattedLabel format="%changepassword.enterOldPassword" arg1="${controller.vault.displayableName}" wrapText="true"/>
		<SecPasswordField fx:id="oldPasswordField"/>

		<Region prefHeight="36" VBox.vgrow="NEVER"/>

		<Label labelFor="$newPasswordField" text="%changepassword.enterNewPassword"/>
		<SecPasswordField fx:id="newPasswordField"/>
		<PasswordStrengthIndicator prefHeight="6" spacing="6" strength="${controller.passwordStrength}"/>
		<HBox alignment="BASELINE_RIGHT">
			<Label fx:id="passwordStrengthLabel" styleClass="label-secondary"/>
		</HBox>

		<Region VBox.vgrow="NEVER"/>

		<Label labelFor="$reenterPasswordField" text="%changepassword.reenterNewPassword"/>
		<SecPasswordField fx:id="reenterPasswordField"/>
		<HBox fx:id="passwordMatchBox" spacing="6" alignment="BASELINE_RIGHT">
			<FontAwesome5IconView fx:id="checkmark" styleClass="glyph-icon-primary" glyph="CHECK"/>
			<FontAwesome5IconView fx:id="cross" styleClass="glyph-icon-red" glyph="TIMES"/>
			<Label fx:id="passwordMatchLabel" styleClass="label-secondary" labelFor="$reenterPasswordField"/>
		</HBox>
		<VBox spacing="6">
			<FormattedLabel format="%changepassword.enterOldPassword" arg1="${controller.vault.displayableName}" wrapText="true"/>
			<SecPasswordField fx:id="oldPasswordField"/>
		</VBox>

		<Region prefHeight="12" VBox.vgrow="NEVER"/>

		<VBox spacing="6">
			<Label labelFor="$newPasswordField" text="%changepassword.enterNewPassword"/>
			<SecPasswordField fx:id="newPasswordField"/>
			<PasswordStrengthIndicator prefHeight="6" spacing="6" strength="${controller.passwordStrength}"/>
			<Label fx:id="passwordStrengthLabel" styleClass="label-secondary" alignment="CENTER_RIGHT" maxWidth="Infinity"/>
		</VBox>
		<VBox spacing="6">
			<Label labelFor="$reenterPasswordField" text="%changepassword.reenterNewPassword"/>
			<SecPasswordField fx:id="reenterPasswordField"/>
			<HBox fx:id="passwordMatchBox" spacing="6" alignment="CENTER_RIGHT">
				<FontAwesome5IconView fx:id="checkmark" styleClass="glyph-icon-primary" glyph="CHECK"/>
				<FontAwesome5IconView fx:id="cross" styleClass="glyph-icon-red" glyph="TIMES"/>
				<Label fx:id="passwordMatchLabel" styleClass="label-secondary" labelFor="$reenterPasswordField"/>
			</HBox>
		</VBox>
		<CheckBox fx:id="finalConfirmationCheckbox" text="%changepassword.finalConfirmation" wrapText="true"/>

		<Region VBox.vgrow="ALWAYS"/>

		<HBox alignment="CENTER_RIGHT" spacing="9">
			<Button text="%generic.button.cancel" cancelButton="true" onAction="#cancel"/>
			<Button fx:id="finishButton" text="%generic.button.change" defaultButton="true" onAction="#finish"/>
		</HBox>
		<ButtonBar buttonMinWidth="120" buttonOrder="+CI">
			<buttons>
				<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#cancel"/>
				<Button fx:id="finishButton" ButtonBar.buttonData="FINISH" text="%generic.button.change" defaultButton="true" onAction="#finish"/>
			</buttons>
		</ButtonBar>
	</children>
</VBox>

M main/ui/src/main/resources/fxml/preferences_general.fxml => main/ui/src/main/resources/fxml/preferences_general.fxml +2 -2
@@ 11,10 11,10 @@
	  fx:controller="org.cryptomator.ui.preferences.GeneralPreferencesController"
	  spacing="6">
	<padding>
		<Insets bottom="12" left="12" right="12" top="12"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<HBox spacing="6" alignment="BASELINE_LEFT">
		<HBox spacing="6" alignment="CENTER_LEFT">
			<Label text="%preferences.general.theme"/>
			<ChoiceBox fx:id="themeChoiceBox"/>
		</HBox>

M main/ui/src/main/resources/fxml/preferences_updates.fxml => main/ui/src/main/resources/fxml/preferences_updates.fxml +1 -1
@@ 11,7 11,7 @@
	  fx:controller="org.cryptomator.ui.preferences.UpdatesPreferencesController"
	  spacing="6">
	<padding>
		<Insets bottom="12" left="12" right="12" top="12"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<CheckBox fx:id="checkForUpdatesCheckbox" text="%preferences.updates.autoUpdateCheck"/>

M main/ui/src/main/resources/fxml/preferences_volume.fxml => main/ui/src/main/resources/fxml/preferences_volume.fxml +1 -1
@@ 12,7 12,7 @@
	  fx:controller="org.cryptomator.ui.preferences.VolumePreferencesController"
	  spacing="6">
	<padding>
		<Insets bottom="12" left="12" right="12" top="12"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<HBox spacing="6" alignment="CENTER_LEFT">

M main/ui/src/main/resources/fxml/quit.fxml => main/ui/src/main/resources/fxml/quit.fxml +28 -14
@@ 2,30 2,44 @@

<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ProgressIndicator?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Circle?>
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.quit.QuitController"
	  minWidth="300"
	  spacing="6">
	  minWidth="400"
	  maxWidth="400"
	  minHeight="144"
	  spacing="12">
	<padding>
		<Insets bottom="12.0" left="12.0" right="12.0" top="12.0"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<Label text="%quit.prompt" wrapText="true"/>
		<Region VBox.vgrow="ALWAYS"/>
		<HBox>
			<Button text="%generic.button.cancel" cancelButton="true" onAction="#cancel"/>
			<Region HBox.hgrow="ALWAYS"/>
			<Button text="%quit.lockAndQuit" defaultButton="true" onAction="#lockAndQuit" fx:id="lockAndQuitButton" contentDisplay="TEXT_ONLY">
				<graphic>
					<ProgressIndicator progress="-1" prefWidth="12" prefHeight="12"/>
				</graphic>
			</Button>
		<HBox spacing="12" alignment="CENTER_LEFT" VBox.vgrow="ALWAYS">
			<StackPane alignment="CENTER" HBox.hgrow="NEVER">
				<Circle styleClass="glyph-icon-orange" radius="24"/>
				<FontAwesome5IconView styleClass="glyph-icon-white" glyph="QUESTION" glyphSize="24"/>
			</StackPane>
			<Label text="%quit.prompt" wrapText="true" textAlignment="LEFT" HBox.hgrow="ALWAYS"/>
		</HBox>

		<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
			<ButtonBar buttonMinWidth="120" buttonOrder="+CI">
				<buttons>
					<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" defaultButton="true" cancelButton="true" onAction="#cancel"/>
					<Button fx:id="lockAndQuitButton" text="%quit.lockAndQuit" ButtonBar.buttonData="FINISH" onAction="#lockAndQuit" contentDisplay="TEXT_ONLY">
						<graphic>
							<ProgressIndicator progress="-1" prefWidth="12" prefHeight="12"/>
						</graphic>
					</Button>
				</buttons>
			</ButtonBar>
		</VBox>
	</children>
</VBox>

M main/ui/src/main/resources/fxml/remove_vault.fxml => main/ui/src/main/resources/fxml/remove_vault.fxml +14 -19
@@ 5,7 5,6 @@
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Circle?>


@@ 13,33 12,29 @@
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.removevault.RemoveVaultController"
	  minWidth="450"
	  maxWidth="450"
	  minHeight="150"
	  minWidth="400"
	  maxWidth="400"
	  minHeight="144"
	  spacing="12">
	<padding>
		<Insets bottom="12.0" left="12.0" right="12.0" top="24.0"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<HBox spacing="24">
		<HBox spacing="12" alignment="CENTER_LEFT" VBox.vgrow="ALWAYS">
			<StackPane alignment="CENTER" HBox.hgrow="NEVER">
				<VBox.margin>
					<Insets topRightBottomLeft="12"/>
				</VBox.margin>
				<Circle styleClass="glyph-icon-primary" radius="24"/>
				<Circle styleClass="glyph-icon-orange" radius="24"/>
				<FontAwesome5IconView styleClass="glyph-icon-white" glyph="QUESTION" glyphSize="24"/>
			</StackPane>

			<Label text="%removeVault.information" wrapText="true" textAlignment="LEFT" HBox.hgrow="ALWAYS"/>
		</HBox>

		<Region VBox.vgrow="ALWAYS"/>

		<ButtonBar buttonMinWidth="120" buttonOrder="+CI">
			<buttons>
				<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#close"/>
				<Button text="%generic.button.confirm" ButtonBar.buttonData="FINISH" defaultButton="true" onAction="#finish"/>
			</buttons>
		</ButtonBar>
		<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
			<ButtonBar buttonMinWidth="120" buttonOrder="+CI">
				<buttons>
					<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" defaultButton="true" cancelButton="true" onAction="#close"/>
					<Button text="%removeVault.confirmBtn" ButtonBar.buttonData="FINISH" onAction="#finish"/>
				</buttons>
			</ButtonBar>
		</VBox>
	</children>
</VBox>

M main/ui/src/main/resources/fxml/unlock2.fxml => main/ui/src/main/resources/fxml/unlock2.fxml +22 -21
@@ 5,36 5,37 @@
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.ProgressIndicator?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.VBox?>
<?import org.cryptomator.ui.controls.FormattedLabel?>
<?import org.cryptomator.ui.controls.SecPasswordField?>
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.unlock.UnlockController"
	  minWidth="450"
	  maxWidth="450"
	  minHeight="150"
	  spacing="6">
	  minWidth="400"
	  maxWidth="400"
	  minHeight="144"
	  spacing="12">
	<padding>
		<Insets bottom="12.0" left="12.0" right="12.0" top="12.0"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<FormattedLabel format="%unlock.passwordPrompt" arg1="${controller.vault.displayableName}" wrapText="true"/>
		<SecPasswordField fx:id="passwordField"/>
		<CheckBox fx:id="savePassword" text="%unlock.savePassword" onAction="#didClickSavePasswordCheckbox"/>
		<VBox spacing="6">
			<FormattedLabel format="%unlock.passwordPrompt" arg1="${controller.vault.displayableName}" wrapText="true"/>
			<SecPasswordField fx:id="passwordField"/>
			<CheckBox fx:id="savePassword" text="%unlock.savePassword" onAction="#didClickSavePasswordCheckbox"/>
		</VBox>

		<Region VBox.vgrow="ALWAYS"/>

		<ButtonBar buttonMinWidth="120" buttonOrder="+CI">
			<buttons>
				<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#cancel"/>
				<Button text="%unlock.unlockBtn" ButtonBar.buttonData="FINISH" defaultButton="true" onAction="#unlock" contentDisplay="${controller.unlockButtonState}" disable="${controller.unlockButtonDisabled}">
					<graphic>
						<ProgressIndicator progress="-1" prefWidth="12" prefHeight="12"/>
					</graphic>
				</Button>
			</buttons>
		</ButtonBar>
		<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
			<ButtonBar buttonMinWidth="120" buttonOrder="+CI">
				<buttons>
					<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#cancel"/>
					<Button text="%unlock.unlockBtn" ButtonBar.buttonData="FINISH" defaultButton="true" onAction="#unlock" contentDisplay="${controller.unlockButtonState}" disable="${controller.unlockButtonDisabled}">
						<graphic>
							<ProgressIndicator progress="-1" prefWidth="12" prefHeight="12"/>
						</graphic>
					</Button>
				</buttons>
			</ButtonBar>
		</VBox>
	</children>
</VBox>

M main/ui/src/main/resources/fxml/unlock_success.fxml => main/ui/src/main/resources/fxml/unlock_success.fxml +17 -22
@@ 5,7 5,6 @@
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.ProgressIndicator?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Circle?>


@@ 14,37 13,33 @@
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.unlock.UnlockSuccessController"
	  minWidth="450"
	  maxWidth="450"
	  minHeight="150"
	  minWidth="400"
	  maxWidth="400"
	  minHeight="144"
	  spacing="12">
	<padding>
		<Insets bottom="12.0" left="12.0" right="12.0" top="24.0"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<HBox spacing="24">
		<HBox spacing="12" alignment="CENTER_LEFT" VBox.vgrow="ALWAYS">
			<StackPane alignment="CENTER" HBox.hgrow="NEVER">
				<VBox.margin>
					<Insets topRightBottomLeft="12"/>
				</VBox.margin>
				<Circle styleClass="glyph-icon-primary" radius="24"/>
				<FontAwesome5IconView styleClass="glyph-icon-white" glyph="CHECK" glyphSize="24"/>
			</StackPane>

			<FormattedLabel format="%unlock.success.message" arg1="${controller.vault.displayableName}" wrapText="true" HBox.hgrow="ALWAYS"/>
		</HBox>

		<Region VBox.vgrow="ALWAYS"/>

		<ButtonBar buttonMinWidth="120" buttonOrder="+CI">
			<buttons>
				<Button text="%generic.button.done" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#close"/>
				<Button text="%unlock.success.reveal" ButtonBar.buttonData="FINISH" defaultButton="true" onAction="#revealAndClose" contentDisplay="${controller.revealButtonState}">
					<graphic>
						<ProgressIndicator progress="-1" prefWidth="12" prefHeight="12"/>
					</graphic>
				</Button>
			</buttons>
		</ButtonBar>
		<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
			<ButtonBar buttonMinWidth="120" buttonOrder="+CI">
				<buttons>
					<Button text="%generic.button.done" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#close"/>
					<Button text="%unlock.success.revealBtn" ButtonBar.buttonData="FINISH" defaultButton="true" onAction="#revealAndClose" contentDisplay="${controller.revealButtonState}">
						<graphic>
							<ProgressIndicator progress="-1" prefWidth="12" prefHeight="12"/>
						</graphic>
					</Button>
				</buttons>
			</ButtonBar>
		</VBox>
	</children>
</VBox>

M main/ui/src/main/resources/fxml/vault_detail.fxml => main/ui/src/main/resources/fxml/vault_detail.fxml +2 -2
@@ 52,7 52,7 @@

		<Region prefHeight="12" VBox.vgrow="NEVER"/>

		<VBox alignment="CENTER" spacing="12" visible="${controller.vault.locked}" managed="${controller.vault.locked}">
		<VBox alignment="CENTER" spacing="9" visible="${controller.vault.locked}" managed="${controller.vault.locked}">
			<Button styleClass="button-large" text="%main.vaultDetail.unlockBtn" minWidth="120" onAction="#unlock" defaultButton="${controller.vault.locked}">
				<graphic>
					<FontAwesome5IconView glyph="KEY" glyphSize="15"/>


@@ 64,7 64,7 @@
				</graphic>
			</Hyperlink>
		</VBox>
		<VBox alignment="CENTER" spacing="12" visible="${controller.vault.unlocked}" managed="${controller.vault.unlocked}">
		<VBox alignment="CENTER" spacing="9" visible="${controller.vault.unlocked}" managed="${controller.vault.unlocked}">
			<VBox alignment="CENTER" spacing="6">
				<Label styleClass="label-secondary" text="%main.vaultDetail.accessLocation"/>
				<Label text="${controller.vault.accessPoint}"/>

M main/ui/src/main/resources/fxml/vault_list.fxml => main/ui/src/main/resources/fxml/vault_list.fxml +2 -2
@@ 17,10 17,10 @@
	<StackPane VBox.vgrow="ALWAYS">
		<ListView fx:id="vaultList" editable="true"/>
		<AnchorPane fx:id="onboardingOverlay">
			<HBox AnchorPane.leftAnchor="10.0" AnchorPane.rightAnchor="10.0" AnchorPane.bottomAnchor="100.0" alignment="BOTTOM_LEFT">
			<HBox AnchorPane.leftAnchor="10" AnchorPane.rightAnchor="10" AnchorPane.bottomAnchor="100" alignment="BOTTOM_LEFT">
				<Label textAlignment="CENTER" text="%main.vaultlist.emptyList.onboardingInstruction" wrapText="true"/>
			</HBox>
			<Arc styleClass="onboarding-overlay-arc" AnchorPane.bottomAnchor="5.0" type="OPEN" centerX="-10.0" centerY="0.0" radiusY="100.0" radiusX="60.0" startAngle="0" length="-60.0" strokeWidth="1"/>
			<Arc styleClass="onboarding-overlay-arc" AnchorPane.bottomAnchor="5" type="OPEN" centerX="-10" centerY="0" radiusY="100" radiusX="60" startAngle="0" length="-60" strokeWidth="1"/>
		</AnchorPane>
	</StackPane>
	<HBox styleClass="toolbar-container" VBox.vgrow="NEVER" alignment="CENTER_LEFT">

M main/ui/src/main/resources/fxml/vault_list_cell.fxml => main/ui/src/main/resources/fxml/vault_list_cell.fxml +4 -4
@@ 8,15 8,15 @@
<HBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.mainwindow.VaultListCellController"
	  prefHeight="60.0"
	  prefWidth="200.0"
	  prefHeight="60"
	  prefWidth="200"
	  spacing="12"
	  alignment="CENTER_LEFT">
	<padding>
		<Insets top="12" right="6" bottom="12" left="12"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<VBox alignment="CENTER" minWidth="20.0">
		<VBox alignment="CENTER" minWidth="20">
			<FontAwesome5IconView glyph="${controller.glyph}" HBox.hgrow="NEVER" glyphSize="16"/>
		</VBox>
		<VBox spacing="4" HBox.hgrow="ALWAYS">

M main/ui/src/main/resources/fxml/vault_options_general.fxml => main/ui/src/main/resources/fxml/vault_options_general.fxml +1 -1
@@ 8,7 8,7 @@
	  fx:controller="org.cryptomator.ui.vaultoptions.GeneralVaultOptionsController"
	  spacing="6">
	<padding>
		<Insets bottom="12" left="12" right="12" top="12"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<Button text="%vaultOptions.general.changePasswordBtn" onAction="#changePassword"/>

M main/ui/src/main/resources/fxml/vault_options_mount.fxml => main/ui/src/main/resources/fxml/vault_options_mount.fxml +11 -6
@@ 1,30 1,35 @@
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.geometry.Insets?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.control.CheckBox?>
<?import org.cryptomator.ui.controls.AlphanumericTextField?>
<VBox xmlns="http://javafx.com/javafx"
	  xmlns:fx="http://javafx.com/fxml"
	  fx:controller="org.cryptomator.ui.vaultoptions.MountOptionsController"
	  spacing="6">
	<padding>
		<Insets bottom="12" left="12" right="12" top="12"/>
		<Insets topRightBottomLeft="12"/>
	</padding>
	<children>
		<HBox spacing="6" alignment="BASELINE_LEFT">
		<HBox spacing="6" alignment="CENTER_LEFT">
			<Label text="%vaultOptions.mount.driveName"/>
			<AlphanumericTextField fx:id="driveName"/>
		</HBox>

		<CheckBox fx:id="readOnlyCheckbox" text="%vaultOptions.mount.readonly"/>

		<HBox spacing="6" alignment="BASELINE_LEFT">
			<CheckBox fx:id="customMountFlagsCheckbox" text="%vaultOptions.mount.customMountFlags" onAction="#toggleUseCustomMountFlags"/>
			<TextField fx:id="mountFlags" HBox.hgrow="ALWAYS" maxWidth="Infinity"/>
		<CheckBox fx:id="customMountFlagsCheckbox" text="%vaultOptions.mount.customMountFlags" onAction="#toggleUseCustomMountFlags"/>
		<HBox>
			<padding>
				<Insets left="25"/>
			</padding>
			<children>
				<TextField fx:id="mountFlags" HBox.hgrow="ALWAYS" maxWidth="Infinity"/>
			</children>
		</HBox>
	</children>
</VBox>

M main/ui/src/main/resources/i18n/strings.properties => main/ui/src/main/resources/i18n/strings.properties +3 -3
@@ 4,8 4,6 @@ generic.button.apply=Apply
generic.button.back=Back
generic.button.cancel=Cancel
generic.button.change=Change
generic.button.confirm=Confirm
generic.button.create=Create
generic.button.done=Done
generic.button.next=Next



@@ 38,6 36,7 @@ addvaultwizard.new.reenterPassword=Confirm the password
addvaultwizard.new.passwordsMatch=Passwords match!
addvaultwizard.new.passwordsDoNotMatch=Passwords do not match
addvaultwizard.new.finalConfirmation=I understand that I will not be able to recover my data if I forget my password
addvaultwizard.new.createVaultBtn=Create Vault
addvault.new.readme.storageLocation.fileName=WHAT IS THIS DIRECTORY.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️  VAULT FILES  ⚠️
addvault.new.readme.storageLocation.2=This is your vault's storage location. {\\b DO NOT} alter any files within this directory.


@@ 58,6 57,7 @@ addvaultwizard.success.unlockNow=Unlock Now
# Remove Vault
removeVault.title=Remove Vault
removeVault.information=This will only make Cryptomator forget about this vault. You can add it again later. No encrypted files will be deleted from your hard drive.
removeVault.confirmBtn=Remove Vault

# Change Password
changepassword.title=Change Password


@@ 75,7 75,7 @@ unlock.savePassword=Save Password
unlock.unlockBtn=Unlock
## Success
unlock.success.message=Unlocked "%s" successfully! Your vault is now accessible.
unlock.success.reveal=Reveal
unlock.success.revealBtn=Reveal Vault Drive
## Delete Saved Password Dialog
unlock.deleteSavedPasswordDialog.title=Delete Saved Password
unlock.deleteSavedPasswordDialog.header=Do you really want to delete the saved password of this vault?

M main/ui/src/main/resources/i18n/strings_de.properties => main/ui/src/main/resources/i18n/strings_de.properties +3 -3
@@ 4,8 4,6 @@ generic.button.apply=Übernehmen
generic.button.back=Zurück
generic.button.cancel=Abbrechen
generic.button.change=Ändern
generic.button.confirm=Bestätigen
generic.button.create=Erstellen
generic.button.done=Fertig
generic.button.next=Weiter



@@ 38,6 36,7 @@ addvaultwizard.new.reenterPassword=Bestätige das Passwort
addvaultwizard.new.passwordsMatch=Passwörter stimmen überein!
addvaultwizard.new.passwordsDoNotMatch=Passwörter stimmen nicht überein
addvaultwizard.new.finalConfirmation=Mir ist bewusst, dass ich den Tresor ohne das Passwort NICHT mehr öffnen kann.
addvaultwizard.new.createVaultBtn=Tresor erstellen
addvault.new.readme.storageLocation.fileName=WAS BEDEUTET DIESER ORDNER.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️  TRESORDATEIEN  ⚠️
addvault.new.readme.storageLocation.2=Dies ist der Speicherort deines Tresor. Ändere {\\b KEINE} Dateien in diesem Verzeichnis.


@@ 58,6 57,7 @@ addvaultwizard.success.unlockNow=Jetzt entsperren
# Remove Vault
removeVault.title=Tresor entfernen
removeVault.information=Dein Tresor wird nicht gelöscht, er wird lediglich aus der Liste entfernt. Falls du dich später umentscheidest, kannst du ihn später einfach wieder hinzufügen.
removeVault.confirmBtn=Tresor entfernen

# Change Password
changepassword.title=Password ändern


@@ 75,7 75,7 @@ unlock.savePassword=Passwort speichern
unlock.unlockBtn=Entsperren
## Success
unlock.success.message="%s" erfolgreich ensperrt!
unlock.success.reveal=Anzeigen
unlock.success.revealBtn=Tresorlaufwerk anzeigen
## Delete Saved Password Dialog
unlock.deleteSavedPasswordDialog.title=Gespeichertes Passwort vergessen
unlock.deleteSavedPasswordDialog.header=Soll das Passwort wirklich vergessen werden?