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