diff options
Diffstat (limited to 'src/session.cpp')
-rw-r--r-- | src/session.cpp | 30 |
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); +} |