From e90c6f36d324b289c116d4d60788c111035632bc Mon Sep 17 00:00:00 2001 From: crschnick Date: Sun, 24 Mar 2024 07:19:54 +0000 Subject: [PATCH] Overlay style fixes [release] --- .../io/xpipe/app/comp/base/ErrorOverlayComp.java | 9 ++++++++- .../io/xpipe/app/comp/base/ModalOverlayComp.java | 10 +++------- .../app/resources/style/modal-overlay-comp.css | 16 +++++----------- .../io/xpipe/ext/base/browser/NewItemAction.java | 8 ++++---- 4 files changed, 20 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/comp/base/ErrorOverlayComp.java b/app/src/main/java/io/xpipe/app/comp/base/ErrorOverlayComp.java index 542759aa..b97b63fe 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/ErrorOverlayComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/ErrorOverlayComp.java @@ -7,8 +7,11 @@ import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; import javafx.scene.control.TextArea; import javafx.scene.layout.Region; +import javafx.scene.layout.StackPane; +import javafx.scene.paint.Color; import lombok.AccessLevel; import lombok.experimental.FieldDefaults; +import org.kordamp.ikonli.javafx.FontIcon; @FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE) public class ErrorOverlayComp extends SimpleComp { @@ -34,7 +37,11 @@ public class ErrorOverlayComp extends SimpleComp { l.setEditable(false); return l; }); - content.set(new ModalOverlayComp.OverlayContent("error", comp, null, () -> {})); + content.set(new ModalOverlayComp.OverlayContent("error", comp, Comp.of(() -> { + var graphic = new FontIcon("mdomz-warning"); + graphic.setIconColor(Color.RED); + return new StackPane(graphic); + }), null, () -> {})); }); }); content.addListener((observable, oldValue, newValue) -> { diff --git a/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java b/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java index cd897ef1..9261be24 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java @@ -2,7 +2,6 @@ package io.xpipe.app.comp.base; import atlantafx.base.controls.ModalPane; import atlantafx.base.layout.ModalBox; -import atlantafx.base.theme.Styles; import io.xpipe.app.core.AppFont; import io.xpipe.app.core.AppI18n; import io.xpipe.app.fxcomps.Comp; @@ -17,9 +16,7 @@ import javafx.scene.control.Label; import javafx.scene.layout.Region; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; -import javafx.scene.paint.Color; import lombok.Value; -import org.kordamp.ikonli.javafx.FontIcon; public class ModalOverlayComp extends SimpleComp { @@ -35,6 +32,7 @@ public class ModalOverlayComp extends SimpleComp { protected Region createSimple() { var bgRegion = background.createRegion(); var modal = new ModalPane(); + AppFont.small(modal); modal.getStyleClass().add("modal-overlay-comp"); var pane = new StackPane(bgRegion, modal); pane.setPickOnBounds(false); @@ -45,9 +43,7 @@ public class ModalOverlayComp extends SimpleComp { } if (newValue != null) { - var graphic = new FontIcon("mdomz-warning"); - graphic.setIconColor(Color.RED); - var l = new Label(AppI18n.get(newValue.titleKey), graphic); + var l = new Label(AppI18n.get(newValue.titleKey), newValue.graphic != null ? newValue.graphic.createRegion() : null); l.setGraphicTextGap(6); AppFont.normal(l); var r = newValue.content.createRegion(); @@ -58,7 +54,6 @@ public class ModalOverlayComp extends SimpleComp { if (newValue.finishKey != null) { var finishButton = new Button(AppI18n.get(newValue.finishKey)); finishButton.setDefaultButton(true); - Styles.toggleStyleClass(finishButton, Styles.FLAT); finishButton.setOnAction(event -> { newValue.onFinish.run(); overlayContent.setValue(null); @@ -97,6 +92,7 @@ public class ModalOverlayComp extends SimpleComp { String titleKey; Comp content; + Comp graphic; String finishKey; Runnable onFinish; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/modal-overlay-comp.css b/app/src/main/resources/io/xpipe/app/resources/style/modal-overlay-comp.css index 20aec32d..53e90893 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/modal-overlay-comp.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/modal-overlay-comp.css @@ -3,16 +3,10 @@ -fx-background-radius: 6; } -.modal-overlay-comp { - -fx-border-radius: 0; - -fx-background-radius: 0; -} - -.modal-overlay-comp .titled-pane > * { - -fx-border-radius: 0; -} - -.modal-overlay-comp .titled-pane > * { - -fx-background-radius: 0; +.modal-overlay-comp .modal-box .button { + -fx-padding: 6 12 6 12; + -fx-border-width: 1px; + -fx-border-radius: 2px; + -fx-background-radius: 2px; } diff --git a/ext/base/src/main/java/io/xpipe/ext/base/browser/NewItemAction.java b/ext/base/src/main/java/io/xpipe/ext/base/browser/NewItemAction.java index 2424a2fd..f2da9b6e 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/browser/NewItemAction.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/browser/NewItemAction.java @@ -63,6 +63,7 @@ public class NewItemAction implements BrowserAction, BranchAction { creationName.textProperty().bindBidirectional(name); return creationName; }), + null, "finish", () -> { model.createFileAsync(name.getValue()); @@ -91,6 +92,7 @@ public class NewItemAction implements BrowserAction, BranchAction { creationName.textProperty().bindBidirectional(name); return creationName; }), + null, "finish", () -> { model.createDirectoryAsync(name.getValue()); @@ -116,15 +118,13 @@ public class NewItemAction implements BrowserAction, BranchAction { .setValue(new ModalOverlayComp.OverlayContent( "base.newLink", new OptionsBuilder() - .spacer(10) .name("linkName") .addString(linkName) - .spacer(10) .name("targetPath") .addString(target) .buildComp() - .prefWidth(400) - .prefHeight(130), + .prefWidth(350), + null, "finish", () -> { model.createLinkAsync(linkName.getValue(), target.getValue());