Messagelib

webengineview.h
1 /*
2  SPDX-FileCopyrightText: 2016-2023 Laurent Montel <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #pragma once
8 
9 #include "webengineviewer_export.h"
10 #include <QWebEngineView>
11 #include <WebEngineViewer/BlockTrackingUrlInterceptor>
12 namespace WebEngineViewer
13 {
14 class WebEngineViewPrivate;
15 class WebEngineManageScript;
16 class LocalDataBaseManager;
17 
18 /**
19  * @brief The WebEngineView class
20  * @author Laurent Montel <[email protected]>
21  */
22 class WEBENGINEVIEWER_EXPORT WebEngineView : public QWebEngineView
23 {
24  Q_OBJECT
25 public:
26  explicit WebEngineView(QWidget *parent = nullptr);
27  ~WebEngineView() override;
28 
29  void clearRelativePosition();
30  void saveRelativePosition();
31  Q_REQUIRED_RESULT qreal relativePosition() const;
32 
33  Q_REQUIRED_RESULT WebEngineManageScript *webEngineManagerScript() const;
34 
35  Q_REQUIRED_RESULT WebEngineViewer::LocalDataBaseManager *phishingDatabase() const;
36 
37 Q_SIGNALS:
38  void mailTrackingFound(const WebEngineViewer::BlockTrackingUrlInterceptor::TrackerBlackList &);
39 
40 protected:
41  bool eventFilter(QObject *obj, QEvent *event) override;
42  QWebEngineView *createWindow(QWebEnginePage::WebWindowType type) override;
43 
44  virtual void forwardWheelEvent(QWheelEvent *event);
45  virtual void forwardKeyPressEvent(QKeyEvent *event);
46  virtual void forwardKeyReleaseEvent(QKeyEvent *event);
47  virtual void forwardMousePressEvent(QMouseEvent *event);
48  virtual void forwardMouseMoveEvent(QMouseEvent *event);
49  virtual void forwardMouseReleaseEvent(QMouseEvent *event);
50 
51 private:
52  std::unique_ptr<WebEngineViewPrivate> const d;
53 };
54 }
The WebEngineView class.
Definition: webengineview.h:22
The LocalDataBaseManager class.
The WebEngineManageScript class.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Mar 26 2023 04:08:12 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.