disable password tab when masterkey.file is missing

This commit is contained in:
Jan-Peter Klein
2026-01-27 17:42:04 +01:00
parent 9ee81a0e35
commit 2a5bce2c5c
3 changed files with 59 additions and 4 deletions
@@ -3,9 +3,15 @@
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Hyperlink?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Tooltip?>
<?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 javafx.scene.Group?>
<VBox xmlns:fx="http://javafx.com/fxml"
xmlns="http://javafx.com/javafx"
fx:controller="org.cryptomator.ui.vaultoptions.MasterkeyOptionsController"
@@ -15,7 +21,29 @@
<Insets topRightBottomLeft="12"/>
</padding>
<children>
<VBox spacing="6" alignment="CENTER">
<HBox spacing="12" visible="${!controller.masterkeyFileAvailable}" managed="${!controller.masterkeyFileAvailable}">
<padding>
<Insets bottom="12"/>
</padding>
<Group>
<StackPane>
<Circle styleClass="glyph-icon-primary" radius="18"/>
<FontAwesome5IconView styleClass="glyph-icon-white" glyph="INFO" glyphSize="18"/>
</StackPane>
</Group>
<HBox spacing="6" HBox.hgrow="ALWAYS">
<Label text="%vaultOptions.masterkey.missingMasterkeyFile" wrapText="true" HBox.hgrow="ALWAYS"/>
<Hyperlink contentDisplay="GRAPHIC_ONLY" onAction="#openDocs" accessibleText="%vaultOptions.masterkey.docsTooltip">
<graphic>
<FontAwesome5IconView glyph="QUESTION_CIRCLE" styleClass="glyph-icon-muted"/>
</graphic>
<tooltip>
<Tooltip text="%vaultOptions.masterkey.docsTooltip" showDelay="100ms"/>
</tooltip>
</Hyperlink>
</HBox>
</HBox>
<VBox spacing="6" alignment="CENTER" disable="${!controller.masterkeyFileAvailable}">
<Button text="%vaultOptions.masterkey.changePasswordBtn" onAction="#changePassword" contentDisplay="LEFT" maxWidth="Infinity">
<graphic>
<FontAwesome5IconView glyph="KEY"/>
@@ -29,8 +57,8 @@
</Button>
</VBox>
<Region VBox.vgrow="ALWAYS"/>
<Label maxWidth="-Infinity" text="%vaultOptions.masterkey.recoveryKeyExplanation" wrapText="true"/>
<VBox spacing="6" alignment="CENTER">
<Label maxWidth="-Infinity" text="%vaultOptions.masterkey.recoveryKeyExplanation" wrapText="true" disable="${!controller.masterkeyFileAvailable}"/>
<VBox spacing="6" alignment="CENTER" disable="${!controller.masterkeyFileAvailable}">
<Button text="%vaultOptions.masterkey.showRecoveryKeyBtn" onAction="#showRecoveryKey" contentDisplay="LEFT" maxWidth="Infinity">
<graphic>
<FontAwesome5IconView glyph="EYE"/>