From 7ca46b066389da5818a7daff61200cbadd4eca84 Mon Sep 17 00:00:00 2001 From: shunf4 Date: Fri, 9 Jul 2021 10:46:19 +0800 Subject: [PATCH] fix context menu --- ui/widgets/conversation.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ui/widgets/conversation.cpp b/ui/widgets/conversation.cpp index 731915a..cfc3a52 100644 --- a/ui/widgets/conversation.cpp +++ b/ui/widgets/conversation.cpp @@ -84,14 +84,17 @@ Conversation::Conversation(bool muc, Models::Account* acc, const QString pJid, c m_ui->messageEditor->installEventFilter(&ker); - QMenu *editorMenu = m_ui->messageEditor->createStandardContextMenu(); - editorMenu->addSeparator(); QAction* pasteImageAction = new QAction(tr("Paste Image"), this); connect(pasteImageAction, &QAction::triggered, this, &Conversation::onImagePasted); - editorMenu->addAction(pasteImageAction); + m_ui->messageEditor->setContextMenuPolicy(Qt::CustomContextMenu); - connect(m_ui->messageEditor, &QTextEdit::customContextMenuRequested, this, [this, pasteImageAction, editorMenu](const QPoint &pos) { + connect(m_ui->messageEditor, &QTextEdit::customContextMenuRequested, this, [this, pasteImageAction](const QPoint &pos) { pasteImageAction->setEnabled(Conversation::checkClipboardImage()); + + QMenu *editorMenu = m_ui->messageEditor->createStandardContextMenu(); + editorMenu->addSeparator(); + editorMenu->addAction(pasteImageAction); + editorMenu->exec(this->m_ui->messageEditor->mapToGlobal(pos)); });