1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-04-02 00:36:40 +00:00

Converted SettingType enums to indicate widget type.

This commit is contained in:
graffy76 2014-04-26 21:32:36 -05:00
parent b94466dbb4
commit 0d711e51b0
6 changed files with 51 additions and 31 deletions

View file

@ -12,15 +12,14 @@ CSMSettings::Setting::Setting(SettingType typ, const QString &settingName,
{ {
buildDefaultSetting(); buildDefaultSetting();
int vType = static_cast <int> (typ); int settingType = static_cast <int> (typ);
if ((vType % 2) == 0) //even-numbered setting types are multi-valued
setProperty (Property_IsMultiValue, if ((settingType % 2) == 0)
QVariant(true).toString()); setProperty (Property_IsMultiValue, QVariant(true).toString());
else
vType--;
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_Page, pageName);
setProperty (Property_Name, settingName); setProperty (Property_Name, settingName);
setProperty (Property_DeclaredValues, values); setProperty (Property_DeclaredValues, values);
@ -267,9 +266,9 @@ void CSMSettings::Setting::setProperty (SettingProperty prop,
QDataStream &operator <<(QDataStream &stream, const CSMSettings::Setting& setting) QDataStream &operator <<(QDataStream &stream, const CSMSettings::Setting& setting)
{ {
stream << setting.properties(); // stream << setting.properties();
stream << setting.proxies(); // stream << setting.proxies();
return stream; return stream;
} }

View file

@ -47,14 +47,27 @@ namespace CSMSettings
enum SettingType enum SettingType
{ {
Type_MultiBool = 0, /*
Type_SingleBool = 1, * 0 - 9 - Boolean widgets
Type_MultiList = 2, * 10-19 - List widgets
Type_SingleList = 3, * 21-29 - Range widgets
Type_MultiRange = 4, * 31-39 - Text widgets
Type_SingleRange = 5, *
Type_MultiText = 6, * Each range corresponds to a View_Type enum by a factor of 10.
Type_SingleText = 7 *
* 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 enum MergeMethod

View file

@ -47,8 +47,8 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
{ {
QString section = "Window Size"; QString section = "Window Size";
{ {
Setting *width = createSetting (Type_SingleText, section, "Width"); Setting *width = createSetting (Type_LineEdit, section, "Width");
Setting *height = createSetting (Type_SingleText, section, "Height"); Setting *height = createSetting (Type_LineEdit, section, "Height");
width->setWidgetWidth (5); width->setWidgetWidth (5);
height->setWidgetWidth (5); height->setWidgetWidth (5);
@ -65,7 +65,7 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
/* /*
*Create the proxy setting for predefined values *Create the proxy setting for predefined values
*/ */
Setting *preDefined = createSetting (Type_SingleList, section, Setting *preDefined = createSetting (Type_ComboBox, section,
"Pre-Defined", "Pre-Defined",
QStringList() QStringList()
<< "640 x 480" << "640 x 480"
@ -94,11 +94,11 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
QStringList values = QStringList() QStringList values = QStringList()
<< defaultValue << "Icon Only" << "Text Only"; << defaultValue << "Icon Only" << "Text Only";
Setting *rsd = createSetting (Type_SingleBool, Setting *rsd = createSetting (Type_RadioButton,
section, "Record Status Display", section, "Record Status Display",
values); values);
Setting *ritd = createSetting (Type_SingleBool, Setting *ritd = createSetting (Type_RadioButton,
section, "Referenceable ID Type Display", section, "Referenceable ID Type Display",
values); values);
@ -110,24 +110,24 @@ void CSMSettings::UserSettings::buildSettingModelDefaults()
{ {
//create three setting objects, specifying the basic widget type, //create three setting objects, specifying the basic widget type,
//the setting view name, the page name, and the default value //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", "Master Proxy",
QStringList() QStringList()
<< "Profile One" << "Profile Two" << "Profile One" << "Profile Two"
<< "Profile Three" << "Profile Four" << "Profile Three" << "Profile Four"
); );
Setting *slaveBoolean = createSetting (Type_MultiBool, section, Setting *slaveBoolean = createSetting (Type_CheckBox, section,
"Proxy Checkboxes", "Proxy Checkboxes",
QStringList() << "One" << "Two" QStringList() << "One" << "Two"
<< "Three" << "Four" << "Five" << "Three" << "Four" << "Five"
); );
Setting *slaveSingleText = createSetting (Type_SingleText, section, Setting *slaveSingleText = createSetting (Type_LineEdit, section,
"Proxy TextBox 1" "Proxy TextBox 1"
); );
Setting *slaveMultiText = createSetting (Type_SingleText, section, Setting *slaveMultiText = createSetting (Type_LineEdit, section,
"ProxyTextBox 2" "ProxyTextBox 2"
); );

View file

@ -3,6 +3,7 @@
#include "booleanview.hpp" #include "booleanview.hpp"
#include "textview.hpp" #include "textview.hpp"
#include "listview.hpp" #include "listview.hpp"
#include "rangeview.hpp"
#include "../../model/settings/usersettings.hpp" #include "../../model/settings/usersettings.hpp"
#include "../../model/settings/connector.hpp" #include "../../model/settings/connector.hpp"
@ -85,4 +86,5 @@ void CSVSettings::Page::buildFactories()
mViewFactories[ViewType_Boolean] = new BooleanViewFactory (this); mViewFactories[ViewType_Boolean] = new BooleanViewFactory (this);
mViewFactories[ViewType_Text] = new TextViewFactory (this); mViewFactories[ViewType_Text] = new TextViewFactory (this);
mViewFactories[ViewType_List] = new ListViewFactory (this); mViewFactories[ViewType_List] = new ListViewFactory (this);
mViewFactories[ViewType_Range] = new RangeViewFactory (this);
} }

View file

@ -10,6 +10,9 @@
#include "rangeview.hpp" #include "rangeview.hpp"
#include "../../model/settings/setting.hpp" #include "../../model/settings/setting.hpp"
#include <QDebug>
CSVSettings::RangeView::RangeView (CSMSettings::Setting *setting, CSVSettings::RangeView::RangeView (CSMSettings::Setting *setting,
Page *parent) Page *parent)
: View (setting, parent) : View (setting, parent)
@ -87,5 +90,6 @@ CSVSettings::RangeView *CSVSettings::RangeViewFactory::createView
(CSMSettings::Setting *setting, (CSMSettings::Setting *setting,
Page *parent) Page *parent)
{ {
qDebug() << "adding a new range view";
return new RangeView (setting, parent); return new RangeView (setting, parent);
} }

View file

@ -14,16 +14,18 @@ CSVSettings::SettingWindow::SettingWindow(QWidget *parent)
void CSVSettings::SettingWindow::createPages() void CSVSettings::SettingWindow::createPages()
{ {
qDebug () << "getting page map";
CSMSettings::SettingPageMap pageMap = mModel->settingPageMap(); CSMSettings::SettingPageMap pageMap = mModel->settingPageMap();
QList <CSMSettings::Setting *> connectedSettings; QList <CSMSettings::Setting *> connectedSettings;
qDebug () << "iterating map";
foreach (const QString &pageName, pageMap.keys()) foreach (const QString &pageName, pageMap.keys())
{ {
qDebug() << "iterating page: " << pageName;
QList <CSMSettings::Setting *> pageSettings = pageMap.value (pageName); QList <CSMSettings::Setting *> pageSettings = pageMap.value (pageName);
qDebug () << "appending page: " << pageName << "; settings = " << pageSettings.size();
mPages.append (new Page (pageName, pageSettings, this)); mPages.append (new Page (pageName, pageSettings, this));
qDebug() << "iterating page " << pageName << " settings";
for (int i = 0; i < pageSettings.size(); i++) for (int i = 0; i < pageSettings.size(); i++)
{ {
CSMSettings::Setting *setting = pageSettings.at(i); CSMSettings::Setting *setting = pageSettings.at(i);
@ -32,7 +34,7 @@ void CSVSettings::SettingWindow::createPages()
connectedSettings.append (setting); connectedSettings.append (setting);
} }
} }
qDebug() << "making connections";
if (!connectedSettings.isEmpty()) if (!connectedSettings.isEmpty())
createConnections(connectedSettings); createConnections(connectedSettings);
} }