aboutsummaryrefslogtreecommitdiff
path: root/src/session.cpp
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-06-24 17:27:44 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2018-06-24 17:27:44 +0200
commite81526f15e8c1e9c82b27009dbe512f78cf1dc0f (patch)
treeea9a140347b6077d0521f85da4f9d881185fbb90 /src/session.cpp
parentSplit shortcuts into new tab (diff)
downloadsmolbote-e81526f15e8c1e9c82b27009dbe512f78cf1dc0f.tar.xz
Add Session class
Diffstat (limited to 'src/session.cpp')
-rw-r--r--src/session.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/session.cpp b/src/session.cpp
new file mode 100644
index 0000000..8e4f9a8
--- /dev/null
+++ b/src/session.cpp
@@ -0,0 +1,30 @@
+/*
+ * This file is part of smolbote. It's copyrighted by the contributors recorded
+ * in the version control history of the file, available from its original
+ * location: https://neueland.iserlohn-fortress.net/smolbote.hg
+ *
+ * SPDX-License-Identifier: GPL-3.0
+ */
+
+#include "session.h"
+#include "mainwindow/mainwindow.h"
+#include "mainwindow/subwindow.h"
+#include <QJsonObject>
+#include <QJsonArray>
+
+Session::Session(QObject *parent) : QObject(parent)
+{
+}
+
+QJsonDocument Session::toJson(MainWindow *window)
+{
+ QJsonObject session;
+
+ QJsonArray subwindows;
+ for(const SubWindow *subwindow : window->subWindows()) {
+ subwindows.append(subwindow->session());
+ }
+ session.insert("subwindows", subwindows);
+
+ return QJsonDocument(session);
+}