aboutsummaryrefslogtreecommitdiff
path: root/src/subwindow/subwindow.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/subwindow/subwindow.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/subwindow/subwindow.h')
-rw-r--r--src/subwindow/subwindow.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/subwindow/subwindow.h b/src/subwindow/subwindow.h
index 8343a9b..02f50d0 100644
--- a/src/subwindow/subwindow.h
+++ b/src/subwindow/subwindow.h
@@ -9,6 +9,7 @@
#ifndef SMOLBOTE_SUBWINDOW_H
#define SMOLBOTE_SUBWINDOW_H
+#include "session.hpp"
#include "tabwidget.h"
#include "webengine/webview.h"
#include <QMenu>
@@ -27,7 +28,9 @@ public:
};
explicit SubWindow(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
+ explicit SubWindow(const Session::SubWindow &data, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
~SubWindow() = default;
+ [[nodiscard]] Session::SubWindow serialize() const;
[[nodiscard]] int currentTabIndex() const
{
@@ -66,6 +69,7 @@ signals:
public slots:
int addTab(const QUrl &url = QUrl(), WebProfile *profile = nullptr);
+ int addTab(const Session::WebView &data);
void closeTab(int index)
{
tabWidget->removeTab(index);