diff options
author | Petr Mrázek <peterix@gmail.com> | 2021-07-25 19:11:59 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2021-07-25 19:50:44 +0200 |
commit | 20b9f2b42a3b58b6081af271774fbcc34025dccb (patch) | |
tree | 064fa59facb3357139b47bd4e60bfc8edb35ca11 /api/logic/minecraft/gameoptions/GameOptions.cpp | |
parent | dd133680858351e3e07690e286882327a4f42ba5 (diff) | |
download | PrismLauncher-20b9f2b42a3b58b6081af271774fbcc34025dccb.tar.gz PrismLauncher-20b9f2b42a3b58b6081af271774fbcc34025dccb.tar.bz2 PrismLauncher-20b9f2b42a3b58b6081af271774fbcc34025dccb.zip |
NOISSUE Flatten gui and logic libraries into MultiMC
Diffstat (limited to 'api/logic/minecraft/gameoptions/GameOptions.cpp')
-rw-r--r-- | api/logic/minecraft/gameoptions/GameOptions.cpp | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/api/logic/minecraft/gameoptions/GameOptions.cpp b/api/logic/minecraft/gameoptions/GameOptions.cpp deleted file mode 100644 index e547b32a..00000000 --- a/api/logic/minecraft/gameoptions/GameOptions.cpp +++ /dev/null @@ -1,144 +0,0 @@ -#include "GameOptions.h" -#include "FileSystem.h" -#include <QDebug> -#include <QSaveFile> - -namespace { -bool load(const QString& path, std::vector<GameOptionItem> &contents, int & version) -{ - contents.clear(); - QFile file(path); - if (!file.open(QFile::ReadOnly)) - { - qWarning() << "Failed to read options file."; - return false; - } - version = 0; - while(!file.atEnd()) - { - auto line = file.readLine(); - if(line.endsWith('\n')) - { - line.chop(1); - } - auto separatorIndex = line.indexOf(':'); - if(separatorIndex == -1) - { - continue; - } - auto key = QString::fromUtf8(line.data(), separatorIndex); - auto value = QString::fromUtf8(line.data() + separatorIndex + 1, line.size() - 1 - separatorIndex); - qDebug() << "!!" << key << "!!"; - if(key == "version") - { - version = value.toInt(); - continue; - } - contents.emplace_back(GameOptionItem{key, value}); - } - qDebug() << "Loaded" << path << "with version:" << version; - return true; -} -bool save(const QString& path, std::vector<GameOptionItem> &mapping, int version) -{ - QSaveFile out(path); - if(!out.open(QIODevice::WriteOnly)) - { - return false; - } - if(version != 0) - { - QString versionLine = QString("version:%1\n").arg(version); - out.write(versionLine.toUtf8()); - } - auto iter = mapping.begin(); - while (iter != mapping.end()) - { - out.write(iter->key.toUtf8()); - out.write(":"); - out.write(iter->value.toUtf8()); - out.write("\n"); - iter++; - } - return out.commit(); -} -} - -GameOptions::GameOptions(const QString& path): - path(path) -{ - reload(); -} - -QVariant GameOptions::headerData(int section, Qt::Orientation orientation, int role) const -{ - if(role != Qt::DisplayRole) - { - return QAbstractListModel::headerData(section, orientation, role); - } - switch(section) - { - case 0: - return tr("Key"); - case 1: - return tr("Value"); - default: - return QVariant(); - } -} - -QVariant GameOptions::data(const QModelIndex& index, int role) const -{ - if (!index.isValid()) - return QVariant(); - - int row = index.row(); - int column = index.column(); - - if (row < 0 || row >= int(contents.size())) - return QVariant(); - - switch (role) - { - case Qt::DisplayRole: - if(column == 0) - { - return contents[row].key; - } - else - { - return contents[row].value; - } - default: - return QVariant(); - } - return QVariant(); -} - -int GameOptions::rowCount(const QModelIndex&) const -{ - return contents.size(); -} - -int GameOptions::columnCount(const QModelIndex&) const -{ - return 2; -} - -bool GameOptions::isLoaded() const -{ - return loaded; -} - -bool GameOptions::reload() -{ - beginResetModel(); - loaded = load(path, contents, version); - endResetModel(); - return loaded; -} - -bool GameOptions::save() -{ - return ::save(path, contents, version); -} |