aboutsummaryrefslogtreecommitdiff
path: root/launcher/settings
diff options
context:
space:
mode:
authorTrial97 <alexandru.tripon97@gmail.com>2023-07-26 23:56:01 +0300
committerTrial97 <alexandru.tripon97@gmail.com>2023-07-26 23:56:01 +0300
commit1e82cb6a7c9c7e8d0a9bfa3d2505b4b8eb132944 (patch)
tree69be9e8f823cd51af76ab7296511e842137a19b6 /launcher/settings
parenta0944dab7a8fff9b5d9c2c8d35cc55349c93a3cd (diff)
downloadPrismLauncher-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.cpp21
-rw-r--r--launcher/settings/INIFile.h1
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;