Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
PIM Messagelib
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Merge Requests
2
Merge Requests
2
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PIM
PIM Messagelib
Commits
478fc472
Commit
478fc472
authored
Apr 01, 2016
by
Laurent Montel
😁
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use WebEngineEmbedPart
parent
c1f58e1b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
9 additions
and
31 deletions
+9
-31
messageviewer/src/CMakeLists.txt
messageviewer/src/CMakeLists.txt
+3
-0
messageviewer/src/htmlwriter/webengineparthtmlwriter.cpp
messageviewer/src/htmlwriter/webengineparthtmlwriter.cpp
+3
-27
messageviewer/src/htmlwriter/webengineparthtmlwriter.h
messageviewer/src/htmlwriter/webengineparthtmlwriter.h
+0
-4
messageviewer/src/viewer/webengine/mailwebengineview.cpp
messageviewer/src/viewer/webengine/mailwebengineview.cpp
+3
-0
No files found.
messageviewer/src/CMakeLists.txt
View file @
478fc472
...
...
@@ -37,6 +37,7 @@ if(BUILD_TESTING)
add_subdirectory
(
adblock/tests/
)
add_subdirectory
(
adblock/common/autotests
)
add_subdirectory
(
viewerplugins/tests/
)
add_subdirectory
(
htmlwriter/autotests/
)
if
(
QTWEBENGINE_SUPPORT_OPTION
)
add_subdirectory
(
webengine/tests
)
add_subdirectory
(
viewer/webengine/autotests
)
...
...
@@ -113,6 +114,7 @@ if (QTWEBENGINE_SUPPORT_OPTION)
webengine/webenginescript.cpp
webengine/webengineview.cpp
webengine/loadexternalreferencesurlinterceptor/loadexternalreferencesurlinterceptor.cpp
webengine/cidreferencesurlinterceptor/cidreferencesurlinterceptor.cpp
)
set
(
libmessageviewer_web_LIB Qt5::WebEngine Qt5::WebEngineWidgets
${
libmessageviewer_web_LIB
}
)
endif
()
...
...
@@ -203,6 +205,7 @@ set(libmessageviewer_utils_SRCS
if
(
QTWEBENGINE_SUPPORT_OPTION
)
set
(
libmessageviewer_htmlwriter_webengine_SRCS
htmlwriter/webengineparthtmlwriter.cpp
htmlwriter/webengineembedpart.cpp
)
endif
()
...
...
messageviewer/src/htmlwriter/webengineparthtmlwriter.cpp
View file @
478fc472
...
...
@@ -15,6 +15,7 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "webengineparthtmlwriter.h"
#include "webengineembedpart.h"
#include "messageviewer_debug.h"
#include "viewer/webengine/mailwebengineview.h"
...
...
@@ -46,7 +47,7 @@ void WebEnginePartHtmlWriter::begin(const QString &css)
reset
();
}
mEmbeddedPartMap
.
clear
();
MessageViewer
::
WebEngineEmbedPart
::
self
()
->
clear
();
// clear the widget:
mHtmlView
->
setUpdatesEnabled
(
false
);
mHtmlView
->
scrollUp
(
10
);
...
...
@@ -68,7 +69,6 @@ void WebEnginePartHtmlWriter::end()
mHtmlView
->
show
();
mHtml
.
clear
();
resolveCidUrls
();
mHtmlView
->
setUpdatesEnabled
(
true
);
mHtmlView
->
update
();
mState
=
Ended
;
...
...
@@ -107,31 +107,7 @@ void WebEnginePartHtmlWriter::flush()
void
WebEnginePartHtmlWriter
::
embedPart
(
const
QByteArray
&
contentId
,
const
QString
&
contentURL
)
{
mEmbeddedPartMap
[
QLatin1String
(
contentId
)]
=
contentURL
;
}
void
WebEnginePartHtmlWriter
::
resolveCidUrls
()
{
#if 0
// FIXME: instead of patching around in the HTML source, this should
// be replaced by a custom QNetworkAccessManager (for QWebView), or
// virtual loadResource() (for QTextBrowser)
QWebElement root = mHtmlView->page()->mainFrame()->documentElement();
QWebElementCollection images = root.findAll(QStringLiteral("img"));
QWebElementCollection::iterator end(images.end());
for (QWebElementCollection::iterator it = images.begin(); it != end; ++it) {
QUrl url((*it).attribute(QStringLiteral("src")));
if (url.scheme() == QLatin1String("cid")) {
EmbeddedPartMap::const_iterator cit = mEmbeddedPartMap.constFind(url.path());
if (cit != mEmbeddedPartMap.constEnd()) {
qCDebug(MESSAGEVIEWER_LOG) << "Replacing" << url.toDisplayString() << "by" << cit.value();
(*it).setAttribute(QStringLiteral("src"), cit.value());
}
}
}
#else
qDebug
()
<<
"WebEnginePartHtmlWriter::resolveCidUrls() not implemented"
;
#endif
MessageViewer
::
WebEngineEmbedPart
::
self
()
->
addEmbedPart
(
contentId
,
contentURL
);
}
void
WebEnginePartHtmlWriter
::
insertExtraHead
()
...
...
messageviewer/src/htmlwriter/webengineparthtmlwriter.h
View file @
478fc472
...
...
@@ -51,7 +51,6 @@ Q_SIGNALS:
void
finished
();
private:
void
resolveCidUrls
();
void
insertExtraHead
();
private:
...
...
@@ -63,9 +62,6 @@ private:
Queued
,
Ended
}
mState
;
// Key is Content-Id, value is URL
typedef
QMap
<
QString
,
QString
>
EmbeddedPartMap
;
EmbeddedPartMap
mEmbeddedPartMap
;
};
}
...
...
messageviewer/src/viewer/webengine/mailwebengineview.cpp
View file @
478fc472
...
...
@@ -21,6 +21,7 @@
#include "webengine/webenginescript.h"
#include "messageviewer/messageviewersettings.h"
#include "webengine/loadexternalreferencesurlinterceptor/loadexternalreferencesurlinterceptor.h"
#include "webengine/cidreferencesurlinterceptor/cidreferencesurlinterceptor.h"
#include <MessageViewer/NetworkAccessManagerWebEngine>
#include "scamdetection/scamdetectionwebengine.h"
...
...
@@ -85,6 +86,8 @@ MailWebEngineView::MailWebEngineView(KActionCollection *ac, QWidget *parent)
d
->
mNetworkAccessManager
=
new
MessageViewer
::
NetworkAccessManagerWebEngine
(
this
,
ac
,
this
);
d
->
mExternalReference
=
new
MessageViewer
::
LoadExternalReferencesUrlInterceptor
(
this
);
d
->
mNetworkAccessManager
->
addInterceptor
(
d
->
mExternalReference
);
MessageViewer
::
CidReferencesUrlInterceptor
*
cidReference
=
new
MessageViewer
::
CidReferencesUrlInterceptor
(
this
);
d
->
mNetworkAccessManager
->
addInterceptor
(
cidReference
);
d
->
mPageEngine
=
new
MailWebEnginePage
(
this
);
setPage
(
d
->
mPageEngine
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment