diff --git a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java index 95f3b797e9e..46736011fb0 100644 --- a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java +++ b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java @@ -278,4 +278,9 @@ public class GuiDesktop implements IGuiBase { //TODO: Show loading overlay FThreads.invokeInBackgroundThread(task); } + + @Override + public String encodeSymbols(String str, boolean formatReminderText) { + return FSkin.encodeSymbols(str, formatReminderText); + } } \ No newline at end of file diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java index f0d6ccc1cc3..cf517bc8509 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/FSkin.java @@ -988,6 +988,9 @@ public class FSkin { e.printStackTrace(); } + //ensure paragraph and line breaks aren't lost + str = str.replaceAll("\r?\n", "
"); + return "" + str + ""; //must wrap in tag for images to appear } diff --git a/forge-gui-mobile/src/forge/GuiMobile.java b/forge-gui-mobile/src/forge/GuiMobile.java index e883cf863d5..d3a9b3347a4 100644 --- a/forge-gui-mobile/src/forge/GuiMobile.java +++ b/forge-gui-mobile/src/forge/GuiMobile.java @@ -285,4 +285,9 @@ public class GuiMobile implements IGuiBase { public void runBackgroundTask(String message, Runnable task) { LoadingOverlay.runBackgroundTask(message, task); } + + @Override + public String encodeSymbols(String str, boolean formatReminderText) { + return str; //not needed for mobile + } } diff --git a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java b/forge-gui/src/main/java/forge/interfaces/IGuiBase.java index 75591369c0d..9b80dcbc9a4 100644 --- a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java +++ b/forge-gui/src/main/java/forge/interfaces/IGuiBase.java @@ -52,4 +52,5 @@ public interface IGuiBase { IGuiGame getNewGuiGame(); HostedMatch hostMatch(); void runBackgroundTask(String message, Runnable task); + String encodeSymbols(String str, boolean formatReminderText); } \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java index 6906fd284aa..cf7e0e7c593 100644 --- a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java +++ b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java @@ -1016,7 +1016,7 @@ public class AdvancedSearch { public void run() { control.setFilter(filter); if (filter != null) { - control.getBtnFilter().setText(filter.toString()); + control.getBtnFilter().setText(GuiBase.getInterface().encodeSymbols(filter.toString(), false)); } else { control.getBtnFilter().setText(emptyFilterText); @@ -1087,7 +1087,7 @@ public class AdvancedSearch { } } } - label.setText(builder.toString()); + label.setText(GuiBase.getInterface().encodeSymbols(builder.toString(), false)); label.setToolTipText(getTooltip()); } @@ -1108,7 +1108,7 @@ public class AdvancedSearch { indent += " "; //add an indent level when an open paren is hit } } - return builder.toString(); + return GuiBase.getInterface().encodeSymbols(builder.toString(), false); } public void updateExpression() {