mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 05:26:39 +00:00 
			
		
		
		
	split off settings label from internal settings name
This commit is contained in:
		
							parent
							
								
									daf7cab416
								
							
						
					
					
						commit
						720ba2c0d8
					
				
					 6 changed files with 48 additions and 28 deletions
				
			
		| 
						 | 
					@ -2,8 +2,8 @@
 | 
				
			||||||
#include "support.hpp"
 | 
					#include "support.hpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CSMSettings::Setting::Setting(SettingType typ, const QString &settingName,
 | 
					CSMSettings::Setting::Setting(SettingType typ, const QString &settingName,
 | 
				
			||||||
                             const QString &pageName)
 | 
					    const QString &pageName, const QString& label)
 | 
				
			||||||
    : mIsEditorSetting (true)
 | 
					: mIsEditorSetting (true)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    buildDefaultSetting();
 | 
					    buildDefaultSetting();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,6 +17,7 @@ CSMSettings::Setting::Setting(SettingType typ, const QString &settingName,
 | 
				
			||||||
    setProperty (Property_SettingType, QVariant (settingType).toString());
 | 
					    setProperty (Property_SettingType, QVariant (settingType).toString());
 | 
				
			||||||
    setProperty (Property_Page, pageName);
 | 
					    setProperty (Property_Page, pageName);
 | 
				
			||||||
    setProperty (Property_Name, settingName);
 | 
					    setProperty (Property_Name, settingName);
 | 
				
			||||||
 | 
					    setProperty (Property_Label, label.isEmpty() ? settingName : label);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CSMSettings::Setting::buildDefaultSetting()
 | 
					void CSMSettings::Setting::buildDefaultSetting()
 | 
				
			||||||
| 
						 | 
					@ -364,6 +365,16 @@ bool CSMSettings::Setting::wrapping() const
 | 
				
			||||||
    return (property (Property_Wrapping).at(0) == "true");
 | 
					    return (property (Property_Wrapping).at(0) == "true");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void CSMSettings::Setting::setLabel (const QString& label)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    setProperty (Property_Label, label);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QString CSMSettings::Setting::getLabel() const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return property (Property_Label).at (0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CSMSettings::Setting::setProperty (SettingProperty prop, bool value)
 | 
					void CSMSettings::Setting::setProperty (SettingProperty prop, bool value)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    setProperty (prop, QStringList() << QVariant (value).toString());
 | 
					    setProperty (prop, QStringList() << QVariant (value).toString());
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,8 +29,8 @@ namespace CSMSettings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public:
 | 
					    public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        explicit Setting(SettingType typ, const QString &settingName,
 | 
					        Setting(SettingType typ, const QString &settingName,
 | 
				
			||||||
                         const QString &pageName);
 | 
					            const QString &pageName, const QString& label = "");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        void addProxy (const Setting *setting, const QStringList &vals);
 | 
					        void addProxy (const Setting *setting, const QStringList &vals);
 | 
				
			||||||
        void addProxy (const Setting *setting, const QList <QStringList> &list);
 | 
					        void addProxy (const Setting *setting, const QList <QStringList> &list);
 | 
				
			||||||
| 
						 | 
					@ -131,6 +131,10 @@ namespace CSMSettings
 | 
				
			||||||
        void setWidgetWidth (int value);
 | 
					        void setWidgetWidth (int value);
 | 
				
			||||||
        int widgetWidth() const;
 | 
					        int widgetWidth() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// This is the text the user gets to see.
 | 
				
			||||||
 | 
					        void setLabel (const QString& label);
 | 
				
			||||||
 | 
					        QString getLabel() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ///returns the specified property value
 | 
					        ///returns the specified property value
 | 
				
			||||||
        QStringList property (SettingProperty prop) const;
 | 
					        QStringList property (SettingProperty prop) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,12 +36,13 @@ namespace CSMSettings
 | 
				
			||||||
        Property_TicksAbove = 20,
 | 
					        Property_TicksAbove = 20,
 | 
				
			||||||
        Property_TicksBelow = 21,
 | 
					        Property_TicksBelow = 21,
 | 
				
			||||||
        Property_StyleSheet = 22,
 | 
					        Property_StyleSheet = 22,
 | 
				
			||||||
 | 
					        Property_Label = 23,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Stringlists should always be the last items
 | 
					        //Stringlists should always be the last items
 | 
				
			||||||
        Property_DefaultValues = 23,
 | 
					        Property_DefaultValues = 24,
 | 
				
			||||||
        Property_DeclaredValues = 24,
 | 
					        Property_DeclaredValues = 25,
 | 
				
			||||||
        Property_DefinedValues = 25,
 | 
					        Property_DefinedValues = 26,
 | 
				
			||||||
        Property_Proxies = 26
 | 
					        Property_Proxies = 27
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ///Basic setting widget types.
 | 
					    ///Basic setting widget types.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -52,49 +52,49 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    declareSection ("Objects");
 | 
					    declareSection ("Objects");
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        Setting *numLights = createSetting (Type_SpinBox, "num_lights");
 | 
					        Setting *numLights = createSetting (Type_SpinBox, "num_lights", "num_lights");
 | 
				
			||||||
        numLights->setDefaultValue(8);
 | 
					        numLights->setDefaultValue(8);
 | 
				
			||||||
        numLights->setRange (0, 100);
 | 
					        numLights->setRange (0, 100);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Setting *shaders = createSetting (Type_CheckBox, "shaders");
 | 
					        Setting *shaders = createSetting (Type_CheckBox, "shaders", "Enable Shaders");
 | 
				
			||||||
        shaders->setDefaultValue("true");
 | 
					        shaders->setDefaultValue("true");
 | 
				
			||||||
        shaders->setSpecialValueText("Enable Shaders");
 | 
					//        shaders->setSpecialValueText("Enable Shaders");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    declareSection ("Scene");
 | 
					    declareSection ("Scene");
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        Setting *fastFactor = createSetting (Type_SpinBox, "fast factor");
 | 
					        Setting *fastFactor = createSetting (Type_SpinBox, "fast factor", "fast factor");
 | 
				
			||||||
        fastFactor->setDefaultValue(4);
 | 
					        fastFactor->setDefaultValue(4);
 | 
				
			||||||
        fastFactor->setRange (1, 100);
 | 
					        fastFactor->setRange (1, 100);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Setting *farClipDist = createSetting (Type_DoubleSpinBox, "far clip distance");
 | 
					        Setting *farClipDist = createSetting (Type_DoubleSpinBox, "far clip distance", "far clip distance");
 | 
				
			||||||
        farClipDist->setDefaultValue(300000);
 | 
					        farClipDist->setDefaultValue(300000);
 | 
				
			||||||
        farClipDist->setRange (0, 1000000);
 | 
					        farClipDist->setRange (0, 1000000);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Setting *timerStart = createSetting (Type_SpinBox, "timer start");
 | 
					        Setting *timerStart = createSetting (Type_SpinBox, "timer start", "timer start");
 | 
				
			||||||
        timerStart->setDefaultValue(20);
 | 
					        timerStart->setDefaultValue(20);
 | 
				
			||||||
        timerStart->setRange (1, 100);
 | 
					        timerStart->setRange (1, 100);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    declareSection ("SubView");
 | 
					    declareSection ("SubView");
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        Setting *maxSubView = createSetting (Type_SpinBox, "max subviews");
 | 
					        Setting *maxSubView = createSetting (Type_SpinBox, "max subviews", "max subviews");
 | 
				
			||||||
        maxSubView->setDefaultValue(256);
 | 
					        maxSubView->setDefaultValue(256);
 | 
				
			||||||
        maxSubView->setRange (1, 256);
 | 
					        maxSubView->setRange (1, 256);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Setting *minWidth = createSetting (Type_SpinBox, "minimum width");
 | 
					        Setting *minWidth = createSetting (Type_SpinBox, "minimum width", "minimum width");
 | 
				
			||||||
        minWidth->setDefaultValue(325);
 | 
					        minWidth->setDefaultValue(325);
 | 
				
			||||||
        minWidth->setRange (50, 10000);
 | 
					        minWidth->setRange (50, 10000);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Setting *reuse = createSetting (Type_CheckBox, "reuse");
 | 
					        Setting *reuse = createSetting (Type_CheckBox, "reuse", "Reuse SubView");
 | 
				
			||||||
        reuse->setDefaultValue("true");
 | 
					        reuse->setDefaultValue("true");
 | 
				
			||||||
        reuse->setSpecialValueText("Reuse SubView");
 | 
					//        reuse->setSpecialValueText("Reuse SubView");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    declareSection ("Window Size");
 | 
					    declareSection ("Window Size");
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        Setting *width = createSetting (Type_LineEdit, "Width");
 | 
					        Setting *width = createSetting (Type_LineEdit, "Width", "Width");
 | 
				
			||||||
        Setting *height = createSetting (Type_LineEdit, "Height");
 | 
					        Setting *height = createSetting (Type_LineEdit, "Height", "Height");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        width->setDefaultValues (QStringList() << "1024");
 | 
					        width->setDefaultValues (QStringList() << "1024");
 | 
				
			||||||
        height->setDefaultValues (QStringList() << "768");
 | 
					        height->setDefaultValues (QStringList() << "768");
 | 
				
			||||||
| 
						 | 
					@ -105,7 +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, "Pre-Defined");
 | 
					        Setting *preDefined = createSetting (Type_ComboBox, "Pre-Defined", "Pre-Defined");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        preDefined->setEditorSetting (false);
 | 
					        preDefined->setEditorSetting (false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -131,9 +131,9 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
 | 
				
			||||||
        QStringList values = QStringList()
 | 
					        QStringList values = QStringList()
 | 
				
			||||||
                            << defaultValue << "Icon Only" << "Text Only";
 | 
					                            << defaultValue << "Icon Only" << "Text Only";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Setting *rsd = createSetting (Type_RadioButton, "Record Status Display");
 | 
					        Setting *rsd = createSetting (Type_RadioButton, "Record Status Display", "Record Status Display");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Setting *ritd = createSetting (Type_RadioButton, "Referenceable ID Type Display");
 | 
					        Setting *ritd = createSetting (Type_RadioButton, "Referenceable ID Type Display", "Referenceable ID Type Display");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        rsd->setDeclaredValues (values);
 | 
					        rsd->setDeclaredValues (values);
 | 
				
			||||||
        ritd->setDeclaredValues (values);
 | 
					        ritd->setDeclaredValues (values);
 | 
				
			||||||
| 
						 | 
					@ -144,7 +144,7 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
 | 
				
			||||||
        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, "antialiasing");
 | 
					        Setting *antialiasing = createSetting (Type_SpinBox, "antialiasing", "antialiasing");
 | 
				
			||||||
        antialiasing->setDeclaredValues (values);
 | 
					        antialiasing->setDeclaredValues (values);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -486,9 +486,9 @@ CSMSettings::SettingPageMap CSMSettings::UserSettings::settingPageMap() const
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CSMSettings::Setting *CSMSettings::UserSettings::createSetting
 | 
					CSMSettings::Setting *CSMSettings::UserSettings::createSetting
 | 
				
			||||||
        (CSMSettings::SettingType type, const QString &name)
 | 
					        (CSMSettings::SettingType type, const QString &name, const QString& label)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    Setting *setting = new Setting (type, name, mSection);
 | 
					    Setting *setting = new Setting (type, name, mSection, label);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // set useful defaults
 | 
					    // set useful defaults
 | 
				
			||||||
    int row = 1;
 | 
					    int row = 1;
 | 
				
			||||||
| 
						 | 
					@ -523,6 +523,9 @@ CSMSettings::Setting *CSMSettings::UserSettings::createSetting
 | 
				
			||||||
    if (type==Type_CheckBox)
 | 
					    if (type==Type_CheckBox)
 | 
				
			||||||
        setting->setDeclaredValues(QStringList() << "true" << "false");
 | 
					        setting->setDeclaredValues(QStringList() << "true" << "false");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (type==Type_CheckBox)
 | 
				
			||||||
 | 
					        setting->setSpecialValueText (setting->getLabel());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //add declaration to the model
 | 
					    //add declaration to the model
 | 
				
			||||||
    mSettings.append (setting);
 | 
					    mSettings.append (setting);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -85,7 +85,8 @@ 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 type, const QString &name);
 | 
					        Setting *createSetting (CSMSettings::SettingType type, const QString &name,
 | 
				
			||||||
 | 
					            const QString& label);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// Set the section for createSetting calls.
 | 
					        /// Set the section for createSetting calls.
 | 
				
			||||||
        ///
 | 
					        ///
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,7 +17,7 @@ CSVSettings::View::View(CSMSettings::Setting *setting,
 | 
				
			||||||
      mIsMultiValue (setting->isMultiValue()),
 | 
					      mIsMultiValue (setting->isMultiValue()),
 | 
				
			||||||
      mViewKey (setting->page() + '/' + setting->name()),
 | 
					      mViewKey (setting->page() + '/' + setting->name()),
 | 
				
			||||||
      mSerializable (setting->serializable()),
 | 
					      mSerializable (setting->serializable()),
 | 
				
			||||||
      Frame(true, setting->name(), parent)
 | 
					      Frame(true, setting->getLabel(), parent)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    setObjectName (setting->name());
 | 
					    setObjectName (setting->name());
 | 
				
			||||||
    buildView();
 | 
					    buildView();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue