39
39
QList<KisPaintOpOption*> paintOpOptions;
40
QMap<QListWidgetItem*, KisPaintOpOption*> widgetOptionMap;
40
QMap<QListWidgetItem*, KisPaintOpOption*> checkBoxMap;
41
41
QListWidget * optionsList;
42
42
QStackedWidget * optionsStack;
64
64
connect(m_d->optionsList,
65
65
SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
66
66
this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
68
connect(m_d->optionsList, SIGNAL(itemChanged(QListWidgetItem*)), SLOT(itemChanged(QListWidgetItem*)));
70
72
KisPaintOpOptionsWidget::~KisPaintOpOptionsWidget()
74
qDeleteAll(m_d->paintOpOptions);
81
84
connect(option, SIGNAL(sigSettingChanged()), SIGNAL(sigConfigurationItemChanged()));
83
if (option->isCheckable()) {
84
QWidget* w = new QWidget;
85
QVBoxLayout* l = new QVBoxLayout;
86
QCheckBox* c = new QCheckBox(i18n("Active"));
87
c->setChecked(option->isChecked());
88
connect(c, SIGNAL(toggled(bool)), option, SLOT(setChecked(bool)));
90
l->addWidget(option->configurationPage());
91
//option->configurationPage()->setVisible( true );
95
m_d->optionsStack->addWidget(w);
97
m_d->optionsStack->addWidget(option->configurationPage());
86
m_d->optionsStack->addWidget(option->configurationPage());
100
88
QListWidgetItem * item = new QListWidgetItem(m_d->optionsList);
101
m_d->widgetOptionMap[item] = option;
102
89
item->setText(option->label());
103
90
Qt::ItemFlags flags = item->flags();
91
flags = Qt::ItemIsSelectable | Qt::ItemIsEnabled;
104
92
if (option->isCheckable()) {
106
94
flags |= Qt::ItemIsUserCheckable;
95
item->setCheckState((option->isChecked()) ? Qt::Checked : Qt::Unchecked);
96
m_d->checkBoxMap[item] = option;
108
item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
98
item->setFlags(flags);
111
101
void KisPaintOpOptionsWidget::setConfiguration(const KisPropertiesConfiguration * config)
114
104
foreach(KisPaintOpOption* option, m_d->paintOpOptions) {
115
105
option->readOptionSetting(config);
107
foreach(QListWidgetItem* checkableItem, m_d->checkBoxMap.keys()) {
108
checkableItem->setCheckState((m_d->checkBoxMap[checkableItem]->isChecked()) ? Qt::Checked : Qt::Unchecked);
119
112
void KisPaintOpOptionsWidget::writeConfiguration(KisPropertiesConfiguration *config) const
119
void KisPaintOpOptionsWidget::setImage(KisImageWSP image)
121
foreach(KisPaintOpOption* option, m_d->paintOpOptions) {
122
option->setImage(image);
126
126
void KisPaintOpOptionsWidget::changePage(QListWidgetItem *current, QListWidgetItem *previous)
128
128
Q_UNUSED(previous);
129
129
m_d->optionsStack->setCurrentIndex(m_d->optionsList->row(current));
132
void KisPaintOpOptionsWidget::itemChanged(QListWidgetItem* item)
134
if(m_d->checkBoxMap.contains(item)) {
135
m_d->checkBoxMap[item]->setChecked(item->checkState() == Qt::Checked);
136
emit sigConfigurationItemChanged();
133
140
#include "kis_paintop_options_widget.moc"