Merge branch 'develop' into feature/hub-vault-archived-dialog

This commit is contained in:
Jan-Peter Klein
2026-01-05 11:28:08 +01:00
60 changed files with 1048 additions and 302 deletions
+34
View File
@@ -113,6 +113,11 @@
-fx-font-size: 1.2em;
}
.label-window-title {
-fx-font-family: 'Open Sans SemiBold';
-fx-font-size: 1.0em;
}
.label-small {
-fx-font-size: 0.8em;
}
@@ -1186,3 +1191,32 @@
-fx-background-color: MAIN_BG;
-fx-font-size: 1.166667em; /* 14pt - 2 more than the default font */
}
/*******************************************************************************
* *
* Notification Window
* *
******************************************************************************/
.notification-window {
-fx-background-color: MAIN_BG;
-fx-background-radius: 8px;
-fx-border-radius: 8px;
-fx-background-insets: 0;
-fx-border-color: MUTED_BG;
-fx-border-width: 1px;
-fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.2), 28, 0.35, 0, 6);
}
.notification-window .dialog-header {
-fx-alignment: center-left;
}
.notification-window .window-bar-button {
-fx-background-color: transparent;
-fx-border-color: transparent;
-fx-padding: 6 8 6 8;
}
.notification-window .window-bar-button:armed {
-fx-background-color: CONTROL_BG_ARMED;
-fx-background-radius: 8;
}
+35
View File
@@ -113,6 +113,11 @@
-fx-font-size: 1.2em;
}
.label-window-title {
-fx-font-family: 'Open Sans SemiBold';
-fx-font-size: 1.0em;
}
.label-small {
-fx-font-size: 0.8em;
}
@@ -1186,3 +1191,33 @@
-fx-background-color: MAIN_BG;
-fx-font-size: 1.166667em; /* 14pt - 2 more than the default font */
}
/*******************************************************************************
* *
* Notification Window
* *
******************************************************************************/
.notification-window {
-fx-background-color: MAIN_BG;
-fx-background-radius: 8px;
-fx-border-radius: 8px;
-fx-background-insets: 0;
-fx-border-color: MUTED_BG;
-fx-border-width: 1px;
-fx-effect: dropshadow(gaussian, rgba(0, 0, 0, 0.2), 28, 0.35, 0, 6);
}
.notification-window .dialog-header {
-fx-alignment: center-left;
}
.notification-window .window-bar-button {
-fx-background-color: transparent;
-fx-border-color: transparent;
-fx-padding: 6 8 6 8;
}
.notification-window .window-bar-button:armed {
-fx-background-color: CONTROL_BG_ARMED;
-fx-background-radius: 8;
}
+75
View File
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Separator?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.control.ScrollPane?>
<BorderPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="org.cryptomator.ui.notification.NotificationController"
prefHeight="200.0" prefWidth="400.0" maxHeight="200.0" maxWidth="400.0"
styleClass="notification-window">
<padding>
<Insets top="12" right="12" bottom="12" left="12"/>
</padding>
<top>
<VBox >
<HBox spacing="6" styleClass="dialog-header" alignment="CENTER_LEFT">
<ImageView fitHeight="12" preserveRatio="true" cache="true">
<Image url="@../img/logo64.png"/>
</ImageView>
<Label text="Cryptomator" styleClass="label-window-title"/>
<Region HBox.hgrow="ALWAYS"/>
<HBox styleClass="dialog-header" alignment="CENTER_LEFT" visible="${!controller.singleEvent}">
<Button contentDisplay="GRAPHIC_ONLY" styleClass="window-bar-button" onAction="#previousNotification" accessibleText="%generic.button.previous">
<graphic>
<FontAwesome5IconView glyph="CHEVRON_LEFT" glyphSize="12"/>
</graphic>
</Button>
<Label text="${controller.paging}" styleClass="label-window-title"/>
<Button contentDisplay="GRAPHIC_ONLY" styleClass="window-bar-button" onAction="#nextNotification" accessibleText="%generic.button.next">
<graphic>
<FontAwesome5IconView glyph="CHEVRON_RIGHT" glyphSize="12"/>
</graphic>
</Button>
</HBox>
<Button contentDisplay="GRAPHIC_ONLY" onAction="#close" styleClass="window-bar-button" accessibleText="%generic.button.close">
<graphic>
<FontAwesome5IconView glyph="TIMES" glyphSize="12"/>
</graphic>
</Button>
</HBox>
<Separator orientation="HORIZONTAL"/>
</VBox>
</top>
<center>
<VBox>
<padding>
<Insets top="6"/>
</padding>
<HBox>
<Label text="${controller.vaultName}" styleClass="label-small" wrapText="true"/>
<Region minWidth="12" HBox.hgrow="ALWAYS"/>
<Label text="${controller.eventTime}" styleClass="label-small" />
</HBox>
<Label text="${controller.message}" styleClass="label-large" wrapText="true"/>
<Label text="${controller.fileName}" styleClass="label" textOverrun="CENTER_ELLIPSIS" visible="${!controller.fileName.empty}" managed="${!controller.fileName.empty}"/>
<Region minHeight="6"/>
<ScrollPane minViewportWidth="370" minViewportHeight="50">
<Label text="${controller.description}" styleClass="label" wrapText="true" maxWidth="370"/>
</ScrollPane>
<Region VBox.vgrow="ALWAYS"/>
<Button text="${controller.actionText}" onAction="#processSelectedEvent"
visible="${!controller.actionText.empty}" managed="${!controller.actionText.empty}"/>
</VBox>
</center>
</BorderPane>
@@ -13,6 +13,7 @@ generic.button.close=Close
generic.button.copy=Copy
generic.button.copied=Copied!
generic.button.done=Done
generic.button.previous=Previous
generic.button.next=Next
generic.button.print=Print
generic.button.remove=Remove
@@ -698,3 +699,17 @@ eventView.entry.brokenFileNode.message=Broken filesystem node
eventView.entry.brokenFileNode.showEncrypted=Show broken, encrypted node
eventView.entry.brokenFileNode.copyEncrypted=Copy path of broken, encrypted node
eventView.entry.brokenFileNode.copyDecrypted=Copy decrypted path
eventView.entry.inUse.message=Locked File
eventView.entry.inUse.showDecrypted=Show decrypted file
eventView.entry.inUse.copyDecrypted=Copy decrypted path
eventView.entry.inUse.showEncrypted=Show encrypted file
eventView.entry.inUse.copyEncrypted=Copy encrypted path
eventView.entry.inUse.copyUserAndDevice=Copy locking user and device name
eventView.entry.inUse.ignoreLock=Ignore Lock
# Notifications
## FileIsInUse Notification
#notification.inUse.message=File is locked
#notification.inUse.description=File %s is opened by user %s (%s). Ask the user to close the file. Otherwise, you can ignore the lock and open it anyway, but be aware of the data loss risk.
#notification.inUse.action=Ignore Lock