From 883572ea5c296d894a3a834e6999d7a59291e68a Mon Sep 17 00:00:00 2001 From: Radek Davidek Date: Tue, 19 May 2026 14:32:21 +0200 Subject: [PATCH] added switch for markdown preview a source --- .../java/cz/kamma/kfmanager/ui/FileEditor.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/cz/kamma/kfmanager/ui/FileEditor.java b/src/main/java/cz/kamma/kfmanager/ui/FileEditor.java index ecc361c..4c85dec 100644 --- a/src/main/java/cz/kamma/kfmanager/ui/FileEditor.java +++ b/src/main/java/cz/kamma/kfmanager/ui/FileEditor.java @@ -60,6 +60,7 @@ public class FileEditor extends JFrame { private JLabel pageOffsetLabel = null; private boolean markdownMode = false; private JCheckBoxMenuItem markdownItem = null; + private JCheckBoxMenuItem markdownSourceItem = null; private javax.swing.undo.UndoManager undoManager; // Search support @@ -738,6 +739,13 @@ public class FileEditor extends JFrame { markdownItem.addActionListener(e -> setMarkdownMode(markdownItem.getState())); viewMenu.add(markdownItem); + markdownSourceItem = new JCheckBoxMenuItem("View source"); + markdownSourceItem.setState(readOnly && isMarkdownFile() && !markdownMode); + markdownSourceItem.setEnabled(readOnly && isMarkdownFile()); + markdownSourceItem.addActionListener(e -> setMarkdownMode(!markdownSourceItem.getState())); + viewMenu.add(markdownSourceItem); + viewMenu.addSeparator(); + JCheckBoxMenuItem hexItem = new JCheckBoxMenuItem("Hex view"); hexItem.setState(hexMode); hexItem.addActionListener(e -> { @@ -768,6 +776,10 @@ public class FileEditor extends JFrame { markdownItem.setState(on); markdownItem.setEnabled(readOnly && isMarkdownFile() && !hexMode && !isImageFile(file)); } + if (markdownSourceItem != null) { + markdownSourceItem.setState(readOnly && isMarkdownFile() && !on); + markdownSourceItem.setEnabled(readOnly && isMarkdownFile() && !hexMode && !isImageFile(file)); + } if (on) { renderMarkdown(); @@ -1291,6 +1303,9 @@ public class FileEditor extends JFrame { if (markdownItem != null) { markdownItem.setEnabled(readOnly && isMarkdownFile() && !on && !isImageFile(file)); } + if (markdownSourceItem != null) { + markdownSourceItem.setEnabled(readOnly && isMarkdownFile() && !on && !isImageFile(file)); + } if (on) { // ensure bytes loaded try {