[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