1#ifndef _CLASS_WEVBIEW_H_
2#define _CLASS_WEVBIEW_H_
29#if defined(COMPILE_WEBENGINE_SUPPORT)
32#include <QNetworkAccessManager>
33#include <QWebEngineView>
34#include <QWebEnginePage>
36#include <QContextMenuEvent>
38#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
39#define DOWNLOAD_CLASS_NAME QWebEngineDownloadItem
41#define DOWNLOAD_CLASS_NAME QWebEngineDownloadRequest
44class DOWNLOAD_CLASS_NAME;
46class KvsObject_webView;
48class KviKvsWebView :
public QWebEngineView
52 KviKvsWebView(QWidget * par,
const char * name, KvsObject_webView *);
58 KvsObject_webView * m_pParentScript;
61 void mouseMoveEvent(QMouseEvent * ev)
override;
62 void contextMenuEvent(QContextMenuEvent *)
override;
63 bool event(QEvent *
e)
override;
70class KviKvsWebViewPage :
public QWebEnginePage
74 enum LinkDelegationPolicy
80 KviKvsWebViewPage(QObject* parent = 0) : QWebEnginePage(parent){}
82 bool acceptNavigationRequest(
const QUrl & url, QWebEnginePage::NavigationType type,
bool)
84 if (type == QWebEnginePage::NavigationTypeLinkClicked)
86 emit linkClicked(url);
89 case DelegateAllLinks:
91 case DontDelegateLinks:
99 void setLinkDelegationPolicy(LinkDelegationPolicy policy)
105 LinkDelegationPolicy m_ePolicy = DontDelegateLinks;
107 void linkClicked(
const QUrl&);
119 QNetworkAccessManager * m_pNetworkManager =
nullptr;
122 QWidget * widget() {
return (QWidget *)
object(); }
150 void slotLoadFinished(
bool);
151 void slotLoadProgress(
int);
152 void slotLoadStarted();
153 void slotDownloadRequest(DOWNLOAD_CLASS_NAME *);
154 void slotLinkClicked(
const QUrl &);
156 void slotOnChange(QString);
157 void slotOnSubmit(QString);
158 void slotOnClick(QString);
159 void slotOnMouseOver(QString);
160 void slotOnMouseOut(QString);
163class KviKvsDownloadHandler :
public QObject
167 KviKvsDownloadHandler(KvsObject_webView * pParent, QString &szFilePath, DOWNLOAD_CLASS_NAME * pDownload,
int iId);
169 ~KviKvsDownloadHandler();
172 KvsObject_webView * m_pParentScript;
173 DOWNLOAD_CLASS_NAME * m_pDownload;
176 void slotDownloadProgress(qint64 bytesReceived, qint64 bytesTotal);
Definition KviKvsObjectFunctionCall.h:34
Definition KviKvsObject.h:51
QObject * object() const
Definition KviKvsObject.h:94
Definition KviKvsRunTimeContext.h:104
Class to handle variant variables lists.
Definition KviKvsVariantList.h:42
A template double linked list of pointers.
Definition KviPointerList.h:371
#define e
Definition detector.cpp:70
This file contains compile time settings.
#define KVSO_DECLARE_OBJECT(__className)
Definition object_macros.h:33
int init()
Definition winamp.cpp:118