61 setObjectName(
"KisFilterOption");
65 m_d->page =
new FilterWidget();
68 m_d->layout =
new QGridLayout(
m_d->page->grpFilterOptions);
74 for (
auto it = allFilters.begin(); it != allFilters.end(); ++it) {
76 if (f->supportsPainting()) {
77 supportedFilters.push_back(
KoID(*it, f->name()));
81 m_d->page->filtersList->setIDList(supportedFilters);
83 m_d->model.LAGER_QT(effectiveFilterState).bind(
87 std::placeholders::_1,
88 std::placeholders::_2,
93 connectControl(
m_d->page->checkBoxSmudgeMode, &
m_d->model,
"smudgeMode");
133 if (!
m_d->currentFilter ||
134 m_d->currentFilter->id() != filterId) {
137 m_d->page->filtersList->setCurrent(filterId);
142 forceResetWidget =
true;
145 if (!
m_d->paintDevice) {
146 forceResetWidget =
true;
149 if (forceResetWidget &&
m_d->currentFilterConfigWidget) {
150 m_d->currentFilterConfigWidget->hide();
151 m_d->layout->removeWidget(
m_d->currentFilterConfigWidget);
152 m_d->layout->invalidate();
153 delete m_d->currentFilterConfigWidget;
154 m_d->currentFilterConfigWidget =
nullptr;
157 if (
m_d->paintDevice && !
m_d->currentFilterConfigWidget) {
158 m_d->currentFilterConfigWidget =
159 m_d->currentFilter->createConfigurationWidget(
m_d->page->grpFilterOptions,
m_d->paintDevice,
true);
161 if (
m_d->currentFilterConfigWidget) {
167 m_d->layout->addWidget(
m_d->currentFilterConfigWidget);
168 m_d->page->grpFilterOptions->updateGeometry();
169 m_d->currentFilterConfigWidget->show();
170 connect(
m_d->currentFilterConfigWidget, SIGNAL(sigConfigurationUpdated()),
175 if (
m_d->currentFilterConfigWidget) {
179 config->fromXML(filterConfig);
182 m_d->currentFilterConfigWidget->setConfiguration(config);