mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-09 12:42:11 +00:00
101c147217
preference 1. Included updated status icons, added base.png 2. Added doxygen comments CSV / CSM Settings classes 3. Implemented Glorf's code for window size preference 4. Minor changes code that searches maps in CSV / CSM Settings classes 5. Removed CSVSettings::SamplePage class 6. Other minor code maintenance / improvements
113 lines
2.9 KiB
C++
113 lines
2.9 KiB
C++
#include "abstractblock.hpp"
|
|
|
|
CSVSettings::AbstractBlock::AbstractBlock(QWidget* parent)
|
|
: QObject (parent), mBox ( new GroupBox (parent) ), mWidgetParent (parent)
|
|
{}
|
|
|
|
CSVSettings::AbstractBlock::AbstractBlock(bool isVisible, QWidget* parent)
|
|
: QObject (parent), mBox ( new GroupBox (isVisible, parent)), mWidgetParent (parent)
|
|
{}
|
|
|
|
QLayout *CSVSettings::AbstractBlock::createLayout (Orientation direction,
|
|
bool isZeroMargin, QWidget* parent)
|
|
{
|
|
QLayout *layout = 0;
|
|
|
|
if (direction == Orient_Vertical)
|
|
layout = new QVBoxLayout (parent);
|
|
else
|
|
layout = new QHBoxLayout (parent);
|
|
|
|
if (isZeroMargin)
|
|
layout->setContentsMargins(0, 0, 0, 0);
|
|
|
|
return layout;
|
|
}
|
|
|
|
QGroupBox *CSVSettings::AbstractBlock::getGroupBox()
|
|
{
|
|
return mBox;
|
|
}
|
|
|
|
CSVSettings::AbstractWidget *CSVSettings::AbstractBlock::buildWidget (const QString& widgetName, WidgetDef &def,
|
|
QLayout *layout, bool isConnected) const
|
|
{
|
|
AbstractWidget *widg = 0;
|
|
|
|
switch (def.type)
|
|
{
|
|
|
|
case Widget_RadioButton:
|
|
widg = new SettingWidget<QRadioButton> (def, layout, mBox);
|
|
break;
|
|
|
|
case Widget_SpinBox:
|
|
widg = new SettingWidget<QSpinBox> (def, layout, mBox);
|
|
break;
|
|
|
|
case Widget_CheckBox:
|
|
widg = new SettingWidget<QCheckBox> (def, layout, mBox);
|
|
break;
|
|
|
|
case Widget_LineEdit:
|
|
widg = new SettingWidget<QLineEdit> (def, layout, mBox);
|
|
break;
|
|
|
|
case Widget_ListBox:
|
|
widg = new SettingWidget<QListWidget> (def, layout, mBox);
|
|
break;
|
|
|
|
case Widget_ComboBox:
|
|
widg = new SettingWidget<QComboBox> (def, layout, mBox);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
};
|
|
|
|
if (!mBox->layout())
|
|
mBox->setLayout(widg->getLayout());
|
|
|
|
widg->widget()->setObjectName(widgetName);
|
|
|
|
if (isConnected)
|
|
connect (widg, SIGNAL (signalUpdateItem (const QString &)), this, SLOT (slotUpdate (const QString &)));
|
|
connect (this, SIGNAL (signalUpdateWidget (const QString &)), widg, SLOT (slotUpdateWidget (const QString &) ));
|
|
|
|
return widg;
|
|
}
|
|
|
|
void CSVSettings::AbstractBlock::setVisible (bool isVisible)
|
|
{
|
|
mBox->setBorderVisibility (isVisible);
|
|
}
|
|
|
|
bool CSVSettings::AbstractBlock::isVisible () const
|
|
{
|
|
return mBox->borderVisibile();
|
|
}
|
|
|
|
QWidget *CSVSettings::AbstractBlock::getParent() const
|
|
{
|
|
return mWidgetParent;
|
|
}
|
|
|
|
void CSVSettings::AbstractBlock::slotUpdate (const QString &value)
|
|
{
|
|
slotUpdateSetting (objectName(), value);
|
|
}
|
|
|
|
void CSVSettings::AbstractBlock::slotSetEnabled(bool value)
|
|
{
|
|
mBox->setEnabled(value);
|
|
}
|
|
|
|
void CSVSettings::AbstractBlock::slotUpdateSetting (const QString &settingName, const QString &settingValue)
|
|
{
|
|
bool doEmit = true;
|
|
updateBySignal (settingName, settingValue, doEmit);
|
|
|
|
if (doEmit)
|
|
emit signalUpdateSetting (settingName, settingValue);
|
|
}
|