forked from mirror/openmw-tes3mp
Converted SettingType enums to indicate widget type.
This commit is contained in:
parent
b94466dbb4
commit
0d711e51b0
6 changed files with 51 additions and 31 deletions
|
@ -12,15 +12,14 @@ CSMSettings::Setting::Setting(SettingType typ, const QString &settingName,
|
|||
{
|
||||
buildDefaultSetting();
|
||||
|
||||
int vType = static_cast <int> (typ);
|
||||
int settingType = static_cast <int> (typ);
|
||||
|
||||
if ((vType % 2) == 0)
|
||||
setProperty (Property_IsMultiValue,
|
||||
QVariant(true).toString());
|
||||
else
|
||||
vType--;
|
||||
//even-numbered setting types are multi-valued
|
||||
if ((settingType % 2) == 0)
|
||||
setProperty (Property_IsMultiValue, QVariant(true).toString());
|
||||
|
||||
setProperty (Property_ViewType, QVariant (vType / 2).toString());
|
||||
//view type is related to setting type by an order of magnitude
|
||||
setProperty (Property_ViewType, QVariant (settingType / 10).toString());
|
||||
setProperty (Property_Page, pageName);
|
||||
setProperty (Property_Name, settingName);
|
||||
setProperty (Property_DeclaredValues, values);
|
||||
|
@ -267,9 +266,9 @@ void CSMSettings::Setting::setProperty (SettingProperty prop,
|
|||
|
||||
QDataStream &operator <<(QDataStream &stream, const CSMSettings::Setting& setting)
|
||||
{
|
||||
stream << setting.properties();
|
||||
// stream << setting.properties();
|
||||
|
||||
stream << setting.proxies();
|
||||
// stream << setting.proxies();
|
||||
return stream;
|
||||
}
|
||||
|
||||
|
|
|
@ -47,14 +47,27 @@ namespace CSMSettings
|
|||
|
||||
enum SettingType
|
||||
{
|
||||
Type_MultiBool = 0,
|
||||
Type_SingleBool = 1,
|
||||
Type_MultiList = 2,
|
||||
Type_SingleList = 3,
|
||||
Type_MultiRange = 4,
|
||||
Type_SingleRange = 5,
|
||||
Type_MultiText = 6,
|
||||
Type_SingleText = 7
|
||||
/*
|
||||
* 0 - 9 - Boolean widgets
|
||||
* 10-19 - List widgets
|
||||
* 21-29 - Range widgets
|
||||
* 31-39 - Text widgets
|
||||
*
|
||||
* Each range corresponds to a View_Type enum by a factor of 10.
|
||||
*
|
||||
* Even-numbered values are single-value widgets
|
||||
* Odd-numbered values are multi-valued widgets
|
||||
*/
|
||||
|
||||
Type_CheckBox = 0,
|
||||
Type_RadioButton = 1,
|
||||
Type_ListView = 10,
|
||||
Type_ComboBox = 11,
|
||||
Type_SpinBox = 21,
|
||||
Type_Slider = 23,
|
||||
Type_Dial = 24,
|
||||
Type_TextArea = 30,
|
||||
Type_LineEdit = 31
|
||||
};
|
||||
|
||||
enum MergeMethod
|
||||
|
|
|
@ -47,8 +47,8 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
|
|||
{
|
||||
QString section = "Window Size";
|
||||
{
|
||||
Setting *width = createSetting (Type_SingleText, section, "Width");
|
||||
Setting *height = createSetting (Type_SingleText, section, "Height");
|
||||
Setting *width = createSetting (Type_LineEdit, section, "Width");
|
||||
Setting *height = createSetting (Type_LineEdit, section, "Height");
|
||||
|
||||
width->setWidgetWidth (5);
|
||||
height->setWidgetWidth (5);
|
||||
|
@ -65,7 +65,7 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
|
|||
/*
|
||||
*Create the proxy setting for predefined values
|
||||
*/
|
||||
Setting *preDefined = createSetting (Type_SingleList, section,
|
||||
Setting *preDefined = createSetting (Type_ComboBox, section,
|
||||
"Pre-Defined",
|
||||
QStringList()
|
||||
<< "640 x 480"
|
||||
|
@ -94,11 +94,11 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
|
|||
QStringList values = QStringList()
|
||||
<< defaultValue << "Icon Only" << "Text Only";
|
||||
|
||||
Setting *rsd = createSetting (Type_SingleBool,
|
||||
Setting *rsd = createSetting (Type_RadioButton,
|
||||
section, "Record Status Display",
|
||||
values);
|
||||
|
||||
Setting *ritd = createSetting (Type_SingleBool,
|
||||
Setting *ritd = createSetting (Type_RadioButton,
|
||||
section, "Referenceable ID Type Display",
|
||||
values);
|
||||
|
||||
|
@ -110,24 +110,24 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
|
|||
{
|
||||
//create three setting objects, specifying the basic widget type,
|
||||
//the setting view name, the page name, and the default value
|
||||
Setting *masterBoolean = createSetting (Type_SingleBool, section,
|
||||
Setting *masterBoolean = createSetting (Type_RadioButton, section,
|
||||
"Master Proxy",
|
||||
QStringList()
|
||||
<< "Profile One" << "Profile Two"
|
||||
<< "Profile Three" << "Profile Four"
|
||||
);
|
||||
|
||||
Setting *slaveBoolean = createSetting (Type_MultiBool, section,
|
||||
Setting *slaveBoolean = createSetting (Type_CheckBox, section,
|
||||
"Proxy Checkboxes",
|
||||
QStringList() << "One" << "Two"
|
||||
<< "Three" << "Four" << "Five"
|
||||
);
|
||||
|
||||
Setting *slaveSingleText = createSetting (Type_SingleText, section,
|
||||
Setting *slaveSingleText = createSetting (Type_LineEdit, section,
|
||||
"Proxy TextBox 1"
|
||||
);
|
||||
|
||||
Setting *slaveMultiText = createSetting (Type_SingleText, section,
|
||||
Setting *slaveMultiText = createSetting (Type_LineEdit, section,
|
||||
"ProxyTextBox 2"
|
||||
);
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "booleanview.hpp"
|
||||
#include "textview.hpp"
|
||||
#include "listview.hpp"
|
||||
#include "rangeview.hpp"
|
||||
|
||||
#include "../../model/settings/usersettings.hpp"
|
||||
#include "../../model/settings/connector.hpp"
|
||||
|
@ -85,4 +86,5 @@ void CSVSettings::Page::buildFactories()
|
|||
mViewFactories[ViewType_Boolean] = new BooleanViewFactory (this);
|
||||
mViewFactories[ViewType_Text] = new TextViewFactory (this);
|
||||
mViewFactories[ViewType_List] = new ListViewFactory (this);
|
||||
mViewFactories[ViewType_Range] = new RangeViewFactory (this);
|
||||
}
|
||||
|
|
|
@ -10,6 +10,9 @@
|
|||
#include "rangeview.hpp"
|
||||
#include "../../model/settings/setting.hpp"
|
||||
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
CSVSettings::RangeView::RangeView (CSMSettings::Setting *setting,
|
||||
Page *parent)
|
||||
: View (setting, parent)
|
||||
|
@ -87,5 +90,6 @@ CSVSettings::RangeView *CSVSettings::RangeViewFactory::createView
|
|||
(CSMSettings::Setting *setting,
|
||||
Page *parent)
|
||||
{
|
||||
qDebug() << "adding a new range view";
|
||||
return new RangeView (setting, parent);
|
||||
}
|
||||
|
|
|
@ -14,16 +14,18 @@ CSVSettings::SettingWindow::SettingWindow(QWidget *parent)
|
|||
|
||||
void CSVSettings::SettingWindow::createPages()
|
||||
{
|
||||
qDebug () << "getting page map";
|
||||
CSMSettings::SettingPageMap pageMap = mModel->settingPageMap();
|
||||
|
||||
QList <CSMSettings::Setting *> connectedSettings;
|
||||
|
||||
qDebug () << "iterating map";
|
||||
foreach (const QString &pageName, pageMap.keys())
|
||||
{
|
||||
{
|
||||
qDebug() << "iterating page: " << pageName;
|
||||
QList <CSMSettings::Setting *> pageSettings = pageMap.value (pageName);
|
||||
|
||||
qDebug () << "appending page: " << pageName << "; settings = " << pageSettings.size();
|
||||
mPages.append (new Page (pageName, pageSettings, this));
|
||||
|
||||
qDebug() << "iterating page " << pageName << " settings";
|
||||
for (int i = 0; i < pageSettings.size(); i++)
|
||||
{
|
||||
CSMSettings::Setting *setting = pageSettings.at(i);
|
||||
|
@ -32,7 +34,7 @@ void CSVSettings::SettingWindow::createPages()
|
|||
connectedSettings.append (setting);
|
||||
}
|
||||
}
|
||||
|
||||
qDebug() << "making connections";
|
||||
if (!connectedSettings.isEmpty())
|
||||
createConnections(connectedSettings);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue