mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-07-28 19:12:38 +00:00
Merge pull request #3289 from cryptomator/feature/share-vault
Feature: Introduce 'Share Vault' Functionality
This commit is contained in:
@@ -936,3 +936,16 @@
|
||||
-fx-padding: 0.5px;
|
||||
-fx-background-color: CONTROL_BORDER_NORMAL;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* *
|
||||
* Ad box *
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
.ad-box {
|
||||
-fx-padding: 12px;
|
||||
-fx-background-color: CONTROL_BORDER_NORMAL, CONTROL_BG_NORMAL;
|
||||
-fx-background-insets: 0, 1px;
|
||||
-fx-background-radius: 4px;
|
||||
}
|
||||
@@ -935,3 +935,16 @@
|
||||
-fx-padding: 0.5px;
|
||||
-fx-background-color: CONTROL_BORDER_NORMAL;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* *
|
||||
* Ad box *
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
.ad-box {
|
||||
-fx-padding: 12px;
|
||||
-fx-background-color: CONTROL_BORDER_NORMAL, CONTROL_BG_NORMAL;
|
||||
-fx-background-insets: 0, 1px;
|
||||
-fx-background-radius: 4px;
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ButtonBar?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.layout.Region?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.StackPane?>
|
||||
<?import javafx.scene.shape.Circle?>
|
||||
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
|
||||
<?import javafx.scene.image.ImageView?>
|
||||
<?import javafx.scene.image.Image?>
|
||||
<?import javafx.scene.control.Hyperlink?>
|
||||
<?import javafx.scene.control.Tooltip?>
|
||||
<?import javafx.scene.Group?>
|
||||
<HBox xmlns:fx="http://javafx.com/fxml"
|
||||
xmlns="http://javafx.com/javafx"
|
||||
fx:controller="org.cryptomator.ui.sharevault.ShareVaultController"
|
||||
prefWidth="540"
|
||||
spacing="12">
|
||||
<padding>
|
||||
<Insets topRightBottomLeft="12"/>
|
||||
</padding>
|
||||
<Group>
|
||||
<StackPane>
|
||||
<padding>
|
||||
<Insets topRightBottomLeft="6"/>
|
||||
</padding>
|
||||
<Circle styleClass="glyph-icon-primary" radius="24"/>
|
||||
<FontAwesome5IconView styleClass="glyph-icon-white" glyph="INFO" glyphSize="24"/>
|
||||
</StackPane>
|
||||
</Group>
|
||||
<VBox>
|
||||
<VBox HBox.hgrow="ALWAYS" visible="${controller.hubVault}" managed="${controller.hubVault}">
|
||||
<Label text="%shareVault.hub.message" styleClass="label-large" wrapText="true">
|
||||
<padding>
|
||||
<Insets bottom="6" top="6"/>
|
||||
</padding>
|
||||
</Label>
|
||||
<Label text="%shareVault.hub.description" wrapText="true"/>
|
||||
<VBox>
|
||||
<padding>
|
||||
<Insets left="6"/>
|
||||
</padding>
|
||||
<Label text="%shareVault.hub.instruction.1" wrapText="true"/>
|
||||
<Label text="%shareVault.hub.instruction.2" wrapText="true"/>
|
||||
</VBox>
|
||||
</VBox>
|
||||
<VBox HBox.hgrow="ALWAYS" visible="${!controller.hubVault}" managed="${!controller.hubVault}">
|
||||
<Label text="%shareVault.message" styleClass="label-large" wrapText="true">
|
||||
<padding>
|
||||
<Insets bottom="6" top="6"/>
|
||||
</padding>
|
||||
</Label>
|
||||
<Label text="%shareVault.description" wrapText="true"/>
|
||||
<VBox>
|
||||
<padding>
|
||||
<Insets left="6"/>
|
||||
</padding>
|
||||
<Label text="%shareVault.instruction.1" wrapText="true"/>
|
||||
<Label text="%shareVault.instruction.2" wrapText="true"/>
|
||||
</VBox>
|
||||
<Region minHeight="6"/>
|
||||
<HBox spacing="6">
|
||||
<Hyperlink contentDisplay="GRAPHIC_ONLY" onAction="#visitBestPractices">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="QUESTION_CIRCLE" styleClass="glyph-icon-muted"/>
|
||||
</graphic>
|
||||
<tooltip>
|
||||
<Tooltip text="%shareVault.docsTooltip" showDelay="100ms"/>
|
||||
</tooltip>
|
||||
</Hyperlink>
|
||||
<Label text="%shareVault.remarkBestPractices" wrapText="true"/>
|
||||
</HBox>
|
||||
<Region minHeight="12"/>
|
||||
<HBox alignment="CENTER_LEFT" spacing="6" styleClass="ad-box">
|
||||
<VBox spacing="6" alignment="CENTER_LEFT">
|
||||
<ImageView HBox.hgrow="ALWAYS" fitWidth="180" preserveRatio="true" cache="true">
|
||||
<Image url="@../img/hub_logo.png"/>
|
||||
</ImageView>
|
||||
<Label text="%shareVault.hubAd.description" style="-fx-font-weight: bold;" wrapText="true"/>
|
||||
<VBox spacing="6" alignment="CENTER_LEFT">
|
||||
<padding>
|
||||
<Insets left="6"/>
|
||||
</padding>
|
||||
<Label text="%shareVault.hubAd.keyManagement" wrapText="true"/>
|
||||
<Label text="%shareVault.hubAd.authentication" wrapText="true"/>
|
||||
<Label text="%shareVault.hubAd.encryption" wrapText="true"/>
|
||||
</VBox>
|
||||
</VBox>
|
||||
<Region HBox.hgrow="ALWAYS"/>
|
||||
<ImageView HBox.hgrow="ALWAYS" fitWidth="180" preserveRatio="true" cache="true">
|
||||
<Image url="@../img/group-magic.png"/>
|
||||
</ImageView>
|
||||
</HBox>
|
||||
</VBox>
|
||||
<Region VBox.vgrow="ALWAYS" minHeight="18"/>
|
||||
<ButtonBar buttonMinWidth="120" buttonOrder="+CX">
|
||||
<buttons>
|
||||
<Button text="%generic.button.close" ButtonBar.buttonData="CANCEL_CLOSE" onAction="#close"/>
|
||||
<Button text="%shareVault.hub.openHub" ButtonBar.buttonData="NEXT_FORWARD" defaultButton="true" onAction="#openHub" visible="${controller.hubVault}" managed="${controller.hubVault}"/>
|
||||
<Button text="%shareVault.visitHub" ButtonBar.buttonData="NEXT_FORWARD" defaultButton="true" onAction="#visitHub" visible="${!controller.hubVault}" managed="${!controller.hubVault}"/>
|
||||
</buttons>
|
||||
</ButtonBar>
|
||||
</VBox>
|
||||
</HBox>
|
||||
@@ -24,14 +24,17 @@
|
||||
<FontAwesome5IconView glyph="KEY" glyphSize="15"/>
|
||||
</graphic>
|
||||
</Button>
|
||||
<Hyperlink text="%main.vaultDetail.passwordSavedInKeychain" visible="${controller.passwordSaved}" onAction="#showKeyVaultOptions">
|
||||
<Hyperlink text="%main.vaultDetail.passwordSavedInKeychain" visible="${controller.passwordSaved}" managed="${controller.passwordSaved}" onAction="#showKeyVaultOptions">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="LOCK"/>
|
||||
</graphic>
|
||||
</Hyperlink>
|
||||
|
||||
<Button text="%main.vaultDetail.share" minWidth="120" onAction="#share">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="SHARE" glyphSize="15"/>
|
||||
</graphic>
|
||||
</Button>
|
||||
<Region VBox.vgrow="ALWAYS"/>
|
||||
|
||||
<HBox alignment="BOTTOM_RIGHT">
|
||||
<Button text="%main.vaultDetail.optionsBtn" minWidth="120" onAction="#showVaultOptions">
|
||||
<graphic>
|
||||
|
||||
@@ -393,6 +393,7 @@ main.vaultDetail.unlockBtn=Unlock…
|
||||
main.vaultDetail.unlockNowBtn=Unlock Now
|
||||
main.vaultDetail.optionsBtn=Vault Options
|
||||
main.vaultDetail.passwordSavedInKeychain=Password saved
|
||||
main.vaultDetail.share=Share…
|
||||
### Unlocked
|
||||
main.vaultDetail.unlockedStatus=UNLOCKED
|
||||
main.vaultDetail.accessLocation=Your vault's contents are accessible here:
|
||||
@@ -530,4 +531,24 @@ updateReminder.message=Check for Updates?
|
||||
updateReminder.description=Stay updated with new features, bug fixes, and security improvements. We recommend to automatically check for updates.
|
||||
updateReminder.notNow=Not Now
|
||||
updateReminder.yesOnce=Yes, Once
|
||||
updateReminder.yesAutomatically=Yes, Automatically
|
||||
updateReminder.yesAutomatically=Yes, Automatically
|
||||
|
||||
# Share Vault
|
||||
shareVault.title=Share Vault
|
||||
shareVault.message=Would you like to share your vault with others?
|
||||
shareVault.description=Always be careful when sharing your vault with other people. In short, follow these steps:
|
||||
shareVault.instruction.1=1. Share access of the encrypted vault folder via cloud storage.
|
||||
shareVault.instruction.2=2. Share the vault password in a secure way.
|
||||
shareVault.remarkBestPractices=For more information, check out the best practices suggestions in our docs.
|
||||
shareVault.docsTooltip=Open the documentation to learn more about sharing of vaults.
|
||||
shareVault.hubAd.description=The secure way to work in teams
|
||||
shareVault.hubAd.keyManagement=• Zero-knowledge key management
|
||||
shareVault.hubAd.authentication=• Strong authentication
|
||||
shareVault.hubAd.encryption=• End-to-end encryption
|
||||
shareVault.visitHub=Visit Cryptomator Hub
|
||||
|
||||
shareVault.hub.message=How to share a Hub vault
|
||||
shareVault.hub.description=In order to share the vault content with another team member, you have to perform two steps:
|
||||
shareVault.hub.instruction.1=1. Share access of the encrypted vault folder via cloud storage.
|
||||
shareVault.hub.instruction.2=2. Grant access to team member in Cryptomator Hub.
|
||||
shareVault.hub.openHub=Open Cryptomator Hub
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Reference in New Issue
Block a user