aboutsummaryrefslogtreecommitdiff
path: root/src/webengine/webview.h
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2020-04-13 15:44:09 +0300
committerAqua-sama <aqua@iserlohn-fortress.net>2020-04-13 15:44:09 +0300
commit396bc0c1721af8d3ee970228e7df457f6b2c73d5 (patch)
tree5aee4f0faec3fdfe616e1684dcb1736be9126bc1 /src/webengine/webview.h
parentAdd singleapplication.wrap (diff)
downloadsmolbote-396bc0c1721af8d3ee970228e7df457f6b2c73d5.tar.xz
Rewrite Session backend
Add session.hpp, containing structs that describe session data MainWindow, SubWindow and WebView can be created from Session::structs Opening new window will automatically open a default subwindow and tab if none were specified Add lib/session_formats Add JsonSession, to serialize/deserialize Session structs into JSON - add some tests clang-tidy: - fix various warnings - disable modernize-use-trailing-return-type check
Diffstat (limited to 'src/webengine/webview.h')
-rw-r--r--src/webengine/webview.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/webengine/webview.h b/src/webengine/webview.h
index 0223b78..5748691 100644
--- a/src/webengine/webview.h
+++ b/src/webengine/webview.h
@@ -11,26 +11,32 @@
#include "webpage.h"
#include <QWebEngineView>
+#include <session.hpp>
class WebProfile;
class SubWindow;
class WebViewContextMenu;
-class WebView : public QWebEngineView
+class WebView final : public QWebEngineView
{
friend class WebViewContextMenu;
Q_OBJECT
+ explicit WebView(QWidget *parent = nullptr);
+
public:
explicit WebView(WebProfile *profile = nullptr, QWidget *parent = nullptr);
+ explicit WebView(const Session::WebView &data, QWidget *parent = nullptr);
~WebView() = default;
- WebProfile *profile() const
+ [[nodiscard]] WebProfile *profile() const
{
return m_profile;
}
void setProfile(WebProfile *profile);
+ [[nodiscard]] Session::WebView serialize() const;
+
bool isLoaded() const;
public slots: