From b4a1b0bf19384a3eba8135dd0b07d865b390dd95 Mon Sep 17 00:00:00 2001 From: Asger Gitz-Johansen Date: Thu, 7 Mar 2024 08:04:31 +0100 Subject: [PATCH] fix: only highlight the hyperlinks --- .../gtz/graphedit/view/EditorController.java | 1 - .../gtz/graphedit/view/LogTabController.java | 13 ++++----- .../graphedit/view/LogTabPaneController.java | 3 -- .../graphedit/view/log/HyperlinkTextArea.java | 3 +- .../dk/gtz/graphedit/view/log/TextStyle.java | 29 ++++++++++--------- 5 files changed, 21 insertions(+), 28 deletions(-) diff --git a/core/src/main/java/dk/gtz/graphedit/view/EditorController.java b/core/src/main/java/dk/gtz/graphedit/view/EditorController.java index fc2cc7ec..d70ad791 100644 --- a/core/src/main/java/dk/gtz/graphedit/view/EditorController.java +++ b/core/src/main/java/dk/gtz/graphedit/view/EditorController.java @@ -9,7 +9,6 @@ import org.slf4j.LoggerFactory; import dk.gtz.graphedit.model.ModelProject; -import dk.gtz.graphedit.serialization.IModelSerializer; import dk.gtz.graphedit.spi.IPluginsContainer; import dk.gtz.graphedit.util.EditorActions; import dk.gtz.graphedit.util.HeightDragResizer; diff --git a/core/src/main/java/dk/gtz/graphedit/view/LogTabController.java b/core/src/main/java/dk/gtz/graphedit/view/LogTabController.java index 8ecd86b3..cd32bbfd 100644 --- a/core/src/main/java/dk/gtz/graphedit/view/LogTabController.java +++ b/core/src/main/java/dk/gtz/graphedit/view/LogTabController.java @@ -68,7 +68,7 @@ private Pattern getPattern() { // identifiers are uuid v4's // []() var uuidRegex = "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"; - var z = "\\[(?[^]]+)]\\((?"+uuidRegex+")\\)"; + var z = "\\[(?[^]]+)\\]\\((?"+uuidRegex+")\\)"; return Pattern.compile(z); } @@ -86,13 +86,10 @@ private void initializeTextArea() { } private void onLinkClick(Hyperlink link) { - try { - var lookupId = UUID.fromString(link.getLink()); - var result = getFocusable(lookupId); - result.ifPresent(IFocusable::focus); - } catch(Exception e) { - logger.error(e.getMessage(), e); - } + var lookupId = UUID.fromString(link.getLink()); + getFocusable(lookupId).ifPresentOrElse( + IFocusable::focus, + () -> logger.warn("Nothing found for link to: <{}>", lookupId)); } private Optional getFocusable(UUID lookupId) { diff --git a/core/src/main/java/dk/gtz/graphedit/view/LogTabPaneController.java b/core/src/main/java/dk/gtz/graphedit/view/LogTabPaneController.java index b1b3ceed..570df9c1 100644 --- a/core/src/main/java/dk/gtz/graphedit/view/LogTabPaneController.java +++ b/core/src/main/java/dk/gtz/graphedit/view/LogTabPaneController.java @@ -3,8 +3,6 @@ import org.kordamp.ikonli.bootstrapicons.BootstrapIcons; import org.kordamp.ikonli.javafx.FontIcon; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import atlantafx.base.theme.Styles; import ch.qos.logback.classic.Level; @@ -19,7 +17,6 @@ * View controll for the log tabpane containing all the logs */ public class LogTabPaneController { - private static Logger logger = LoggerFactory.getLogger(LogTabPaneController.class); @FXML private TabPane tabpane; diff --git a/core/src/main/java/dk/gtz/graphedit/view/log/HyperlinkTextArea.java b/core/src/main/java/dk/gtz/graphedit/view/log/HyperlinkTextArea.java index c95771a9..f34eab7f 100644 --- a/core/src/main/java/dk/gtz/graphedit/view/log/HyperlinkTextArea.java +++ b/core/src/main/java/dk/gtz/graphedit/view/log/HyperlinkTextArea.java @@ -34,7 +34,6 @@ public HyperlinkTextArea(Consumer showLink, String... styleClasses) { text -> createStyledTextNode(t -> { t.setText(text); t.getStyleClass().addAll(styleClasses); - t.setStyle(e.getStyle().toCss()); }), hyperlink -> createStyledTextNode(t -> { if (!hyperlink.isEmpty()) { @@ -72,7 +71,7 @@ public void appendWithLink(String displayedText, String link, TextStyle style) { * @param link The link value */ public void appendWithLink(String displayedText, String link) { - appendWithLink(displayedText, link, TextStyle.randomTextColor()); + appendWithLink(displayedText, link, TextStyle.EMPTY.setTextColor("-color-accent-fg")); } /** diff --git a/core/src/main/java/dk/gtz/graphedit/view/log/TextStyle.java b/core/src/main/java/dk/gtz/graphedit/view/log/TextStyle.java index 102d6e65..c32b6257 100644 --- a/core/src/main/java/dk/gtz/graphedit/view/log/TextStyle.java +++ b/core/src/main/java/dk/gtz/graphedit/view/log/TextStyle.java @@ -19,7 +19,7 @@ public class TextStyle { /** * A text style using white text color */ - public static final TextStyle WHITE = new TextStyle().setTextColor(Color.WHITE); + public static final TextStyle WHITE = new TextStyle().setTextColor("white"); /** * Create a new text style with a random text color @@ -27,10 +27,11 @@ public class TextStyle { */ public static TextStyle randomTextColor() { var r = new Random(); - return EMPTY.setTextColor(Color.color( + var c = Color.color( r.nextDouble(), r.nextDouble(), - r.nextDouble())); + r.nextDouble()); + return EMPTY.setTextColor(cssColor(c)); } /** @@ -51,8 +52,8 @@ public static String cssColor(Color color) { final Optional strikethrough; final Optional fontSize; final Optional fontFamily; - final Optional textColor; - final Optional backgroundColor; + final Optional textColor; + final Optional backgroundColor; /** * Construct a new text style instance @@ -76,8 +77,8 @@ public TextStyle() { * @param strikethrough Should the text be strikethrough * @param fontSize Text size of the text style * @param fontFamily The font to use - * @param textColor The color to use - * @param backgroundColor The background color + * @param textColor The css color to use + * @param backgroundColor The css background color to use */ public TextStyle(Optional bold, Optional italic, @@ -85,8 +86,8 @@ public TextStyle(Optional bold, Optional strikethrough, Optional fontSize, Optional fontFamily, - Optional textColor, - Optional backgroundColor) { + Optional textColor, + Optional backgroundColor) { this.bold = bold; this.italic = italic; this.underline = underline; @@ -143,8 +144,8 @@ public String toCss() { strikethrough.ifPresent(b -> sb.append("-fx-strikethrough: ").append(b ? "true" : "false").append(";")); fontSize.ifPresent(integer -> sb.append("-fx-font-size: ").append(integer).append("pt;")); fontFamily.ifPresent(s -> sb.append("-fx-font-family: ").append(s).append(";")); - textColor.ifPresent(color -> sb.append("-fx-fill: ").append(cssColor(color)).append(";")); - backgroundColor.ifPresent(color -> sb.append("-rtfx-background-color: ").append(cssColor(color)).append(";")); + textColor.ifPresent(color -> sb.append("-fx-fill: ").append(color).append(";")); + backgroundColor.ifPresent(color -> sb.append("-rtfx-background-color: ").append(color).append(";")); return sb.toString(); } @@ -224,7 +225,7 @@ public TextStyle setFontFamily(String fontFamily) { * @param textColor The new color of the text * @return a new text style */ - public TextStyle setTextColor(Color textColor) { + public TextStyle setTextColor(String textColor) { return new TextStyle(bold, italic, underline, strikethrough, fontSize, fontFamily, Optional.of(textColor), backgroundColor); } @@ -234,7 +235,7 @@ public TextStyle setTextColor(Color textColor) { * @return a new text style */ public TextStyle setTextColorWeb(String webColor) { - return setTextColor(Color.web(webColor)); + return setTextColor(webColor); } /** @@ -242,7 +243,7 @@ public TextStyle setTextColorWeb(String webColor) { * @param backgroundColor The new background color of the text * @return a new text style */ - public TextStyle setBackgroundColor(Color backgroundColor) { + public TextStyle setBackgroundColor(String backgroundColor) { return new TextStyle(bold, italic, underline, strikethrough, fontSize, fontFamily, textColor, Optional.of(backgroundColor)); } }