diff options
Diffstat (limited to 'general/Ini.cpp')
| -rw-r--r-- | general/Ini.cpp | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/general/Ini.cpp b/general/Ini.cpp deleted file mode 100644 index 61de9836..00000000 --- a/general/Ini.cpp +++ /dev/null @@ -1,220 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: general/Ini.cpp -// Purpose: Define sections for data files -// Author: Ben Boeckel -// Modified by: Ben Boeckel -// Created: Fri May 4 23:27:37 2007 -// Copyright: ©2007 Nerdy Productions -// Licence: -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program. If not, see <http://www.gnu.org/licenses/>. -///////////////////////////////////////////////////////////////////////////// - -#include "Ini.h" - -PokeGen::Ini::Ini(const QString& n) : - name(n) -{ -} - -PokeGen::Ini::Ini(QFile& f) -{ - Load(f); -} - -void PokeGen::Ini::Export(const QString& p) const -{ - QFile fout(p); - fout.open(QIODevice::WriteOnly); - Export(fout); - fout.close(); -} - -void PokeGen::Ini::Export(QFile& file) const -{ - QTextStream fout(&file); - fout << '[' << name << "]\n"; - for (QMap<QString, QString>::ConstIterator i = fields.begin(); i != fields.end(); ++i) - fout << i.key() << '=' << i.value() << '\n'; - fout << '\n'; -} - -void PokeGen::Ini::AddField(const QString& n, const bool v) -{ - fields[n] = v ? "true" : "false"; -} - -void PokeGen::Ini::AddField(const QString& n, const unsigned char v) -{ - fields[n] = QString("%1").arg(v); -} - -void PokeGen::Ini::AddField(const QString& n, const int v) -{ - fields[n] = QString("%1").arg(v); -} - -void PokeGen::Ini::AddField(const QString& n, const unsigned v) -{ - fields[n] = QString("%1").arg(v); -} - -void PokeGen::Ini::AddField(const QString& n, const float v) -{ - fields[n] = QString("%1").arg(v); -} - -void PokeGen::Ini::AddField(const QString& n, const double v) -{ - fields[n] = QString("%1").arg(v); -} - -void PokeGen::Ini::AddField(const QString& n, const QString& v) -{ - fields[n] = v; -} - -QString PokeGen::Ini::GetName() const -{ - return name; -} - -void PokeGen::Ini::GetValue(const QString& field, bool& val, const bool def) -{ - if (!fields.count(field)) - { - val = def; - return; - } - if (fields[field] == "true") - val = true; - else if (fields[field] == "false") - val = false; - else - val = def; -} - -void PokeGen::Ini::GetValue(const QString& field, unsigned char& val, const unsigned char def) -{ - if (!fields.count(field)) - { - val = def; - return; - } - bool ok; - unsigned temp; - temp = fields[field].toUInt(&ok); - if (ok && (temp <= UCHAR_MAX)) - val = temp; - else - val = def; -} - -void PokeGen::Ini::GetValue(const QString& field, int& val, const int def) -{ - if (!fields.count(field)) - { - val = def; - return; - } - bool ok; - val = fields[field].toInt(&ok); - if (!ok) - val = def; -} - -void PokeGen::Ini::GetValue(const QString& field, unsigned& val, const unsigned def) -{ - if (!fields.count(field)) - { - val = def; - return; - } - bool ok; - val = fields[field].toUInt(&ok); - if (!ok) - val = def; -} - -void PokeGen::Ini::GetValue(const QString& field, float& val, const float def) -{ - if (!fields.count(field)) - { - val = def; - return; - } - bool ok; - val = fields[field].toFloat(&ok); - if (!ok) - val = def; -} - -void PokeGen::Ini::GetValue(const QString& field, double& val, const double def) -{ - if (!fields.count(field)) - { - val = def; - return; - } - bool ok; - val = fields[field].toDouble(&ok); - if (!ok) - val = def; -} - -void PokeGen::Ini::GetValue(const QString& field, QString& val, const QString& def) -{ - if (!fields.count(field)) - { - val = def; - return; - } - val = fields[field]; -} - -bool PokeGen::Ini::IsValid() const -{ - return isValid; -} - -bool PokeGen::Ini::Load(QFile& file) -{ - QTextStream fin(&file); - QString line = fin.readLine(); - QString field; - QString value; - fields.clear(); - int pos; - name = ""; - isValid = true; - if (line.at(0) != '[') - return (isValid = false); - if (line.at(line.length() - 1) != ']') - return (isValid = false); - name = line.mid(1, line.length() - 2); - line = fin.readLine(); - while (!fin.atEnd()) - { - if (line.at(0) == '[') - return (isValid = false); - pos = line.indexOf('='); - if (pos == -1) - return (isValid = false); - field = line.mid(0, pos - 1); - value = line.mid(pos + 1, line.length() - pos); - if (field.isEmpty()) - return (isValid = false); - line = fin.readLine(); - } - return true; -} |
