aboutsummaryrefslogtreecommitdiff
path: root/src/mainwindow
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-11-26 00:58:19 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2018-11-26 00:58:19 +0100
commit696743557de6a6b82303618d8f60f08f8978e650 (patch)
tree98aeb14150260921e0130c0879d59a65f4a45741 /src/mainwindow
parentAdd Session Dialog (diff)
downloadsmolbote-696743557de6a6b82303618d8f60f08f8978e650.tar.xz
Add Session::view and Session::restoreView
Diffstat (limited to 'src/mainwindow')
-rw-r--r--src/mainwindow/mainwindow.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/mainwindow/mainwindow.cpp b/src/mainwindow/mainwindow.cpp
index 80e4faa..a01cb94 100644
--- a/src/mainwindow/mainwindow.cpp
+++ b/src/mainwindow/mainwindow.cpp
@@ -12,7 +12,7 @@
#include "config.h"
#include "configuration.h"
#include "profilemanager.h"
-#include "session.h"
+#include "session/session.h"
#include "session/sessiondialog.h"
#include "subwindow/subwindow.h"
#include "ui_mainwindow.h"
@@ -119,13 +119,33 @@ MainWindow::MainWindow(const std::unique_ptr<Configuration> &config, QWidget *pa
// connect session menu
{
connect(ui->actionSaveSession, &QAction::triggered, this, [this]() {
+#ifndef QT_DEBUG
const QString filename = QFileDialog::getSaveFileName(this, tr("Save Session"), QDir::homePath(), tr("JSON (*.json)"));
QFile output(filename);
if(output.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text)) {
output.write(QJsonDocument(Session::window(this)).toJson());
output.close();
}
+#else
+ auto data = Session::view(currentView);
+ QJsonDocument doc(data);
+ qDebug(qUtf8Printable(doc.toJson()));
+#endif
+ });
+
+#ifdef QT_DEBUG
+ auto *openViewAction = ui->menuSession->addAction("Open View");
+ connect(openViewAction, &QAction::triggered, this, [this]() {
+ const QString filename = QFileDialog::getOpenFileName(this, tr("Open View"), QDir::homePath(), tr("JSON (*json)"));
+ QFile output(filename);
+ if(output.open(QIODevice::ReadOnly | QIODevice::Text)) {
+ QJsonDocument doc = QJsonDocument::fromJson(output.readAll());
+ Session::restoreView(currentView, doc.object());
+ output.close();
+ }
});
+#endif
+
connect(ui->actionLoadSession, &QAction::triggered, this, [this]() {
auto *sessionDialog = new SessionDialog(this);
sessionDialog->exec();