OneSixInstance::OneSixInstance ( const QString& rootDir, SettingsObject* setting_obj, QObject* parent ) : BaseInstance ( new OneSixInstancePrivate(), rootDir, setting_obj, parent ) { I_D(OneSixInstance); d->m_settings->registerSetting(new Setting("IntendedVersion", "")); d->m_settings->registerSetting(new Setting("ShouldUpdate", false)); reloadFullVersion(); }
bool OneSixInstance::revertCustomVersion() { if (versionIsCustom()) { auto path = PathCombine(instanceRoot(), "custom.json"); QFile::remove(path); return reloadFullVersion(); } else return true; }
bool OneSixInstance::setIntendedVersionId(QString version) { settings().set("IntendedVersion", version); setShouldUpdate(true); auto pathCustom = PathCombine(instanceRoot(), "custom.json"); auto pathOrig = PathCombine(instanceRoot(), "version.json"); QFile::remove(pathCustom); QFile::remove(pathOrig); reloadFullVersion(); return true; }
bool OneSixInstance::customizeVersion() { if (!versionIsCustom()) { auto pathCustom = PathCombine(instanceRoot(), "custom.json"); auto pathOrig = PathCombine(instanceRoot(), "version.json"); QFile::copy(pathOrig, pathCustom); return reloadFullVersion(); } else return true; }