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.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/save_restore_session.cpp b/src/save_restore_session.cpp
new file mode 100644
index 0000000..ec292a2
--- /dev/null
+++ b/src/save_restore_session.cpp
@@ -0,0 +1,35 @@
+#include <QDir>
+#include <QIODevice>
+#include <QString>
+
+void writeSessionName(QString name) {
+ // TODO: use constants
+ QDir saveFileDir(QDir::homePath() + "/.openslx");
+ QString saveFileName("vmchooser_prev_session");
+
+ if (! saveFileDir.exists()) {
+ if (! saveFileDir.mkpath(saveFileDir.path())) {
+ // TODO: error
+ return;
+ }
+ }
+
+ QFile saveFile(saveFileDir.path() + "/" + saveFileName);
+ if (!saveFile.open(QIODevice::WriteOnly) ||
+ saveFile.write(name.toUtf8().data()) == -1) {
+ // TODO: error
+ }
+}
+
+QString readSessionName() {
+ QString saveFileDir(QDir::homePath() + "/.openslx");
+ QString saveFileName("vmchooser_prev_session");
+
+ QFile saveFile(saveFileDir + "/" + saveFileName);
+
+ if (saveFile.open(QIODevice::ReadOnly)) {
+ return QString(saveFile.readAll());
+ } else {
+ return QString();
+ }
+}