Browse Source

hide/disable interactive elements when vault is processing

Tobias Hagemann 5 years ago
parent
commit
1702c6a243

+ 1 - 1
main/ui/src/main/resources/css/dark_theme.css

@@ -854,7 +854,7 @@
 .progress-bar > .bar {
 	-fx-background-color: CONTROL_PRIMARY_BG_NORMAL;
 	-fx-background-radius: 4px;
-	-fx-padding: 0.5em;
+	-fx-padding: 1em 0.5em;
 }
 
 .progress-bar:indeterminate > .bar {

+ 1 - 1
main/ui/src/main/resources/css/light_theme.css

@@ -853,7 +853,7 @@
 .progress-bar > .bar {
 	-fx-background-color: CONTROL_PRIMARY_BG_NORMAL;
 	-fx-background-radius: 4px;
-	-fx-padding: 0.5em;
+	-fx-padding: 1em 0.5em;
 }
 
 .progress-bar:indeterminate > .bar {

+ 7 - 3
main/ui/src/main/resources/fxml/migration_run.fxml

@@ -3,6 +3,7 @@
 <?import javafx.geometry.Insets?>
 <?import javafx.scene.control.Button?>
 <?import javafx.scene.control.ButtonBar?>
+<?import javafx.scene.control.Label?>
 <?import javafx.scene.control.ProgressBar?>
 <?import javafx.scene.control.ProgressIndicator?>
 <?import javafx.scene.layout.VBox?>
@@ -19,17 +20,20 @@
 		<Insets topRightBottomLeft="12"/>
 	</padding>
 	<children>
-		<VBox spacing="6">
+		<VBox spacing="6" visible="${!controller.vault.processing}" managed="${!controller.vault.processing}">
 			<FormattedLabel format="%migration.run.enterPassword" arg1="${controller.vault.displayableName}" wrapText="true"/>
 			<NiceSecurePasswordField fx:id="passwordField"/>
 		</VBox>
 
-		<ProgressBar progress="${controller.migrationProgress}" prefWidth="Infinity" visible="${controller.vault.processing}"/>
+		<VBox spacing="6" visible="${controller.vault.processing}" managed="${controller.vault.processing}">
+			<Label text="%migration.run.progressHint" wrapText="true"/>
+			<ProgressBar progress="${controller.migrationProgress}" prefWidth="Infinity"/>
+		</VBox>
 
 		<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
 			<ButtonBar buttonMinWidth="120" buttonOrder="B+X">
 				<buttons>
-					<Button text="%generic.button.back" ButtonBar.buttonData="BACK_PREVIOUS" cancelButton="true" onAction="#back"/>
+					<Button text="%generic.button.back" ButtonBar.buttonData="BACK_PREVIOUS" cancelButton="true" onAction="#back" disable="${controller.vault.processing}"/>
 					<Button text="%migration.run.startMigrationBtn" ButtonBar.buttonData="NEXT_FORWARD" defaultButton="true" onAction="#migrate" contentDisplay="${controller.migrateButtonContentDisplay}"
 							disable="${controller.migrationButtonDisabled}">
 						<graphic>

+ 2 - 2
main/ui/src/main/resources/fxml/unlock.fxml

@@ -22,13 +22,13 @@
 		<VBox spacing="6">
 			<FormattedLabel format="%unlock.passwordPrompt" arg1="${controller.vault.displayableName}" wrapText="true"/>
 			<NiceSecurePasswordField fx:id="passwordField"/>
-			<CheckBox fx:id="savePassword" text="%unlock.savePassword" onAction="#didClickSavePasswordCheckbox"/>
+			<CheckBox fx:id="savePassword" text="%unlock.savePassword" onAction="#didClickSavePasswordCheckbox" disable="${controller.vault.processing}"/>
 		</VBox>
 
 		<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="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#cancel" disable="${controller.vault.processing}"/>
 					<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"/>

+ 1 - 0
main/ui/src/main/resources/i18n/strings.properties

@@ -108,6 +108,7 @@ migration.start.confirm=Yes, my vault is fully synced
 ## Run
 migration.run.enterPassword=Enter the password for "%s"
 migration.run.startMigrationBtn=Migrate Vault
+migration.run.progressHint=This might take some time…
 ## Sucess
 migration.success.nextStepsInstructions=Migrated "%s" successfully.\nYou can now unlock your vault.
 migration.success.unlockNow=Unlock Now