Added instance setting overrides.
This commit is contained in:
parent
4ca35a760d
commit
bd64cda672
@ -76,13 +76,7 @@ public:
|
|||||||
virtual InstanceList *instList() const;
|
virtual InstanceList *instList() const;
|
||||||
|
|
||||||
|
|
||||||
//////// FIELDS AND SETTINGS ////////
|
//////// INSTANCE INFO ////////
|
||||||
// Fields are options stored in the instance's config file that are specific
|
|
||||||
// to instances (not a part of SettingsBase). Settings are things overridden
|
|
||||||
// from SettingsBase.
|
|
||||||
|
|
||||||
|
|
||||||
////// Fields //////
|
|
||||||
|
|
||||||
//// General Info ////
|
//// General Info ////
|
||||||
|
|
||||||
@ -92,39 +86,39 @@ public:
|
|||||||
* \return The instance's name.
|
* \return The instance's name.
|
||||||
* \sa setName
|
* \sa setName
|
||||||
*/
|
*/
|
||||||
virtual QString name() { return getField("name", "Unnamed Instance").value<QString>(); }
|
virtual QString name() { return settings().get("name").toString(); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Sets the instance's name
|
* \brief Sets the instance's name
|
||||||
* \param val The instance's new name.
|
* \param val The instance's new name.
|
||||||
*/
|
*/
|
||||||
virtual void setName(QString val) { setField("name", val); }
|
virtual void setName(QString val) { settings().set("name", val); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Gets the instance's icon key.
|
* \brief Gets the instance's icon key.
|
||||||
* \return The instance's icon key.
|
* \return The instance's icon key.
|
||||||
* \sa setIconKey()
|
* \sa setIconKey()
|
||||||
*/
|
*/
|
||||||
virtual QString iconKey() const { return getField("iconKey", "default").value<QString>(); }
|
virtual QString iconKey() const { return settings().get("iconKey").toString(); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Sets the instance's icon key.
|
* \brief Sets the instance's icon key.
|
||||||
* \param val The new icon key.
|
* \param val The new icon key.
|
||||||
*/
|
*/
|
||||||
virtual void setIconKey(QString val) { setField("iconKey", val); }
|
virtual void setIconKey(QString val) { settings().set("iconKey", val); }
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Gets the instance's notes.
|
* \brief Gets the instance's notes.
|
||||||
* \return The instances notes.
|
* \return The instances notes.
|
||||||
*/
|
*/
|
||||||
virtual QString notes() const { return getField("notes", "").value<QString>(); }
|
virtual QString notes() const { return settings().get("notes").toString(); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Sets the instance's notes.
|
* \brief Sets the instance's notes.
|
||||||
* \param val The instance's new notes.
|
* \param val The instance's new notes.
|
||||||
*/
|
*/
|
||||||
virtual void setNotes(QString val) { setField("notes", val); }
|
virtual void setNotes(QString val) { settings().set("notes", val); }
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -134,13 +128,13 @@ public:
|
|||||||
* the jar mod list changes.
|
* the jar mod list changes.
|
||||||
* \return Whether or not the instance's jar file should be rebuilt.
|
* \return Whether or not the instance's jar file should be rebuilt.
|
||||||
*/
|
*/
|
||||||
virtual bool shouldRebuild() const { return getField("NeedsRebuild", false).value<bool>(); }
|
virtual bool shouldRebuild() const { return settings().get("NeedsRebuild").toBool(); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Sets whether or not the instance's minecraft.jar needs to be rebuilt.
|
* \brief Sets whether or not the instance's minecraft.jar needs to be rebuilt.
|
||||||
* \param val Whether the instance's minecraft needs to be rebuilt or not.
|
* \param val Whether the instance's minecraft needs to be rebuilt or not.
|
||||||
*/
|
*/
|
||||||
virtual void setShouldRebuild(bool val) { setField("NeedsRebuild", val); }
|
virtual void setShouldRebuild(bool val) { settings().set("NeedsRebuild", val); }
|
||||||
|
|
||||||
|
|
||||||
//// Version Stuff ////
|
//// Version Stuff ////
|
||||||
@ -152,7 +146,7 @@ public:
|
|||||||
* This value is updated by the updateCurrentVersion() function.
|
* This value is updated by the updateCurrentVersion() function.
|
||||||
* \return A string representing the instance's current version.
|
* \return A string representing the instance's current version.
|
||||||
*/
|
*/
|
||||||
virtual QString currentVersion() { return getField("JarVersion", "Unknown").value<QString>(); }
|
virtual QString currentVersion() { return settings().get("JarVersion").toString(); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Sets the instance's current version.
|
* \brief Sets the instance's current version.
|
||||||
@ -160,7 +154,7 @@ public:
|
|||||||
* mess with this unless you know what you're doing.
|
* mess with this unless you know what you're doing.
|
||||||
* \param val The new value.
|
* \param val The new value.
|
||||||
*/
|
*/
|
||||||
virtual void setCurrentVersion(QString val) { setField("JarVersion", val); }
|
virtual void setCurrentVersion(QString val) { settings().set("JarVersion", val); }
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -169,13 +163,13 @@ public:
|
|||||||
* defaults to "Mojang"
|
* defaults to "Mojang"
|
||||||
* \return The instance's LWJGL version.
|
* \return The instance's LWJGL version.
|
||||||
*/
|
*/
|
||||||
virtual QString lwjglVersion() { return getField("LwjglVersion", "Mojang").value<QString>(); }
|
virtual QString lwjglVersion() { return settings().get("LwjglVersion").toString(); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Sets the version of LWJGL that this instance should use.
|
* \brief Sets the version of LWJGL that this instance should use.
|
||||||
* \param val The LWJGL version to use
|
* \param val The LWJGL version to use
|
||||||
*/
|
*/
|
||||||
virtual void setLWJGLVersion(QString val) { setField("LwjglVersion", val); }
|
virtual void setLWJGLVersion(QString val) { settings().set("LwjglVersion", val); }
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -184,13 +178,13 @@ public:
|
|||||||
* download the intended version when it launches.
|
* download the intended version when it launches.
|
||||||
* \return The instance's intended version.
|
* \return The instance's intended version.
|
||||||
*/
|
*/
|
||||||
virtual QString intendedVersion() { return getField("IntendedJarVersion", currentVersion()).value<QString>(); }
|
virtual QString intendedVersion() { return settings().get("IntendedJarVersion").toString(); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Sets the version that this instance should try to update to.
|
* \brief Sets the version that this instance should try to update to.
|
||||||
* \param val The instance's new intended version.
|
* \param val The instance's new intended version.
|
||||||
*/
|
*/
|
||||||
virtual void setIntendedVersion(QString val) { setField("IntendedJarVersion", val); }
|
virtual void setIntendedVersion(QString val) { settings().set("IntendedJarVersion", val); }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -201,14 +195,14 @@ public:
|
|||||||
* Measured in milliseconds since epoch. QDateTime::currentMSecsSinceEpoch()
|
* Measured in milliseconds since epoch. QDateTime::currentMSecsSinceEpoch()
|
||||||
* \return The time that the instance was last launched.
|
* \return The time that the instance was last launched.
|
||||||
*/
|
*/
|
||||||
virtual qint64 lastLaunch() { return getField("lastLaunchTime", 0).value<qint64>(); }
|
virtual qint64 lastLaunch() { return settings().get("lastLaunchTime").value<qint64>(); }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Sets the time that the instance was last launched.
|
* \brief Sets the time that the instance was last launched.
|
||||||
* \param val The time to set. Defaults to QDateTime::currentMSecsSinceEpoch()
|
* \param val The time to set. Defaults to QDateTime::currentMSecsSinceEpoch()
|
||||||
*/
|
*/
|
||||||
virtual void setLastLaunch(qint64 val = QDateTime::currentMSecsSinceEpoch())
|
virtual void setLastLaunch(qint64 val = QDateTime::currentMSecsSinceEpoch())
|
||||||
{ setField("lastLaunchTime", val); }
|
{ settings().set("lastLaunchTime", val); }
|
||||||
|
|
||||||
|
|
||||||
////// Directories //////
|
////// Directories //////
|
||||||
@ -290,31 +284,11 @@ public:
|
|||||||
* This settings object stores instance-specific settings.
|
* This settings object stores instance-specific settings.
|
||||||
* \return A pointer to this instance's settings object.
|
* \return A pointer to this instance's settings object.
|
||||||
*/
|
*/
|
||||||
virtual SettingsObject &settings();
|
virtual SettingsObject &settings() const;
|
||||||
|
|
||||||
protected:
|
|
||||||
/*!
|
|
||||||
* \brief Gets the value of the given field in the instance's config file.
|
|
||||||
* If the value isn't in the config file, defVal is returned instead.
|
|
||||||
* \param name The name of the field in the config file.
|
|
||||||
* \param defVal The default value.
|
|
||||||
* \return The value of the given field or defVal if the field doesn't exist.
|
|
||||||
* \sa setField()
|
|
||||||
*/
|
|
||||||
virtual QVariant getField(const QString &name, QVariant defVal = QVariant()) const;
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief Sets the value of the given field in the config file.
|
|
||||||
* \param name The name of the field in the config file.
|
|
||||||
* \param val The value to set the field to.
|
|
||||||
* \sa getField()
|
|
||||||
*/
|
|
||||||
virtual void setField(const QString &name, QVariant val);
|
|
||||||
|
|
||||||
INIFile config;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_rootDir;
|
QString m_rootDir;
|
||||||
|
SettingsObject *m_settings;
|
||||||
};
|
};
|
||||||
|
|
||||||
// pointer for lazy people
|
// pointer for lazy people
|
||||||
|
@ -17,7 +17,9 @@
|
|||||||
|
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
|
|
||||||
#include "settingsobject.h"
|
#include "inisettingsobject.h"
|
||||||
|
#include "setting.h"
|
||||||
|
#include "overridesetting.h"
|
||||||
|
|
||||||
#include "pathutils.h"
|
#include "pathutils.h"
|
||||||
|
|
||||||
@ -25,7 +27,33 @@ Instance::Instance(const QString &rootDir, QObject *parent) :
|
|||||||
QObject(parent)
|
QObject(parent)
|
||||||
{
|
{
|
||||||
m_rootDir = rootDir;
|
m_rootDir = rootDir;
|
||||||
config.loadFile(PathCombine(rootDir, "instance.cfg"));
|
m_settings = new INISettingsObject(PathCombine(rootDir, "instance.cfg"), this);
|
||||||
|
|
||||||
|
settings().registerSetting(new Setting("name", "Unnamed Instance"));
|
||||||
|
settings().registerSetting(new Setting("iconKey", "default"));
|
||||||
|
settings().registerSetting(new Setting("notes", ""));
|
||||||
|
settings().registerSetting(new Setting("NeedsRebuild", true));
|
||||||
|
settings().registerSetting(new Setting("JarVersion", "Unknown"));
|
||||||
|
settings().registerSetting(new Setting("LwjglVersion", "Mojang"));
|
||||||
|
settings().registerSetting(new Setting("IntendedJarVersion", ""));
|
||||||
|
settings().registerSetting(new Setting("lastLaunchTime", 0));
|
||||||
|
|
||||||
|
// Java Settings
|
||||||
|
settings().registerSetting(new OverrideSetting("JavaPath", globalSettings->getSetting("JavaPath")));
|
||||||
|
settings().registerSetting(new OverrideSetting("JvmArgs", globalSettings->getSetting("JvmArgs")));
|
||||||
|
|
||||||
|
// Custom Commands
|
||||||
|
settings().registerSetting(new OverrideSetting("PreLaunchCommand",
|
||||||
|
globalSettings->getSetting("PreLaunchCommand")));
|
||||||
|
settings().registerSetting(new OverrideSetting("PostExitCommand",
|
||||||
|
globalSettings->getSetting("PostExitCommand")));
|
||||||
|
|
||||||
|
// Memory
|
||||||
|
settings().registerSetting(new OverrideSetting("MinMemAlloc", globalSettings->getSetting("MinMemAlloc")));
|
||||||
|
settings().registerSetting(new OverrideSetting("MaxMemAlloc", globalSettings->getSetting("MaxMemAlloc")));
|
||||||
|
|
||||||
|
// Auto login
|
||||||
|
settings().registerSetting(new OverrideSetting("AutoLogin", globalSettings->getSetting("AutoLogin")));
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Instance::id() const
|
QString Instance::id() const
|
||||||
@ -97,17 +125,7 @@ QString Instance::mcJar() const
|
|||||||
return PathCombine(binDir(), "minecraft.jar");
|
return PathCombine(binDir(), "minecraft.jar");
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant Instance::getField(const QString &name, QVariant defVal) const
|
SettingsObject &Instance::settings() const
|
||||||
{
|
{
|
||||||
return config.get(name, defVal);
|
return *m_settings;
|
||||||
}
|
|
||||||
|
|
||||||
void Instance::setField(const QString &name, QVariant val)
|
|
||||||
{
|
|
||||||
config.set(name, val);
|
|
||||||
}
|
|
||||||
|
|
||||||
SettingsObject &Instance::settings()
|
|
||||||
{
|
|
||||||
return *globalSettings;
|
|
||||||
}
|
}
|
||||||
|
@ -15,15 +15,19 @@ include/libsettings_config.h
|
|||||||
|
|
||||||
include/settingsobject.h
|
include/settingsobject.h
|
||||||
include/setting.h
|
include/setting.h
|
||||||
|
include/overridesetting.h
|
||||||
|
|
||||||
include/basicsettingsobject.h
|
include/basicsettingsobject.h
|
||||||
|
include/inisettingsobject.h
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(LIBSETTINGS_SOURCES
|
SET(LIBSETTINGS_SOURCES
|
||||||
src/settingsobject.cpp
|
src/settingsobject.cpp
|
||||||
src/setting.cpp
|
src/setting.cpp
|
||||||
|
src/overridesetting.cpp
|
||||||
|
|
||||||
src/basicsettingsobject.cpp
|
src/basicsettingsobject.cpp
|
||||||
|
src/inisettingsobject.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set the include dir path.
|
# Set the include dir path.
|
||||||
|
59
libsettings/include/inisettingsobject.h
Normal file
59
libsettings/include/inisettingsobject.h
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef INISETTINGSOBJECT_H
|
||||||
|
#define INISETTINGSOBJECT_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
#include <inifile.h>
|
||||||
|
|
||||||
|
#include "settingsobject.h"
|
||||||
|
|
||||||
|
#include "libutil_config.h"
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief A settings object that stores its settings in an INIFile.
|
||||||
|
*/
|
||||||
|
class LIBMMCSETTINGS_EXPORT INISettingsObject : public SettingsObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit INISettingsObject(const QString &path, QObject *parent = 0);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Gets the path to the INI file.
|
||||||
|
* \return The path to the INI file.
|
||||||
|
*/
|
||||||
|
virtual QString filePath() const { return m_filePath; }
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Sets the path to the INI file and reloads it.
|
||||||
|
* \param filePath The INI file's new path.
|
||||||
|
*/
|
||||||
|
virtual void setFilePath(const QString &filePath);
|
||||||
|
|
||||||
|
protected slots:
|
||||||
|
virtual void changeSetting(const Setting &setting, QVariant value);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual QVariant retrieveValue(const Setting &setting);
|
||||||
|
|
||||||
|
INIFile m_ini;
|
||||||
|
|
||||||
|
QString m_filePath;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // INISETTINGSOBJECT_H
|
43
libsettings/include/overridesetting.h
Normal file
43
libsettings/include/overridesetting.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef OVERRIDESETTING_H
|
||||||
|
#define OVERRIDESETTING_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
#include "setting.h"
|
||||||
|
|
||||||
|
#include "libsettings_config.h"
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief A setting that 'overrides another.'
|
||||||
|
* This means that the setting's default value will be the value of another setting.
|
||||||
|
* The other setting can be (and usually is) a part of a different SettingsObject
|
||||||
|
* than this one.
|
||||||
|
*/
|
||||||
|
class LIBMMCSETTINGS_EXPORT OverrideSetting : public Setting
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit OverrideSetting(const QString &name, Setting *other, QObject *parent = 0);
|
||||||
|
|
||||||
|
virtual QVariant defValue() const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Setting *m_other;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // OVERRIDESETTING_H
|
49
libsettings/src/inisettingsobject.cpp
Normal file
49
libsettings/src/inisettingsobject.cpp
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "include/inisettingsobject.h"
|
||||||
|
#include "include/setting.h"
|
||||||
|
|
||||||
|
INISettingsObject::INISettingsObject(const QString &path, QObject *parent) :
|
||||||
|
SettingsObject(parent)
|
||||||
|
{
|
||||||
|
m_filePath = path;
|
||||||
|
m_ini.loadFile(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
void INISettingsObject::setFilePath(const QString &filePath)
|
||||||
|
{
|
||||||
|
m_filePath = filePath;
|
||||||
|
}
|
||||||
|
|
||||||
|
void INISettingsObject::changeSetting(const Setting &setting, QVariant value)
|
||||||
|
{
|
||||||
|
if (contains(setting.id()))
|
||||||
|
{
|
||||||
|
m_ini.set(setting.configKey(), value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QVariant INISettingsObject::retrieveValue(const Setting &setting)
|
||||||
|
{
|
||||||
|
if (contains(setting.id()))
|
||||||
|
{
|
||||||
|
return m_ini.get(setting.configKey(), QVariant());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return QVariant();
|
||||||
|
}
|
||||||
|
}
|
30
libsettings/src/overridesetting.cpp
Normal file
30
libsettings/src/overridesetting.cpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/* Copyright 2013 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "include/overridesetting.h"
|
||||||
|
|
||||||
|
OverrideSetting::OverrideSetting(const QString &name, Setting *other, QObject *parent) :
|
||||||
|
Setting(name, QVariant(), parent)
|
||||||
|
{
|
||||||
|
m_other = other;
|
||||||
|
}
|
||||||
|
|
||||||
|
QVariant OverrideSetting::defValue() const
|
||||||
|
{
|
||||||
|
if (m_other)
|
||||||
|
return m_other->get();
|
||||||
|
else
|
||||||
|
return QVariant();
|
||||||
|
}
|
@ -17,11 +17,14 @@
|
|||||||
|
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
|
|
||||||
|
#include <setting.h>
|
||||||
|
|
||||||
#include <javautils.h>
|
#include <javautils.h>
|
||||||
|
|
||||||
StdInstance::StdInstance(const QString &rootDir, QObject *parent) :
|
StdInstance::StdInstance(const QString &rootDir, QObject *parent) :
|
||||||
Instance(rootDir, parent)
|
Instance(rootDir, parent)
|
||||||
{
|
{
|
||||||
|
settings().registerSetting(new Setting("lastVersionUpdate", 0));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,8 +29,8 @@ public:
|
|||||||
virtual void updateCurrentVersion(bool keepCurrent);
|
virtual void updateCurrentVersion(bool keepCurrent);
|
||||||
|
|
||||||
////// TIMESTAMPS //////
|
////// TIMESTAMPS //////
|
||||||
virtual qint64 lastVersionUpdate() { return getField("lastVersionUpdate", 0).value<qint64>(); }
|
virtual qint64 lastVersionUpdate() { return settings().get("lastVersionUpdate").value<qint64>(); }
|
||||||
virtual void setLastVersionUpdate(qint64 val) { setField("lastVersionUpdate", val); }
|
virtual void setLastVersionUpdate(qint64 val) { settings().set("lastVersionUpdate", val); }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // STDINSTANCE_H
|
#endif // STDINSTANCE_H
|
||||||
|
Loading…
Reference in New Issue
Block a user