From 92c87f7b844508bedd1a9a62ef359a5c696db3e5 Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Mon, 23 May 2016 19:31:18 +0200 Subject: [PATCH] changed dialog L&F on OS X --- .../ui/controllers/MainController.java | 72 ++++++++------- .../ui/util/DialogBuilderUtil.java | 53 +++++++---- main/ui/src/main/resources/css/mac_theme.css | 86 +++++------------- .../ui/src/main/resources/img/dialog-icon.png | Bin 0 -> 4346 bytes .../src/main/resources/img/dialog-icon@2x.png | Bin 0 -> 9446 bytes .../ui/src/main/resources/localization/en.txt | 6 +- 6 files changed, 102 insertions(+), 115 deletions(-) create mode 100644 main/ui/src/main/resources/img/dialog-icon.png create mode 100644 main/ui/src/main/resources/img/dialog-icon@2x.png diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java index 06808e265..223a7ef13 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java @@ -9,6 +9,33 @@ ******************************************************************************/ package org.cryptomator.ui.controllers; +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Provider; +import javax.inject.Singleton; + +import org.apache.commons.lang3.SystemUtils; +import org.cryptomator.ui.controls.DirectoryListCell; +import org.cryptomator.ui.model.Vault; +import org.cryptomator.ui.model.VaultFactory; +import org.cryptomator.ui.settings.Localization; +import org.cryptomator.ui.settings.Settings; +import org.cryptomator.ui.util.DialogBuilderUtil; +import org.fxmisc.easybind.EasyBind; +import org.fxmisc.easybind.monadic.MonadicBinding; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import dagger.Lazy; import javafx.application.Platform; import javafx.beans.binding.Binding; @@ -23,35 +50,17 @@ import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.geometry.Side; import javafx.scene.Parent; -import javafx.scene.control.*; +import javafx.scene.control.Alert; +import javafx.scene.control.Button; +import javafx.scene.control.ButtonType; +import javafx.scene.control.ContextMenu; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.control.ToggleButton; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.stage.FileChooser; import javafx.stage.Stage; -import org.cryptomator.ui.controls.DirectoryListCell; -import org.cryptomator.ui.model.Vault; -import org.cryptomator.ui.model.VaultFactory; -import org.cryptomator.ui.settings.Localization; -import org.cryptomator.ui.settings.Settings; -import org.cryptomator.ui.util.DialogBuilderUtil; -import org.fxmisc.easybind.EasyBind; -import org.fxmisc.easybind.monadic.MonadicBinding; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Provider; -import javax.inject.Singleton; -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; @Singleton public class MainController extends LocalizedFXMLViewController { @@ -225,13 +234,14 @@ public class MainController extends LocalizedFXMLViewController { @FXML private void didClickRemoveSelectedEntry(ActionEvent e) { - Dialog confirmDialog = DialogBuilderUtil.buildConfirmationDialog( - localization.getString("main.directoryList.remove.confirmation.title"), - localization.getString("main.directoryList.remove.confirmation.header"), - localization.getString("main.directoryList.remove.confirmation.content") - ); + Alert confirmDialog = DialogBuilderUtil.buildConfirmationDialog( // + localization.getString("main.directoryList.remove.confirmation.title"), // + localization.getString("main.directoryList.remove.confirmation.header"), // + localization.getString("main.directoryList.remove.confirmation.content"), // + SystemUtils.IS_OS_MAC_OSX ? ButtonType.CANCEL : ButtonType.OK); + Optional choice = confirmDialog.showAndWait(); - if (choice.get() == ButtonType.OK){ + if (ButtonType.OK.equals(choice.get())) { vaults.remove(selectedVault.get()); if (vaults.isEmpty()) { activeController.set(welcomeController.get()); diff --git a/main/ui/src/main/java/org/cryptomator/ui/util/DialogBuilderUtil.java b/main/ui/src/main/java/org/cryptomator/ui/util/DialogBuilderUtil.java index a5b6dd64b..e9f1b99fe 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/util/DialogBuilderUtil.java +++ b/main/ui/src/main/java/org/cryptomator/ui/util/DialogBuilderUtil.java @@ -9,32 +9,45 @@ package org.cryptomator.ui.util; import javafx.scene.control.Alert; +import javafx.scene.control.Button; +import javafx.scene.control.ButtonType; +import javafx.scene.text.Text; public class DialogBuilderUtil { - public DialogBuilderUtil() {} + public DialogBuilderUtil() { + } - public static Alert buildInformationDialog(String title, String header, String content) { - return buildDialog(title, header, content,Alert.AlertType.INFORMATION); - } + public static Alert buildInformationDialog(String title, String header, String content, ButtonType defaultButton) { + return buildDialog(title, header, content, Alert.AlertType.INFORMATION, defaultButton); + } - public static Alert buildWarningDialog(String title, String header, String content) { - return buildDialog(title, header, content,Alert.AlertType.WARNING); - } + public static Alert buildWarningDialog(String title, String header, String content, ButtonType defaultButton) { + return buildDialog(title, header, content, Alert.AlertType.WARNING, defaultButton); + } - public static Alert buildErrorDialog(String title, String header, String content) { - return buildDialog(title, header, content,Alert.AlertType.ERROR); - } + public static Alert buildErrorDialog(String title, String header, String content, ButtonType defaultButton) { + return buildDialog(title, header, content, Alert.AlertType.ERROR, defaultButton); + } - public static Alert buildConfirmationDialog(String title, String header, String content) { - return buildDialog(title, header, content,Alert.AlertType.CONFIRMATION); - } + public static Alert buildConfirmationDialog(String title, String header, String content, ButtonType defaultButton) { + return buildDialog(title, header, content, Alert.AlertType.CONFIRMATION, defaultButton); + } - private static Alert buildDialog(String title, String header, String content, Alert.AlertType type) { - Alert alert = new Alert(type); - alert.setTitle(title); - alert.setHeaderText(header); - alert.setContentText(content); - return alert; - } + private static Alert buildDialog(String title, String header, String content, Alert.AlertType type, ButtonType defaultButton) { + Text contentText = new Text(content); + contentText.setWrappingWidth(360.0); + + Alert alert = new Alert(type); + alert.setTitle(title); + alert.setHeaderText(header); + alert.getDialogPane().setContent(contentText); + + alert.getDialogPane().getButtonTypes().stream().forEach(buttonType -> { + Button btn = (Button) alert.getDialogPane().lookupButton(buttonType); + btn.setDefaultButton(buttonType.equals(defaultButton)); + }); + + return alert; + } } diff --git a/main/ui/src/main/resources/css/mac_theme.css b/main/ui/src/main/resources/css/mac_theme.css index a34917ecb..271cbc387 100644 --- a/main/ui/src/main/resources/css/mac_theme.css +++ b/main/ui/src/main/resources/css/mac_theme.css @@ -10,7 +10,7 @@ */ .root { - -fx-font-family: 'lucida-grande'; + -fx-font-family: 'lucida-grande', sans-serif; -fx-font-smoothing-type: lcd; -fx-font-size: 13px; @@ -541,79 +541,43 @@ .dialog-pane { -fx-background-color: COLOR_BACKGROUND; - -fx-padding: 0; -} - -.dialog-pane > .expandable-content { - -fx-padding: 0.666em; /* 8px */ -} - -.dialog-pane > .button-bar > .container { - -fx-padding: 0.833em; /* 10px */ -} - -.dialog-pane > .content.label { - -fx-alignment: top-left; - -fx-padding: 1.333em 0.833em 0 0.833em; /* 16px 10px 0px 10px */ -} - -.dialog-pane > .content { - -fx-padding: 0.833em; /* 10 */ -} - -.dialog-pane:no-header .graphic-container { - -fx-padding: 0.833em 0 0 0.833em; /* 10px 0px 0px 10px */ + -fx-padding: 20px 20px 20px 96px; + + -fx-background-image: url("/img/dialog-icon.png"); + -fx-background-repeat: no-repeat; + -fx-background-position: 20px 20px; } +/* HEADER */ .dialog-pane:header .header-panel { - /*-fx-padding: 0.833em 1.166em 0.833em 1.166em; *//* 10px 14px 10px 14px */ - -fx-padding: 0.833em; /* 10px */ - -fx-background-color: COLOR_BORDER, linear-gradient(COLOR_BACKGROUND, derive(COLOR_BACKGROUND, 30%)); - -fx-background-insets: 0, 0 0 1 0; + -fx-padding: 0 0 12px 0; } +/* TITLE */ .dialog-pane:header .header-panel .label { - -fx-font-size: 1.167em; /* 14px */ + -fx-font-weight: bold; -fx-wrap-text: true; } -.dialog-pane:header .header-panel .graphic-container { - /* This prevents the text in the header running directly into the graphic */ - -fx-padding: 0 0 0 0.833em; /* 0px 0px 0px 10px */ +/* CONTENT LABEL */ +.dialog-pane > .content { + -fx-alignment: top-left; + -fx-wrap-text: true; + -fx-font-size: 11px; + -fx-line-spacing: 1.0; } -.dialog-pane > .button-bar > .container > .details-button { - -fx-alignment: baseline-left; - -fx-focus-traversable: false; - -fx-padding: 0.416em; /* 5px */ +/* BUTTONS */ +.dialog-pane > .button-bar > .container { + -fx-padding: 12px 0 0 0; } -.dialog-pane > .button-bar > .container > .details-button.more { - -fx-graphic: url("dialog-more-details.png"); +.dialog-pane > .button-bar .button:default { + -fx-background-color: COLOR_HGRAD_BTN_DEF_BORDER, COLOR_HGRAD_BTN_DEF_BACKGROUND; + -fx-text-fill: #FFF; } -.dialog-pane > .button-bar > .container > .details-button.less { - -fx-graphic: url("dialog-fewer-details.png"); -} - -.dialog-pane > .button-bar > .container > .details-button:hover { - -fx-underline: true; -} - -.alert.confirmation.dialog-pane, -.text-input-dialog.dialog-pane, -.choice-dialog.dialog-pane { - -fx-graphic: url("dialog-confirm.png"); -} - -.alert.information.dialog-pane { - -fx-graphic: url("dialog-information.png"); -} - -.alert.error.dialog-pane { - -fx-graphic: url("dialog-error.png"); -} - -.alert.warning.dialog-pane { - -fx-graphic: url("dialog-warning.png"); +.dialog-pane > .button-bar .button:default:armed { + -fx-background-color: COLOR_HGRAD_BTN_ARMED_BORDER, COLOR_HGRAD_BTN_ARMED_BACKGROUND; + -fx-text-fill: #FFF; } \ No newline at end of file diff --git a/main/ui/src/main/resources/img/dialog-icon.png b/main/ui/src/main/resources/img/dialog-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ea82817bb6b9cac51f41c03afa4ee2e33974e008 GIT binary patch literal 4346 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 literal 0 HcmV?d00001 diff --git a/main/ui/src/main/resources/img/dialog-icon@2x.png b/main/ui/src/main/resources/img/dialog-icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cb7da4c37cf3f12754f85c345acce294796e6af0 GIT binary patch literal 9446 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 Ssr299Npe!kk~QLx!2bhGrtgse literal 0 HcmV?d00001 diff --git a/main/ui/src/main/resources/localization/en.txt b/main/ui/src/main/resources/localization/en.txt index d112a19ac..e93d12615 100644 --- a/main/ui/src/main/resources/localization/en.txt +++ b/main/ui/src/main/resources/localization/en.txt @@ -13,9 +13,9 @@ main.directoryList.contextMenu.remove=Remove from list main.directoryList.contextMenu.changePassword=Change password main.addDirectory.contextMenu.new=Create new vault main.addDirectory.contextMenu.open=Open existing vault -main.directoryList.remove.confirmation.title=Vault removal -main.directoryList.remove.confirmation.header=Do you really want to remove this vault ? -main.directoryList.remove.confirmation.content=Every data it contains will be lost. +main.directoryList.remove.confirmation.title=Remove Vault +main.directoryList.remove.confirmation.header=Do you really want to remove this vault? +main.directoryList.remove.confirmation.content=The vault will only be removed from the list. To permanently delete it, please delete the files from your filesystem. Lorem ipsum, wie das duftet, kräftig, deftig, würzig, gut. Pommersche aus dem Buchenrauch, naturgewürzt und das schmeckt man auch. # welcome.fxml welcome.checkForUpdates.label.currentlyChecking=Checking for Updates...