diff options
author | Trial97 <alexandru.tripon97@gmail.com> | 2023-07-26 23:56:01 +0300 |
---|---|---|
committer | Trial97 <alexandru.tripon97@gmail.com> | 2023-07-26 23:56:01 +0300 |
commit | 1e82cb6a7c9c7e8d0a9bfa3d2505b4b8eb132944 (patch) | |
tree | 69be9e8f823cd51af76ab7296511e842137a19b6 /launcher/settings | |
parent | a0944dab7a8fff9b5d9c2c8d35cc55349c93a3cd (diff) | |
download | PrismLauncher-1e82cb6a7c9c7e8d0a9bfa3d2505b4b8eb132944.tar.gz PrismLauncher-1e82cb6a7c9c7e8d0a9bfa3d2505b4b8eb132944.tar.bz2 PrismLauncher-1e82cb6a7c9c7e8d0a9bfa3d2505b4b8eb132944.zip |
fix: add support for QByteArray inifile
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
Diffstat (limited to 'launcher/settings')
-rw-r--r-- | launcher/settings/INIFile.cpp | 21 | ||||
-rw-r--r-- | launcher/settings/INIFile.h | 1 |
2 files changed, 19 insertions, 3 deletions
diff --git a/launcher/settings/INIFile.cpp b/launcher/settings/INIFile.cpp index d16256b9..4fb11ed3 100644 --- a/launcher/settings/INIFile.cpp +++ b/launcher/settings/INIFile.cpp @@ -37,11 +37,12 @@ #include "settings/INIFile.h" #include <FileSystem.h> +#include <QDebug> #include <QFile> -#include <QTextStream> -#include <QStringList> #include <QSaveFile> -#include <QDebug> +#include <QStringList> +#include <QTemporaryFile> +#include <QTextStream> #include <QSettings> @@ -71,6 +72,7 @@ bool INIFile::saveFile(QString fileName) return true; } + QString unescape(QString orig) { QString out; @@ -185,6 +187,19 @@ bool INIFile::loadFile(QString fileName) return true; } +bool INIFile::loadFile(QByteArray data) +{ + QTemporaryFile file; + if (!file.open()) + return false; + file.write(data); + file.flush(); + file.close(); + auto loaded = loadFile(file.fileName()); + file.remove(); + return loaded; +} + QVariant INIFile::get(QString key, QVariant def) const { if (!this->contains(key)) diff --git a/launcher/settings/INIFile.h b/launcher/settings/INIFile.h index 0d5c05eb..4ee543cf 100644 --- a/launcher/settings/INIFile.h +++ b/launcher/settings/INIFile.h @@ -50,6 +50,7 @@ public: explicit INIFile(); bool loadFile(QString fileName); + bool loadFile(QByteArray data); bool saveFile(QString fileName); QVariant get(QString key, QVariant def) const; |