mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-25 15:35:23 +00:00
Added workarounds to add QLabel. Add stylesheet option to apply to View's QGroupBox. RangeViews are now right aligned. Added content margins to the page/tab's layout.
This commit is contained in:
parent
02f8f54192
commit
71a3880884
@ -205,6 +205,16 @@ QString CSMSettings::Setting::section() const
|
||||
return property (Property_Section).at(0);
|
||||
}
|
||||
|
||||
void CSMSettings::Setting::setStyleSheet (const QString &value)
|
||||
{
|
||||
setProperty (Property_StyleSheet, value);
|
||||
}
|
||||
|
||||
QString CSMSettings::Setting::styleSheet() const
|
||||
{
|
||||
return property (Property_StyleSheet).at(0);
|
||||
}
|
||||
|
||||
void CSMSettings::Setting::setPrefix (const QString &value)
|
||||
{
|
||||
setProperty (Property_Prefix, value);
|
||||
|
@ -83,6 +83,9 @@ namespace CSMSettings
|
||||
void setSection (const QString &value);
|
||||
QString section() const;
|
||||
|
||||
void setStyleSheet (const QString &value);
|
||||
QString styleSheet() const;
|
||||
|
||||
void setPrefix (const QString &value);
|
||||
QString prefix() const;
|
||||
|
||||
|
@ -36,12 +36,13 @@ namespace CSMSettings
|
||||
Property_TicksAbove = 20,
|
||||
Property_TicksBelow = 21,
|
||||
Property_Section = 22,
|
||||
Property_StyleSheet = 23,
|
||||
|
||||
//Stringlists should always be the last items
|
||||
Property_DefaultValues = 23,
|
||||
Property_DeclaredValues = 24,
|
||||
Property_DefinedValues = 25,
|
||||
Property_Proxies = 26
|
||||
Property_DefaultValues = 24,
|
||||
Property_DeclaredValues = 25,
|
||||
Property_DefinedValues = 26,
|
||||
Property_Proxies = 27
|
||||
};
|
||||
|
||||
///Basic setting widget types.
|
||||
@ -107,7 +108,7 @@ namespace CSMSettings
|
||||
"is_multi_line", "widget_width", "view_row", "view_column", "delimiter",
|
||||
"is_serializable","column_span", "row_span", "minimum", "maximum",
|
||||
"special_value_text", "prefix", "suffix", "single_step", "wrapping",
|
||||
"tick_interval", "ticks_above", "ticks_below", "section",
|
||||
"tick_interval", "ticks_above", "ticks_below", "section", "stylesheet",
|
||||
"defaults", "declarations", "definitions", "proxies"
|
||||
};
|
||||
|
||||
@ -137,6 +138,7 @@ namespace CSMSettings
|
||||
"false", //ticks above
|
||||
"true", //ticks below
|
||||
"", //Section
|
||||
"", //StyleSheet
|
||||
"", //default values
|
||||
"", //declared values
|
||||
"", //defined values
|
||||
|
@ -66,6 +66,7 @@ void UserSettings::buildSettingModelDefaults()
|
||||
fog->setSpecialValueText("Enable Fog");
|
||||
fog->setWidgetWidth(15);
|
||||
fog->setColumnSpan (2);
|
||||
fog->setStyleSheet ("QGroupBox { border: 0px; }");
|
||||
fog->setViewLocation(1, 1);
|
||||
|
||||
Setting *shadows = createSetting (Type_CheckBox, page, "shadows");
|
||||
@ -75,6 +76,7 @@ void UserSettings::buildSettingModelDefaults()
|
||||
shadows->setSpecialValueText("Enable Shadows");
|
||||
shadows->setWidgetWidth(15);
|
||||
//shadows->setColumnSpan (2);
|
||||
shadows->setStyleSheet ("QGroupBox { border: 0px; }");
|
||||
shadows->setViewLocation(2, 1);
|
||||
|
||||
Setting *shadows_pssm = createSetting (Type_CheckBox, page, "shadows_pssm");
|
||||
@ -84,6 +86,7 @@ void UserSettings::buildSettingModelDefaults()
|
||||
shadows_pssm->setSpecialValueText("Enable PSSM Shadows");
|
||||
shadows_pssm->setWidgetWidth(15);
|
||||
//shadows_pssm->setColumnSpan (2);
|
||||
shadows_pssm->setStyleSheet ("QGroupBox { border: 0px; }");
|
||||
shadows_pssm->setViewLocation(3, 1);
|
||||
|
||||
// FIXME: add option to put label elsewhere (i.e. no frame text)
|
||||
@ -93,7 +96,7 @@ void UserSettings::buildSettingModelDefaults()
|
||||
numLights->setColumnSpan (2);
|
||||
numLights->setMinimum (0);
|
||||
numLights->setMaximum (100); // FIXME: not sure what the max value should be
|
||||
numLights->setWidgetWidth (15);
|
||||
numLights->setWidgetWidth (10);
|
||||
numLights->setSpecialValueText ("Nothing!"); // text to display when value is 0
|
||||
numLights->setViewLocation(4, 1);
|
||||
|
||||
@ -104,6 +107,7 @@ void UserSettings::buildSettingModelDefaults()
|
||||
simpleWater->setSpecialValueText("Enable Simple Water");
|
||||
simpleWater->setWidgetWidth(15);
|
||||
simpleWater->setColumnSpan (2);
|
||||
simpleWater->setStyleSheet ("QGroupBox { border: 0px; }");
|
||||
simpleWater->setViewLocation(2, 4);
|
||||
|
||||
Setting *waterEnabled = createSetting (Type_DoubleSpinBox, page, "waterEnabled");
|
||||
@ -112,7 +116,7 @@ void UserSettings::buildSettingModelDefaults()
|
||||
//waterEnabled->setColumnSpan (2);
|
||||
waterEnabled->setMinimum (0);
|
||||
waterEnabled->setMaximum (100.00); // FIXME: not sure what the max value should be
|
||||
waterEnabled->setWidgetWidth (15);
|
||||
waterEnabled->setWidgetWidth (10);
|
||||
waterEnabled->setViewLocation(3, 4);
|
||||
|
||||
Setting *waterLevel = createSetting (Type_DoubleSpinBox, page, "waterLevel");
|
||||
@ -121,7 +125,7 @@ void UserSettings::buildSettingModelDefaults()
|
||||
//waterLevel->setColumnSpan (2);
|
||||
waterLevel->setMinimum (0);
|
||||
waterLevel->setMaximum (100.00); // FIXME: not sure what the max value should be
|
||||
waterLevel->setWidgetWidth (15);
|
||||
waterLevel->setWidgetWidth (10);
|
||||
waterLevel->setViewLocation(4, 4);
|
||||
|
||||
Setting *waterTimer = createSetting (Type_DoubleSpinBox, page, "waterTimer");
|
||||
@ -130,9 +134,17 @@ void UserSettings::buildSettingModelDefaults()
|
||||
//waterTimer->setColumnSpan (2);
|
||||
waterTimer->setMinimum (0);
|
||||
waterTimer->setMaximum (100.00); // FIXME: not sure what the max value should be
|
||||
waterTimer->setWidgetWidth (15);
|
||||
waterTimer->setWidgetWidth (10);
|
||||
waterTimer->setViewLocation(5, 4);
|
||||
|
||||
Setting *text = createSetting (Type_Undefined, page, "text");
|
||||
text->setSpecialValueText("This is a test"); // hack to place text labels
|
||||
text->setEditorSetting(false);
|
||||
text->setSerializable (false);
|
||||
//text->setColumnSpan (1);
|
||||
text->setWidgetWidth (15);
|
||||
text->setViewLocation(5, 1);
|
||||
|
||||
#if 0
|
||||
sh::Factory::getInstance().setGlobalSetting ("shadows_pssm", "false");
|
||||
|
||||
|
@ -14,7 +14,11 @@ CSVSettings::Frame::Frame (bool isVisible, const QString &title,
|
||||
mVisibleBoxStyle = styleSheet();
|
||||
|
||||
if (!isVisible)
|
||||
{
|
||||
// must be Page, not a View
|
||||
setStyleSheet (sInvisibleBoxStyle);
|
||||
mLayout->setContentsMargins(10, 15, 10, 15);
|
||||
}
|
||||
|
||||
setLayout (mLayout);
|
||||
}
|
||||
|
@ -1,4 +1,7 @@
|
||||
#include "page.hpp"
|
||||
|
||||
#include <QLabel>
|
||||
|
||||
#include "view.hpp"
|
||||
#include "booleanview.hpp"
|
||||
#include "textview.hpp"
|
||||
@ -38,7 +41,18 @@ void CSVSettings::Page::setupViews
|
||||
void CSVSettings::Page::addView (CSMSettings::Setting *setting)
|
||||
{
|
||||
if (setting->viewType() == ViewType_Undefined)
|
||||
return;
|
||||
{
|
||||
if(setting->specialValueText() != "")
|
||||
{
|
||||
// hack to put a label
|
||||
addWidget(new QLabel(setting->specialValueText()),
|
||||
setting->viewRow(), setting->viewColumn(),
|
||||
setting->rowSpan(), setting->columnSpan());
|
||||
return;
|
||||
}
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
View *view = mViewFactories[setting->viewType()]->createView(setting, this);
|
||||
|
||||
|
@ -127,6 +127,7 @@ void CSVSettings::RangeView::buildSpinBox (CSMSettings::Setting *setting)
|
||||
mRangeWidget->setProperty ("prefix", setting->prefix());
|
||||
mRangeWidget->setProperty ("suffix", setting->suffix());
|
||||
mRangeWidget->setProperty ("wrapping", setting->wrapping());
|
||||
dynamic_cast<QAbstractSpinBox *> (mRangeWidget)->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
|
||||
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,9 @@ CSVSettings::View::View(CSMSettings::Setting *setting,
|
||||
setObjectName (setting->name());
|
||||
buildView();
|
||||
buildModel (setting);
|
||||
// apply stylesheet to view's frame if exists
|
||||
if(setting->styleSheet() != "")
|
||||
Frame::setStyleSheet (setting->styleSheet());
|
||||
}
|
||||
|
||||
void CSVSettings::View::buildModel (const CSMSettings::Setting *setting)
|
||||
|
Loading…
x
Reference in New Issue
Block a user