diff --git a/src/resources/markdown_template.js b/src/resources/markdown_template.js index 1db0e68a..ade0ef7e 100644 --- a/src/resources/markdown_template.js +++ b/src/resources/markdown_template.js @@ -1338,7 +1338,7 @@ var listContainsRegex = function(strs, exp) { var StylesToInline = null; var initStylesToInline = function() { - StylesToInline = new Map(); + StylesToInline = new Object(); if (VStylesToInline.length == 0) { return; @@ -1354,7 +1354,7 @@ var initStylesToInline = function() { var tags = vals[0].split(':'); var pros = vals[1].split(':'); for (var j = 0; j < tags.length; ++j) { - StylesToInline.set(tags[j].toLowerCase(), pros); + StylesToInline[tags[j].toLowerCase()] = pros; } } }; @@ -1363,9 +1363,9 @@ var initStylesToInline = function() { // StylesToInline need to be init before. var embedInlineStyles = function(ele) { var tagName = ele.tagName.toLowerCase(); - var props = StylesToInline.get(tagName); + var props = StylesToInline[tagName]; if (!props) { - props = StylesToInline.get('all'); + props = StylesToInline['all']; if (!props) { return; diff --git a/src/vmdeditor.cpp b/src/vmdeditor.cpp index d1bf8222..1f161f6f 100644 --- a/src/vmdeditor.cpp +++ b/src/vmdeditor.cpp @@ -358,11 +358,9 @@ void VMdEditor::contextMenuEvent(QContextMenuEvent *p_event) pasteAct = getActionByObjectName(actions, "edit-paste"); } - /* if (copyAct && copyAct->isEnabled()) { initCopyAsMenu(copyAct, menu.data()); } - */ if (pasteAct && pasteAct->isEnabled()) { QClipboard *clipboard = QApplication::clipboard(); @@ -371,11 +369,9 @@ void VMdEditor::contextMenuEvent(QContextMenuEvent *p_event) initPasteAsBlockQuoteMenu(pasteAct, menu.data()); } - /* if (mimeData->hasHtml()) { initPasteAfterParseMenu(pasteAct, menu.data()); } - */ QAction *pptAct = new QAction(tr("Paste As Plain Text"), menu.data()); VUtils::fixTextWithShortcut(pptAct, "PastePlainText"); @@ -389,6 +385,44 @@ void VMdEditor::contextMenuEvent(QContextMenuEvent *p_event) if (!textCursor().hasSelection()) { initLinkAndPreviewMenu(firstAct, menu.data(), p_event->pos()); + QAction *saveExitAct = new QAction(VIconUtils::menuIcon(":/resources/icons/save_exit.svg"), + tr("&Save Changes And Read"), + menu.data()); + saveExitAct->setToolTip(tr("Save changes and exit edit mode")); + connect(saveExitAct, &QAction::triggered, + this, [this]() { + emit m_object->saveAndRead(); + }); + + QAction *discardExitAct = new QAction(VIconUtils::menuIcon(":/resources/icons/discard_exit.svg"), + tr("&Discard Changes And Read"), + menu.data()); + discardExitAct->setToolTip(tr("Discard changes and exit edit mode")); + connect(discardExitAct, &QAction::triggered, + this, [this]() { + emit m_object->discardAndRead(); + }); + + VMdTab *mdtab = dynamic_cast(m_editTab); + if (mdtab) { + QAction *toggleLivePreviewAct = new QAction(tr("Live Preview For Graphs"), menu.data()); + toggleLivePreviewAct->setToolTip(tr("Toggle live preview panel for graphs")); + VUtils::fixTextWithCaptainShortcut(toggleLivePreviewAct, "LivePreview"); + connect(toggleLivePreviewAct, &QAction::triggered, + this, [mdtab]() { + mdtab->toggleLivePreview(); + }); + + menu->insertAction(firstAct, toggleLivePreviewAct); + menu->insertAction(toggleLivePreviewAct, discardExitAct); + menu->insertAction(discardExitAct, saveExitAct); + menu->insertSeparator(toggleLivePreviewAct); + } else { + menu->insertAction(firstAct, discardExitAct); + menu->insertAction(discardExitAct, saveExitAct); + menu->insertSeparator(discardExitAct); + } + if (firstAct) { menu->insertSeparator(firstAct); }