From cb8164c27fd71446f5e38eeb05a294ccaa16ec69 Mon Sep 17 00:00:00 2001 From: Craig Raw Date: Thu, 10 Feb 2022 12:21:36 +0200 Subject: [PATCH] add border to undecorated stages on windows --- .../java/com/sparrowwallet/sparrow/AppController.java | 9 +++++++-- .../sparrow/control/TransactionDiagram.java | 10 +++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/sparrowwallet/sparrow/AppController.java b/src/main/java/com/sparrowwallet/sparrow/AppController.java index d56c517e..45a8e83a 100644 --- a/src/main/java/com/sparrowwallet/sparrow/AppController.java +++ b/src/main/java/com/sparrowwallet/sparrow/AppController.java @@ -61,7 +61,8 @@ import javafx.scene.control.*; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.*; -import javafx.scene.layout.StackPane; +import javafx.scene.layout.*; +import javafx.scene.paint.Color; import javafx.stage.*; import javafx.util.Duration; import org.controlsfx.control.Notifications; @@ -419,9 +420,13 @@ public class AppController implements Initializable { private Stage getAboutStage() { try { FXMLLoader loader = new FXMLLoader(AppController.class.getResource("about.fxml")); - Parent root = loader.load(); + StackPane root = loader.load(); AboutController controller = loader.getController(); + if(org.controlsfx.tools.Platform.getCurrent() == org.controlsfx.tools.Platform.WINDOWS) { + root.setBorder(new Border(new BorderStroke(Color.DARKGRAY, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, BorderWidths.DEFAULT))); + } + Stage stage = new Stage(StageStyle.UNDECORATED); stage.setTitle("About " + MainApp.APP_NAME); stage.initOwner(tabs.getScene().getWindow()); diff --git a/src/main/java/com/sparrowwallet/sparrow/control/TransactionDiagram.java b/src/main/java/com/sparrowwallet/sparrow/control/TransactionDiagram.java index e91d085b..c58ca611 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/TransactionDiagram.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/TransactionDiagram.java @@ -32,6 +32,7 @@ import javafx.scene.control.Label; import javafx.scene.control.Tooltip; import javafx.scene.input.MouseEvent; import javafx.scene.layout.*; +import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.shape.CubicCurve; import javafx.scene.shape.Line; @@ -41,6 +42,7 @@ import javafx.stage.StageStyle; import javafx.util.Duration; import org.controlsfx.glyphfont.FontAwesome; import org.controlsfx.glyphfont.Glyph; +import org.controlsfx.tools.Platform; import java.util.*; import java.util.stream.Collectors; @@ -75,6 +77,11 @@ public class TransactionDiagram extends GridPane { stage.initModality(Modality.WINDOW_MODAL); stage.setResizable(false); + StackPane scenePane = new StackPane(); + if(Platform.getCurrent() == Platform.WINDOWS) { + scenePane.setBorder(new Border(new BorderStroke(Color.DARKGRAY, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, BorderWidths.DEFAULT))); + } + VBox vBox = new VBox(20); vBox.getStylesheets().add(AppServices.class.getResource("general.css").toExternalForm()); if(Config.get().getTheme() == Theme.DARK) { @@ -97,8 +104,9 @@ public class TransactionDiagram extends GridPane { }); buttonBox.getChildren().add(button); vBox.getChildren().addAll(expandedDiagram, buttonBox); + scenePane.getChildren().add(vBox); - Scene scene = new Scene(vBox); + Scene scene = new Scene(scenePane); AppServices.onEscapePressed(scene, stage::close); AppServices.setStageIcon(stage); stage.setScene(scene);