summaryrefslogtreecommitdiffstats
path: root/src/save_restore_session.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/save_restore_session.cpp')
-rw-r--r--src/save_restore_session.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/save_restore_session.cpp b/src/save_restore_session.cpp
new file mode 100644
index 0000000..8ca1f9d
--- /dev/null
+++ b/src/save_restore_session.cpp
@@ -0,0 +1,31 @@
+#include "save_restore_session.h"
+#include <QDir>
+#include <QIODevice>
+#include <QString>
+#include "globals.h"
+
+void writeSessionName(QString name) {
+ QDir saveFileDir(QFileInfo(previousSessionFile).absoluteDir());
+ if (!saveFileDir.exists()) {
+ if (!saveFileDir.mkpath(saveFileDir.path())) {
+ // TODO: error
+ return;
+ }
+ }
+
+ QFile saveFile(previousSessionFile);
+ if (!saveFile.open(QIODevice::WriteOnly) ||
+ saveFile.write(name.toUtf8().data()) == -1) {
+ // TODO: error
+ }
+}
+
+QString readSessionName() {
+ QFile saveFile(previousSessionFile);
+
+ if (saveFile.open(QIODevice::ReadOnly)) {
+ return QString(saveFile.readAll());
+ } else {
+ return QString();
+ }
+}