mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +08:00
WebView: fix context menu in preview mode
This commit is contained in:
parent
41bf2d9cec
commit
25ec41c3f0
@ -41,11 +41,6 @@ VWebView::VWebView(VFile *p_file, QWidget *p_parent)
|
||||
|
||||
void VWebView::contextMenuEvent(QContextMenuEvent *p_event)
|
||||
{
|
||||
if (m_inPreview) {
|
||||
QWebEngineView::contextMenuEvent(p_event);
|
||||
return;
|
||||
}
|
||||
|
||||
QMenu *menu = page()->createStandardContextMenu();
|
||||
menu->setToolTipsVisible(true);
|
||||
|
||||
@ -69,7 +64,10 @@ void VWebView::contextMenuEvent(QContextMenuEvent *p_event)
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!hasSelection() && m_file && m_file->isModifiable()) {
|
||||
if (!hasSelection()
|
||||
&& !m_inPreview
|
||||
&& m_file
|
||||
&& m_file->isModifiable()) {
|
||||
QAction *editAct= new QAction(VIconUtils::menuIcon(":/resources/icons/edit_note.svg"),
|
||||
tr("&Edit"), menu);
|
||||
editAct->setToolTip(tr("Edit current note"));
|
||||
@ -84,7 +82,7 @@ void VWebView::contextMenuEvent(QContextMenuEvent *p_event)
|
||||
|
||||
// Add Copy As menu.
|
||||
QAction *copyAct = pageAction(QWebEnginePage::Copy);
|
||||
if (actions.contains(copyAct)) {
|
||||
if (actions.contains(copyAct) && !m_inPreview) {
|
||||
initCopyAsMenu(copyAct, menu);
|
||||
}
|
||||
|
||||
@ -102,7 +100,7 @@ void VWebView::contextMenuEvent(QContextMenuEvent *p_event)
|
||||
defaultCopyImageAct->setVisible(false);
|
||||
}
|
||||
|
||||
if (!hasSelection()) {
|
||||
if (!hasSelection() && !m_inPreview) {
|
||||
QAction *savePageAct = new QAction(QWebEnginePage::tr("Save &Page"), menu);
|
||||
connect(savePageAct, &QAction::triggered,
|
||||
this, &VWebView::requestSavePage);
|
||||
@ -110,13 +108,26 @@ void VWebView::contextMenuEvent(QContextMenuEvent *p_event)
|
||||
}
|
||||
|
||||
// Add Copy All As menu.
|
||||
if (!m_inPreview) {
|
||||
initCopyAllAsMenu(menu);
|
||||
}
|
||||
|
||||
hideUnusedActions(menu);
|
||||
|
||||
p_event->accept();
|
||||
|
||||
bool valid = false;
|
||||
for (auto act : menu->actions()) {
|
||||
if (act->isVisible()) {
|
||||
valid = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (valid) {
|
||||
menu->exec(p_event->globalPos());
|
||||
}
|
||||
|
||||
delete menu;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user