[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [messagelib] messageviewer/src: Improve popupmenu action
From: Montel Laurent <montel () kde ! org>
Date: 2016-03-31 19:28:27
Message-ID: E1aliGZ-00014r-HL () scm ! kde ! org
[Download RAW message or body]
Git commit b0ed1b370db550520aa9046862786a5d48017fbe by Montel Laurent.
Committed on 31/03/2016 at 19:28.
Pushed by mlaurent into branch 'master'.
Improve popupmenu action
M +0 -1 messageviewer/src/scamdetection/scamdetectionwebengine.cpp
M +29 -0 messageviewer/src/viewer/viewer_p.cpp
M +5 -0 messageviewer/src/viewer/viewer_p.h
M +1 -1 messageviewer/src/viewer/webengine/mailwebengineview.cpp
M +2 -1 messageviewer/src/viewer/webengine/mailwebengineview.h
http://commits.kde.org/messagelib/b0ed1b370db550520aa9046862786a5d48017fbe
diff --git a/messageviewer/src/scamdetection/scamdetectionwebengine.cpp \
b/messageviewer/src/scamdetection/scamdetectionwebengine.cpp index 2e9a6ad..07b3190 \
100644
--- a/messageviewer/src/scamdetection/scamdetectionwebengine.cpp
+++ b/messageviewer/src/scamdetection/scamdetectionwebengine.cpp
@@ -175,7 +175,6 @@ void ScamDetectionWebEngine::showDetails()
if (!d->mDetailsDialog) {
d->mDetailsDialog = new MessageViewer::ScamDetectionDetailsDialog;
}
-
d->mDetailsDialog->setDetails(d->mDetails);
d->mDetailsDialog->show();
}
diff --git a/messageviewer/src/viewer/viewer_p.cpp \
b/messageviewer/src/viewer/viewer_p.cpp index d3949e8..e414cb5 100644
--- a/messageviewer/src/viewer/viewer_p.cpp
+++ b/messageviewer/src/viewer/viewer_p.cpp
@@ -124,6 +124,7 @@
#include <QWebEngineSettings>
#include "htmlwriter/webengineparthtmlwriter.h"
#include <widgets/mailsourcewebengineviewer.h>
+#include <MessageViewer/WebHitTestResult>
#else
#include "widgets/mailsourceviewer.h"
#include "htmlwriter/webkitparthtmlwriter.h"
@@ -153,6 +154,7 @@
#include <widgets/zoomactionmenu.h>
#include <kpimtextedit/texttospeechwidget.h>
+
#include <grantleetheme/grantleethememanager.h>
#include <grantleetheme/grantleetheme.h>
@@ -2052,7 +2054,33 @@ void ViewerPrivate::slotUrlOn(const QString &link)
KPIM::BroadcastStatus::instance()->setTransientStatusMsg(msg);
Q_EMIT showStatusBarMessage(msg);
}
+#ifdef MESSAGEVIEWER_USE_QTWEBENGINE
+void ViewerPrivate::slotUrlPopup(const MessageViewer::WebHitTestResult &result)
+{
+ if (!mMsgDisplay) {
+ return;
+ }
+ mClickedUrl = result.linkUrl();
+ mImageUrl = result.imageUrl();
+ const QPoint aPos = mViewer->mapToGlobal(result.pos());
+ if (URLHandlerManager::instance()->handleContextMenuRequest(mClickedUrl, aPos, \
this)) { + return;
+ }
+
+ if (!mActionCollection) {
+ return;
+ }
+
+ if (mClickedUrl.scheme() == QLatin1String("mailto")) {
+ mCopyURLAction->setText(i18n("Copy Email Address"));
+ } else {
+ mCopyURLAction->setText(i18n("Copy Link Address"));
+ }
+
+ Q_EMIT popupMenu(mMessageItem, mClickedUrl, mImageUrl, aPos);
+}
+#else
void ViewerPrivate::slotUrlPopup(const QUrl &aUrl, const QUrl &imageUrl, const \
QPoint &aPos) {
if (!mMsgDisplay) {
@@ -2077,6 +2105,7 @@ void ViewerPrivate::slotUrlPopup(const QUrl &aUrl, const QUrl \
&imageUrl, const Q
Q_EMIT popupMenu(mMessageItem, aUrl, imageUrl, aPos);
}
+#endif
void ViewerPrivate::slotLoadExternalReference()
{
diff --git a/messageviewer/src/viewer/viewer_p.h \
b/messageviewer/src/viewer/viewer_p.h index 50f69e1..e5b8d44 100644
--- a/messageviewer/src/viewer/viewer_p.h
+++ b/messageviewer/src/viewer/viewer_p.h
@@ -79,6 +79,7 @@ class CSSHelper;
class FindBarWebEngineView;
class MailWebEngineView;
class WebEnginePartHtmlWriter;
+class WebHitTestResult;
#else
class FindBarWebView;
class MailWebView;
@@ -483,7 +484,11 @@ public Q_SLOTS:
void slotUrlOn(const QString &link);
/** The user presses the right mouse button on an URL. */
+#ifdef MESSAGEVIEWER_USE_QTWEBENGINE
+ void slotUrlPopup(const MessageViewer::WebHitTestResult &result);
+#else
void slotUrlPopup(const QUrl &, const QUrl &imageUrl, const QPoint &mousePos);
+#endif
/** The user selected "Find" from the menu. */
void slotFind();
diff --git a/messageviewer/src/viewer/webengine/mailwebengineview.cpp \
b/messageviewer/src/viewer/webengine/mailwebengineview.cpp index dee815d..df2c704 \
100644
--- a/messageviewer/src/viewer/webengine/mailwebengineview.cpp
+++ b/messageviewer/src/viewer/webengine/mailwebengineview.cpp
@@ -106,7 +106,7 @@ void MailWebEngineView::contextMenuEvent(QContextMenuEvent *e)
void MailWebEngineView::slotWebHitFinished(const MessageViewer::WebHitTestResult \
&result) {
- Q_EMIT popupMenu(result.linkUrl(), result.imageUrl(), \
mapToGlobal(result.pos())); + Q_EMIT popupMenu(result);
}
void MailWebEngineView::scrollUp(int pixels)
diff --git a/messageviewer/src/viewer/webengine/mailwebengineview.h \
b/messageviewer/src/viewer/webengine/mailwebengineview.h index b0a7650..9d8a822 \
100644
--- a/messageviewer/src/viewer/webengine/mailwebengineview.h
+++ b/messageviewer/src/viewer/webengine/mailwebengineview.h
@@ -78,12 +78,13 @@ Q_SIGNALS:
/// Emitted when the user right-clicks somewhere
/// @param url if an URL was under the cursor, this parameter contains it. \
Otherwise empty
/// @param point position where the click happened, in local coordinates
- void popupMenu(const QUrl &url, const QUrl &imageUrl, const QPoint &point);
+ void popupMenu(const MessageViewer::WebHitTestResult &result);
private Q_SLOTS:
void handleScrollToAnchor(const QVariant &result);
void slotWebHitFinished(const MessageViewer::WebHitTestResult &result);
+ void slotLoadFinished();
private:
MailWebEngineViewPrivate *const d;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic