diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/UpgradeController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/UpgradeController.java index 729f3fdf9..a34e2aeb6 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controllers/UpgradeController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/UpgradeController.java @@ -15,11 +15,13 @@ import org.cryptomator.ui.settings.Localization; import org.cryptomator.ui.util.AsyncTaskService; import org.fxmisc.easybind.EasyBind; +import javafx.beans.binding.BooleanExpression; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.Button; +import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.control.ProgressIndicator; @@ -44,6 +46,9 @@ public class UpgradeController extends LocalizedFXMLViewController { @FXML private SecPasswordField passwordField; + @FXML + private CheckBox confirmationCheckbox; + @FXML private Button upgradeButton; @@ -59,7 +64,9 @@ public class UpgradeController extends LocalizedFXMLViewController { return instruction.map(this::upgradeNotification).orElse(""); }).orElse("")); - upgradeButton.disableProperty().bind(passwordField.textProperty().isEmpty().or(passwordField.disabledProperty())); + BooleanExpression passwordProvided = passwordField.textProperty().isNotEmpty().and(passwordField.disabledProperty().not()); + BooleanExpression syncFinished = confirmationCheckbox.selectedProperty(); + upgradeButton.disableProperty().bind(passwordProvided.not().or(syncFinished.not())); EasyBind.subscribe(vault, this::vaultDidChange); } diff --git a/main/ui/src/main/resources/css/linux_theme.css b/main/ui/src/main/resources/css/linux_theme.css index 38f453feb..f3b2f3576 100644 --- a/main/ui/src/main/resources/css/linux_theme.css +++ b/main/ui/src/main/resources/css/linux_theme.css @@ -305,17 +305,17 @@ ****************************************************************************/ .check-box { - -fx-label-padding: 0 0 0 3; + -fx-label-padding: 0 0 0 6px; -fx-text-fill: COLOR_TEXT; } .check-box > .box { - -fx-padding: 3; + -fx-padding: 3px; -fx-background-color: COLOR_BORDER_DARK, #FFF; -fx-background-insets: 0, 1; } .check-box > .box > .mark { -fx-background-color: transparent; - -fx-padding: 4; + -fx-padding: 4px; -fx-shape: "M-1,4, L-1,5.5 L3.5,8.5 L9,0 L9,-1 L7,-1 L3,6 L1,4 Z"; } .check-box:selected > .box { diff --git a/main/ui/src/main/resources/css/mac_theme.css b/main/ui/src/main/resources/css/mac_theme.css index bb5fa2053..ffd4b637e 100644 --- a/main/ui/src/main/resources/css/mac_theme.css +++ b/main/ui/src/main/resources/css/mac_theme.css @@ -386,7 +386,7 @@ ******************************************************************************/ .check-box { - -fx-label-padding: 0 0 0 3px; + -fx-label-padding: 0 0 0 6px; -fx-text-fill: COLOR_TEXT; } .check-box > .box { diff --git a/main/ui/src/main/resources/css/win_theme.css b/main/ui/src/main/resources/css/win_theme.css index 72fa8cb53..0c0c29c84 100644 --- a/main/ui/src/main/resources/css/win_theme.css +++ b/main/ui/src/main/resources/css/win_theme.css @@ -354,7 +354,7 @@ ******************************************************************************/ .check-box { - -fx-label-padding: 0 0 0 3px; + -fx-label-padding: 0 0 0 6px; -fx-text-fill: COLOR_TEXT; } .check-box > .box { diff --git a/main/ui/src/main/resources/fxml/upgrade.fxml b/main/ui/src/main/resources/fxml/upgrade.fxml index 5d54014a3..24fc99d0a 100644 --- a/main/ui/src/main/resources/fxml/upgrade.fxml +++ b/main/ui/src/main/resources/fxml/upgrade.fxml @@ -17,6 +17,8 @@ + + @@ -34,15 +36,17 @@ -