| 48 | INIFile::INIFile() {} |
| 49 | |
| 50 | bool INIFile::saveFile(QString fileName) |
| 51 | { |
| 52 | if (!contains("ConfigVersion")) |
| 53 | insert("ConfigVersion", "1.2"); |
| 54 | QSettings _settings_obj{ fileName, QSettings::Format::IniFormat }; |
| 55 | _settings_obj.setFallbacksEnabled(false); |
| 56 | _settings_obj.clear(); |
| 57 | |
| 58 | for (Iterator iter = begin(); iter != end(); iter++) |
| 59 | _settings_obj.setValue(iter.key(), iter.value()); |
| 60 | |
| 61 | _settings_obj.sync(); |
| 62 | |
| 63 | if (auto status = _settings_obj.status(); status != QSettings::Status::NoError) { |
| 64 | // Shouldn't be possible! |
| 65 | Q_ASSERT(status != QSettings::Status::FormatError); |
| 66 | |
| 67 | if (status == QSettings::Status::AccessError) |
| 68 | qCritical() << "An access error occurred (e.g. trying to write to a read-only file)."; |
| 69 | |
| 70 | return false; |
| 71 | } |
| 72 | |
| 73 | return true; |
| 74 | } |
| 75 | |
| 76 | QString unescape(QString orig) |
| 77 | { |