mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-21 18:09:39 +00:00
refactored section handling
This commit is contained in:
parent
219fbd427f
commit
daf7cab416
2 changed files with 34 additions and 36 deletions
|
@ -50,51 +50,51 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
|
||||||
{
|
{
|
||||||
QString section;
|
QString section;
|
||||||
|
|
||||||
section = "Objects";
|
declareSection ("Objects");
|
||||||
{
|
{
|
||||||
Setting *numLights = createSetting (Type_SpinBox, section, "num_lights");
|
Setting *numLights = createSetting (Type_SpinBox, "num_lights");
|
||||||
numLights->setDefaultValue(8);
|
numLights->setDefaultValue(8);
|
||||||
numLights->setRange (0, 100);
|
numLights->setRange (0, 100);
|
||||||
|
|
||||||
Setting *shaders = createSetting (Type_CheckBox, section, "shaders");
|
Setting *shaders = createSetting (Type_CheckBox, "shaders");
|
||||||
shaders->setDefaultValue("true");
|
shaders->setDefaultValue("true");
|
||||||
shaders->setSpecialValueText("Enable Shaders");
|
shaders->setSpecialValueText("Enable Shaders");
|
||||||
}
|
}
|
||||||
|
|
||||||
section = "Scene";
|
declareSection ("Scene");
|
||||||
{
|
{
|
||||||
Setting *fastFactor = createSetting (Type_SpinBox, section, "fast factor");
|
Setting *fastFactor = createSetting (Type_SpinBox, "fast factor");
|
||||||
fastFactor->setDefaultValue(4);
|
fastFactor->setDefaultValue(4);
|
||||||
fastFactor->setRange (1, 100);
|
fastFactor->setRange (1, 100);
|
||||||
|
|
||||||
Setting *farClipDist = createSetting (Type_DoubleSpinBox, section, "far clip distance");
|
Setting *farClipDist = createSetting (Type_DoubleSpinBox, "far clip distance");
|
||||||
farClipDist->setDefaultValue(300000);
|
farClipDist->setDefaultValue(300000);
|
||||||
farClipDist->setRange (0, 1000000);
|
farClipDist->setRange (0, 1000000);
|
||||||
|
|
||||||
Setting *timerStart = createSetting (Type_SpinBox, section, "timer start");
|
Setting *timerStart = createSetting (Type_SpinBox, "timer start");
|
||||||
timerStart->setDefaultValue(20);
|
timerStart->setDefaultValue(20);
|
||||||
timerStart->setRange (1, 100);
|
timerStart->setRange (1, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
section = "SubView";
|
declareSection ("SubView");
|
||||||
{
|
{
|
||||||
Setting *maxSubView = createSetting (Type_SpinBox, section, "max subviews");
|
Setting *maxSubView = createSetting (Type_SpinBox, "max subviews");
|
||||||
maxSubView->setDefaultValue(256);
|
maxSubView->setDefaultValue(256);
|
||||||
maxSubView->setRange (1, 256);
|
maxSubView->setRange (1, 256);
|
||||||
|
|
||||||
Setting *minWidth = createSetting (Type_SpinBox, section, "minimum width");
|
Setting *minWidth = createSetting (Type_SpinBox, "minimum width");
|
||||||
minWidth->setDefaultValue(325);
|
minWidth->setDefaultValue(325);
|
||||||
minWidth->setRange (50, 10000);
|
minWidth->setRange (50, 10000);
|
||||||
|
|
||||||
Setting *reuse = createSetting (Type_CheckBox, section, "reuse");
|
Setting *reuse = createSetting (Type_CheckBox, "reuse");
|
||||||
reuse->setDefaultValue("true");
|
reuse->setDefaultValue("true");
|
||||||
reuse->setSpecialValueText("Reuse SubView");
|
reuse->setSpecialValueText("Reuse SubView");
|
||||||
}
|
}
|
||||||
|
|
||||||
section = "Window Size";
|
declareSection ("Window Size");
|
||||||
{
|
{
|
||||||
Setting *width = createSetting (Type_LineEdit, section, "Width");
|
Setting *width = createSetting (Type_LineEdit, "Width");
|
||||||
Setting *height = createSetting (Type_LineEdit, section, "Height");
|
Setting *height = createSetting (Type_LineEdit, "Height");
|
||||||
|
|
||||||
width->setDefaultValues (QStringList() << "1024");
|
width->setDefaultValues (QStringList() << "1024");
|
||||||
height->setDefaultValues (QStringList() << "768");
|
height->setDefaultValues (QStringList() << "768");
|
||||||
|
@ -105,8 +105,7 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
|
||||||
/*
|
/*
|
||||||
*Create the proxy setting for predefined values
|
*Create the proxy setting for predefined values
|
||||||
*/
|
*/
|
||||||
Setting *preDefined = createSetting (Type_ComboBox, section,
|
Setting *preDefined = createSetting (Type_ComboBox, "Pre-Defined");
|
||||||
"Pre-Defined");
|
|
||||||
|
|
||||||
preDefined->setEditorSetting (false);
|
preDefined->setEditorSetting (false);
|
||||||
|
|
||||||
|
@ -125,33 +124,30 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
section = "Display Format";
|
declareSection ("Display Format");
|
||||||
{
|
{
|
||||||
QString defaultValue = "Icon and Text";
|
QString defaultValue = "Icon and Text";
|
||||||
|
|
||||||
QStringList values = QStringList()
|
QStringList values = QStringList()
|
||||||
<< defaultValue << "Icon Only" << "Text Only";
|
<< defaultValue << "Icon Only" << "Text Only";
|
||||||
|
|
||||||
Setting *rsd = createSetting (Type_RadioButton,
|
Setting *rsd = createSetting (Type_RadioButton, "Record Status Display");
|
||||||
section, "Record Status Display");
|
|
||||||
|
|
||||||
Setting *ritd = createSetting (Type_RadioButton,
|
Setting *ritd = createSetting (Type_RadioButton, "Referenceable ID Type Display");
|
||||||
section, "Referenceable ID Type Display");
|
|
||||||
|
|
||||||
rsd->setDeclaredValues (values);
|
rsd->setDeclaredValues (values);
|
||||||
ritd->setDeclaredValues (values);
|
ritd->setDeclaredValues (values);
|
||||||
}
|
}
|
||||||
|
|
||||||
section = "Video";
|
declareSection ("Video");
|
||||||
{
|
{
|
||||||
QString defaultValue = "None";
|
QString defaultValue = "None";
|
||||||
QStringList values = QStringList()
|
QStringList values = QStringList()
|
||||||
<< defaultValue << "MSAA 2" << "MSAA 4" << "MSAA 8" << "MSAA 16";
|
<< defaultValue << "MSAA 2" << "MSAA 4" << "MSAA 8" << "MSAA 16";
|
||||||
Setting *antialiasing = createSetting (Type_SpinBox, section, "antialiasing");
|
Setting *antialiasing = createSetting (Type_SpinBox, "antialiasing");
|
||||||
antialiasing->setDeclaredValues (values);
|
antialiasing->setDeclaredValues (values);
|
||||||
}
|
}
|
||||||
|
|
||||||
section = "Proxy Selection Test";
|
|
||||||
{
|
{
|
||||||
/******************************************************************
|
/******************************************************************
|
||||||
* There are three types of values:
|
* There are three types of values:
|
||||||
|
@ -490,17 +486,9 @@ CSMSettings::SettingPageMap CSMSettings::UserSettings::settingPageMap() const
|
||||||
}
|
}
|
||||||
|
|
||||||
CSMSettings::Setting *CSMSettings::UserSettings::createSetting
|
CSMSettings::Setting *CSMSettings::UserSettings::createSetting
|
||||||
(CSMSettings::SettingType type, const QString &page, const QString &name)
|
(CSMSettings::SettingType type, const QString &name)
|
||||||
{
|
{
|
||||||
//get list of all settings for the current setting name
|
Setting *setting = new Setting (type, name, mSection);
|
||||||
if (findSetting (page, name))
|
|
||||||
{
|
|
||||||
qWarning() << "Duplicate declaration encountered: "
|
|
||||||
<< (name + '/' + page);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Setting *setting = new Setting (type, name, page);
|
|
||||||
|
|
||||||
// set useful defaults
|
// set useful defaults
|
||||||
int row = 1;
|
int row = 1;
|
||||||
|
@ -541,6 +529,11 @@ CSMSettings::Setting *CSMSettings::UserSettings::createSetting
|
||||||
return setting;
|
return setting;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSMSettings::UserSettings::declareSection (const QString& page)
|
||||||
|
{
|
||||||
|
mSection = page;
|
||||||
|
}
|
||||||
|
|
||||||
QStringList CSMSettings::UserSettings::definitions (const QString &viewKey) const
|
QStringList CSMSettings::UserSettings::definitions (const QString &viewKey) const
|
||||||
{
|
{
|
||||||
if (mSettingDefinitions->contains (viewKey))
|
if (mSettingDefinitions->contains (viewKey))
|
||||||
|
|
|
@ -35,6 +35,7 @@ namespace CSMSettings {
|
||||||
QSettings *mSettingDefinitions;
|
QSettings *mSettingDefinitions;
|
||||||
QSettings *mSettingCfgDefinitions;
|
QSettings *mSettingCfgDefinitions;
|
||||||
QList <Setting *> mSettings;
|
QList <Setting *> mSettings;
|
||||||
|
QString mSection;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -84,8 +85,12 @@ namespace CSMSettings {
|
||||||
void buildSettingModelDefaults();
|
void buildSettingModelDefaults();
|
||||||
|
|
||||||
///add a new setting to the model and return it
|
///add a new setting to the model and return it
|
||||||
Setting *createSetting (CSMSettings::SettingType typ,
|
Setting *createSetting (CSMSettings::SettingType type, const QString &name);
|
||||||
const QString &page, const QString &name);
|
|
||||||
|
/// Set the section for createSetting calls.
|
||||||
|
///
|
||||||
|
/// Sections can be declared multiple times.
|
||||||
|
void declareSection (const QString& page);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue