[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdepim-apps-libs] composereditorwebengine/src: Use new webengineview
From: Montel Laurent <montel () kde ! org>
Date: 2016-04-01 5:31:34
Message-ID: E1alrgE-0003dl-4q () scm ! kde ! org
[Download RAW message or body]
Git commit 0a4ef3da910522419140ac76295958388aa60211 by Montel Laurent.
Committed on 01/04/2016 at 05:31.
Pushed by mlaurent into branch 'master'.
Use new webengineview
M +16 -4 composereditorwebengine/src/composerwebengine.cpp
M +6 -0 composereditorwebengine/src/composerwebengine.h
M +2 -1 composereditorwebengine/src/private/composerwebengine_p.cpp
M +5 -0 composereditorwebengine/src/private/composerwebengine_p.h
http://commits.kde.org/kdepim-apps-libs/0a4ef3da910522419140ac76295958388aa60211
diff --git a/composereditorwebengine/src/composerwebengine.cpp \
b/composereditorwebengine/src/composerwebengine.cpp index d9af1bf..1ab9479 100644
--- a/composereditorwebengine/src/composerwebengine.cpp
+++ b/composereditorwebengine/src/composerwebengine.cpp
@@ -40,13 +40,18 @@
#include <KSelectAction>
#include <QMenu>
#include <QIcon>
-
+#include <MessageViewer/WebHitTest>
+#include <MessageViewer/MailWebEnginePage>
+#include <QWebEngineSettings>
using namespace ComposerEditorWebEngine;
ComposerWebEngine::ComposerWebEngine(QWidget *parent)
: MessageViewer::WebEngineView(parent),
d(new ComposerEditorWebEngine::ComposerEditorWebEnginePrivate(this))
{
+ d->mPageEngine = new MessageViewer::MailWebEnginePage(this);
+ setPage(d->mPageEngine);
+
QFile file(initialHtml());
qCDebug(COMPOSEREDITORWEBENGINE_LOG) << file.fileName();
@@ -55,8 +60,9 @@ ComposerWebEngine::ComposerWebEngine(QWidget *parent)
} else {
setHtmlContent(QString::fromUtf8(file.readAll())); //, \
"application/xhtml+xml" ); }
-
- page()->runJavaScript(QStringLiteral("document.documentElement.contentEditable = \
true")); + settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
+ d->mPageEngine->runJavaScript(QStringLiteral("document.documentElement.contentEditable \
= true")); + setFocusPolicy(Qt::WheelFocus);
}
ComposerWebEngine::~ComposerWebEngine()
@@ -209,7 +215,13 @@ void \
ComposerWebEngine::addCreatedActionsToActionCollection(KActionCollection *a }
}
-void ComposerWebEngine::contextMenuEvent(QContextMenuEvent *event)
+void ComposerWebEngine::contextMenuEvent(QContextMenuEvent *e)
+{
+ MessageViewer::WebHitTest *webHit = d->mPageEngine->hitTestContent(e->pos());
+ connect(webHit, &MessageViewer::WebHitTest::finished, this, \
&ComposerWebEngine::slotWebHitFinished); +}
+
+void ComposerWebEngine::slotWebHitFinished(const MessageViewer::WebHitTestResult \
&result) {
#if 0
d->hideImageResizeWidget();
diff --git a/composereditorwebengine/src/composerwebengine.h \
b/composereditorwebengine/src/composerwebengine.h index 30cedc3..f33b577 100644
--- a/composereditorwebengine/src/composerwebengine.h
+++ b/composereditorwebengine/src/composerwebengine.h
@@ -26,6 +26,10 @@
#include "composereditorwebengine_export.h"
class KActionCollection;
class KToolBar;
+namespace MessageViewer
+{
+class WebHitTestResult;
+}
namespace ComposerEditorWebEngine
{
class ComposerEditorWebEnginePrivate;
@@ -123,6 +127,8 @@ Q_SIGNALS:
void showFindBar();
void openLink(const QUrl &);
+private Q_SLOTS:
+ void slotWebHitFinished(const MessageViewer::WebHitTestResult &result);
private:
friend class ComposerEditorWebEnginePrivate;
ComposerEditorWebEnginePrivate *const d;
diff --git a/composereditorwebengine/src/private/composerwebengine_p.cpp \
b/composereditorwebengine/src/private/composerwebengine_p.cpp index ac957fc..7e9e783 \
100644
--- a/composereditorwebengine/src/private/composerwebengine_p.cpp
+++ b/composereditorwebengine/src/private/composerwebengine_p.cpp
@@ -105,7 +105,8 @@ ComposerEditorWebEnginePrivate::ComposerEditorWebEnginePrivate(ComposerEditorWeb
action_insert_specialchar(Q_NULLPTR),
action_insert_anchor(Q_NULLPTR),
q(qq),
- imageResizeWidget(Q_NULLPTR)
+ imageResizeWidget(Q_NULLPTR),
+ mPageEngine(Q_NULLPTR)
{
}
#define FOLLOW_CHECK(a1, a2) a1->setChecked(getAction(a2)->isChecked())
diff --git a/composereditorwebengine/src/private/composerwebengine_p.h \
b/composereditorwebengine/src/private/composerwebengine_p.h index c518660..33c777b \
100644
--- a/composereditorwebengine/src/private/composerwebengine_p.h
+++ b/composereditorwebengine/src/private/composerwebengine_p.h
@@ -34,6 +34,10 @@ namespace KPIMTextEdit
{
class EmoticonTextEditAction;
}
+namespace MessageViewer
+{
+class MailWebEnginePage;
+}
namespace ComposerEditorWebEngine
{
@@ -168,6 +172,7 @@ public:
ComposerWebEngine *q;
ComposerImageResizeWidget *imageResizeWidget;
+ MessageViewer::MailWebEnginePage *mPageEngine;
};
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic