Browse Source

feature/add_shortcuts_paste_to_md (#2277)

* feature/add_shortcuts_paste_to_md

* feature/add_shortcuts_paste_to_md

* submodule update

* adj
chendapao 3 years ago
parent
commit
e47b813b69
3 changed files with 23 additions and 6 deletions
  1. 1 0
      src/core/editorconfig.h
  2. 2 1
      src/data/core/vnotex.json
  3. 20 5
      src/widgets/editors/markdowneditor.cpp

+ 1 - 0
src/core/editorconfig.h

@@ -65,6 +65,7 @@ namespace vnotex
             WordCount,
             Attachment,
             AlternateViewMode,
+            ParseToMarkdownAndPaste,
             MaxShortcut
         };
         Q_ENUM(Shortcut)

+ 2 - 1
src/data/core/vnotex.json

@@ -223,7 +223,8 @@
                 "WordCount" : "",
                 "Debug" : "F12",
                 "Print" : "",
-                "ClearHighlights" : "Ctrl+G, Space"
+                "ClearHighlights" : "Ctrl+G, Space",
+                "ParseToMarkdownAndPaste" : "Ctrl+G, Ctrl+P"
             },
             "spell_check_auto_detect_language" : false,
             "spell_check_default_dictionary" : "en_US",

+ 20 - 5
src/widgets/editors/markdowneditor.cpp

@@ -1021,6 +1021,8 @@ void MarkdownEditor::handleContextMenuEvent(QContextMenuEvent *p_event, bool *p_
         if (mimeData->hasHtml()) {
             // Parse to Markdown and Paste.
             auto parsePasteAct = new QAction(tr("Parse to Markdown and Paste"), menu);
+            WidgetUtils::addActionShortcutText(parsePasteAct,
+                                               editorConfig.getShortcut(EditorConfig::Shortcut::ParseToMarkdownAndPaste));
             connect(parsePasteAct, &QAction::triggered,
                     this, &MarkdownEditor::parseToMarkdownAndPaste);
             WidgetUtils::insertActionAfter(menu, altPasteAct, parsePasteAct);
@@ -1069,11 +1071,24 @@ void MarkdownEditor::setupShortcuts()
 {
     const auto &editorConfig = ConfigMgr::getInst().getEditorConfig();
 
-    auto shortcut = WidgetUtils::createShortcut(editorConfig.getShortcut(EditorConfig::Shortcut::AltPaste),
-                                                this);
-    if (shortcut) {
-        connect(shortcut, &QShortcut::activated,
-                this, &MarkdownEditor::altPaste);
+    // Alt paste.
+    {
+        auto shortcut = WidgetUtils::createShortcut(editorConfig.getShortcut(EditorConfig::Shortcut::AltPaste),
+                                                    this);
+        if (shortcut) {
+            connect(shortcut, &QShortcut::activated,
+                    this, &MarkdownEditor::altPaste);
+        }
+    }
+
+    // Parse to Markdown and Paste.
+    {
+        auto shortcut = WidgetUtils::createShortcut(editorConfig.getShortcut(EditorConfig::Shortcut::ParseToMarkdownAndPaste),
+                                                    this);
+        if (shortcut) {
+            connect(shortcut, &QShortcut::activated,
+                    this, &MarkdownEditor::parseToMarkdownAndPaste);
+        }
     }
 }