diff --git a/docs/KEYBINDINGS_LINUX.md b/docs/KEYBINDINGS_LINUX.md index b9341958..67d70110 100644 --- a/docs/KEYBINDINGS_LINUX.md +++ b/docs/KEYBINDINGS_LINUX.md @@ -6,21 +6,22 @@ MarkText key bindings for Linux. Please see [general key bindings](KEYBINDINGS.m #### File menu -| Id | Default | Description | -|:------------------- | --------------------------------------------- | ------------------------------------- | -| `file.new-window` | Ctrl+N | New window | -| `file.new-tab` | Ctrl+T | New tab | -| `file.open-file` | Ctrl+O | Open markdown file | -| `file.open-folder` | Ctrl+Shift+O | Open folder | -| `file.save` | Ctrl+S | Save | -| `file.save-as` | Ctrl+Shift+S | Save as... | -| `file.move-file` | - | Move current file to another location | -| `file.rename-file` | - | Rename current file | -| `file.print` | - | Print current tab | -| `file.preferences` | Ctrl+, | Open settings window | -| `file.close-tab` | Ctrl+W | Close tab | -| `file.close-window` | Ctrl+Shift+W | Close window | -| `file.quit` | Ctrl+Q | Quit MarkText | +| Id | Default | Description | +|:---------------------- | --------------------------------------------- | ------------------------------------- | +| `file.new-window` | Ctrl+N | New window | +| `file.new-tab` | Ctrl+T | New tab | +| `file.open-file` | Ctrl+O | Open markdown file | +| `file.open-folder` | Ctrl+Shift+O | Open folder | +| `file.save` | Ctrl+S | Save | +| `file.save-as` | Ctrl+Shift+S | Save as... | +| `file.export-file.pdf` | Ctrl+Alt+E | Export file as PDF | +| `file.move-file` | - | Move current file to another location | +| `file.rename-file` | - | Rename current file | +| `file.print` | - | Print current tab | +| `file.preferences` | Ctrl+, | Open settings window | +| `file.close-tab` | Ctrl+W | Close tab | +| `file.close-window` | Ctrl+Shift+W | Close window | +| `file.quit` | Ctrl+Q | Quit MarkText | #### Edit menu diff --git a/docs/KEYBINDINGS_OSX.md b/docs/KEYBINDINGS_OSX.md index b26c4e5d..d18ed2d3 100644 --- a/docs/KEYBINDINGS_OSX.md +++ b/docs/KEYBINDINGS_OSX.md @@ -15,19 +15,20 @@ MarkText key bindings for macOS. Please see [general key bindings](KEYBINDINGS.m #### File menu -| Id | Default | Description | -|:------------------- | ------------------------------------------------ | ------------------------------------- | -| `file.new-window` | Command+N | New window | -| `file.new-tab` | Command+T | New tab | -| `file.open-file` | Command+O | Open markdown file | -| `file.open-folder` | Command+Shift+O | Open folder | -| `file.save` | Command+S | Save | -| `file.save-as` | Command+Shift+S | Save as... | -| `file.move-file` | - | Move current file to another location | -| `file.rename-file` | - | Rename current file | -| `file.print` | - | Print current tab | -| `file.close-tab` | Command+W | Close tab | -| `file.close-window` | Command+Shift+W | Close window | +| Id | Default | Description | +|:---------------------- | ------------------------------------------------ | ------------------------------------- | +| `file.new-window` | Command+N | New window | +| `file.new-tab` | Command+T | New tab | +| `file.open-file` | Command+O | Open markdown file | +| `file.open-folder` | Command+Shift+O | Open folder | +| `file.save` | Command+S | Save | +| `file.save-as` | Command+Shift+S | Save as... | +| `file.export-file.pdf` | Ctrl+Alt+E | Export file as PDF | +| `file.move-file` | - | Move current file to another location | +| `file.rename-file` | - | Rename current file | +| `file.print` | - | Print current tab | +| `file.close-tab` | Command+W | Close tab | +| `file.close-window` | Command+Shift+W | Close window | #### Edit menu diff --git a/docs/KEYBINDINGS_WINDOWS.md b/docs/KEYBINDINGS_WINDOWS.md index c639686c..2d230544 100644 --- a/docs/KEYBINDINGS_WINDOWS.md +++ b/docs/KEYBINDINGS_WINDOWS.md @@ -6,21 +6,22 @@ MarkText key bindings for Windows. Please see [general key bindings](KEYBINDINGS #### File menu -| Id | Default | Description | -|:------------------- | --------------------------------------------- | ------------------------------------- | -| `file.new-window` | Ctrl+N | New window | -| `file.new-tab` | Ctrl+T | New tab | -| `file.open-file` | Ctrl+O | Open markdown file | -| `file.open-folder` | Ctrl+Shift+O | Open folder | -| `file.save` | Ctrl+S | Save | -| `file.save-as` | Ctrl+Shift+S | Save as... | -| `file.move-file` | - | Move current file to another location | -| `file.rename-file` | - | Rename current file | -| `file.print` | - | Print current tab | -| `file.preferences` | Ctrl+, | Open settings window | -| `file.close-tab` | Ctrl+W | Close tab | -| `file.close-window` | Ctrl+Shift+W | Close window | -| `file.quit` | Ctrl+Q | Quit MarkText | +| Id | Default | Description | +|:---------------------- | --------------------------------------------- | ------------------------------------- | +| `file.new-window` | Ctrl+N | New window | +| `file.new-tab` | Ctrl+T | New tab | +| `file.open-file` | Ctrl+O | Open markdown file | +| `file.open-folder` | Ctrl+Shift+O | Open folder | +| `file.save` | Ctrl+S | Save | +| `file.save-as` | Ctrl+Shift+S | Save as... | +| `file.export-file.pdf` | Ctrl+Alt+E | Export file as PDF | +| `file.move-file` | - | Move current file to another location | +| `file.rename-file` | - | Rename current file | +| `file.print` | - | Print current tab | +| `file.preferences` | Ctrl+, | Open settings window | +| `file.close-tab` | Ctrl+W | Close tab | +| `file.close-window` | Ctrl+Shift+W | Close window | +| `file.quit` | Ctrl+Q | Quit MarkText | #### Edit menu diff --git a/src/common/commands/constants.js b/src/common/commands/constants.js index aa869497..67b8117f 100644 --- a/src/common/commands/constants.js +++ b/src/common/commands/constants.js @@ -35,6 +35,7 @@ const COMMANDS = Object.freeze({ FILE_RENAME_FILE: 'file.rename-file', FILE_SAVE: 'file.save', FILE_SAVE_AS: 'file.save-as', + FILE_EXPORT_FILE_PDF: 'file.export-file.pdf', // FILE_TOGGLE_AUTO_SAVE: 'file.toggle-auto-save', FORMAT_CLEAR_FORMAT: 'format.clear-format', diff --git a/src/main/keyboard/keybindingsDarwin.js b/src/main/keyboard/keybindingsDarwin.js index 03963aa8..d8c11e1b 100644 --- a/src/main/keyboard/keybindingsDarwin.js +++ b/src/main/keyboard/keybindingsDarwin.js @@ -23,6 +23,9 @@ export default new Map([ ['file.close-window', 'Command+Shift+W'], ['file.quit', 'Command+Q'], + // File > Export submenu + ['file.export-file.pdf', 'Ctrl+Alt+E'], + // Edit menu ['edit.undo', 'Command+Z'], ['edit.redo', 'Command+Shift+Z'], diff --git a/src/main/keyboard/keybindingsLinux.js b/src/main/keyboard/keybindingsLinux.js index 6329b2f8..bafb7cdd 100644 --- a/src/main/keyboard/keybindingsLinux.js +++ b/src/main/keyboard/keybindingsLinux.js @@ -27,6 +27,9 @@ export default new Map([ ['file.close-window', 'Ctrl+Shift+W'], ['file.quit', 'Ctrl+Q'], + // File > Export submenu + ['file.export-file.pdf', 'Ctrl+Alt+E'], + // Edit menu ['edit.undo', 'Ctrl+Z'], ['edit.redo', 'Ctrl+Shift+Z'], diff --git a/src/main/keyboard/keybindingsWindows.js b/src/main/keyboard/keybindingsWindows.js index eaada384..e98fa6e6 100644 --- a/src/main/keyboard/keybindingsWindows.js +++ b/src/main/keyboard/keybindingsWindows.js @@ -24,6 +24,9 @@ export default new Map([ ['file.close-window', 'Ctrl+Shift+W'], ['file.quit', 'Ctrl+Q'], + // File > Export submenu + ['file.export-file.pdf', 'Ctrl+Alt+E'], + // Edit menu ['edit.undo', 'Ctrl+Z'], ['edit.redo', 'Ctrl+Shift+Z'], diff --git a/src/main/menu/actions/file.js b/src/main/menu/actions/file.js index b743735a..070a0697 100644 --- a/src/main/menu/actions/file.js +++ b/src/main/menu/actions/file.js @@ -580,6 +580,12 @@ export const saveAs = win => { } } +export const exportPDF = win => { + if (win && win.webContents) { + exportFile(win, 'pdf') + } +} + export const autoSave = (menuItem, browserWindow) => { const { checked } = menuItem ipcMain.emit('set-user-preference', { autoSave: checked }) @@ -620,4 +626,5 @@ export const loadFileCommands = commandManager => { commandManager.add(COMMANDS.FILE_RENAME_FILE, rename) commandManager.add(COMMANDS.FILE_SAVE, save) commandManager.add(COMMANDS.FILE_SAVE_AS, saveAs) + commandManager.add(COMMANDS.FILE_EXPORT_FILE_PDF, exportPDF) } diff --git a/src/main/menu/templates/file.js b/src/main/menu/templates/file.js index b62ac0c3..d1864559 100755 --- a/src/main/menu/templates/file.js +++ b/src/main/menu/templates/file.js @@ -126,6 +126,7 @@ export default function (keybindings, userPreference, recentlyUsedFiles) { } }, { label: 'PDF', + accelerator: keybindings.getAccelerator('file.export-file.pdf'), click (menuItem, browserWindow) { actions.exportFile(browserWindow, 'pdf') } diff --git a/src/renderer/commands/descriptions.js b/src/renderer/commands/descriptions.js index 4a58e0d3..3a0baba6 100644 --- a/src/renderer/commands/descriptions.js +++ b/src/renderer/commands/descriptions.js @@ -111,6 +111,7 @@ const commandDescriptions = Object.freeze({ 'file.toggle-auto-save': 'File: Toggle Auto Save', 'file.import-file': 'File: Import...', 'file.export-file': 'File: Export...', + 'file.export-file.pdf': 'File: Export as PDF...', 'file.zoom': 'Window: Zoom...', 'file.check-update': 'MarkText: Check for Updates...', 'paragraph.reset-paragraph': 'Paragraph: Transform into Paragraph',