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 {