Krita Source Code Documentation
Loading...
Searching...
No Matches
KisDuplicateOptionWidget.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2022 Sharaf Zaman <shzam@sdf.org>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
8
9#include <QWidget>
10
13
14#include "ui_wdgduplicateop.h"
15
17public:
18 Private(lager::cursor<KisDuplicateOptionData> optionData)
19 : model(optionData)
20 {
21 }
22
24};
25
26class KisDuplicateOpOptionsWidget : public QWidget, public Ui::DuplicateOpOptionsWidget
27{
28public:
29 KisDuplicateOpOptionsWidget(QWidget *parent = 0)
30 : QWidget(parent)
31 {
32 setupUi(this);
33 }
34};
35
36KisDuplicateOptionWidget::KisDuplicateOptionWidget(lager::cursor<KisDuplicateOptionData> optionData)
37 : KisPaintOpOption(i18n("Painting Mode"), KisPaintOpOption::COLOR, true)
38 , m_d(new Private(optionData))
39{
41 m_checkable = false;
42
43 setObjectName("KisDuplicateOptionWidget");
44
45 {
46 using namespace KisWidgetConnectionUtils;
47 connectControl(page->cbHealing, &m_d->model, "healing");
48 connectControl(page->cbPerspective, &m_d->model, "correctPerspective");
49 connectControl(page->cbSourcePoint, &m_d->model, "moveSourcePoint");
50 connectControl(page->cbResetSourcePoint, &m_d->model, "resetSourcePoint");
51 connectControl(page->chkCloneProjection, &m_d->model, "cloneFromProjection");
52 }
53
54 // This pushes our model into the setting.
55 m_d->model.optionData.bind(std::bind(&KisDuplicateOptionWidget::emitSettingChanged, this));
56
58
59}
60
64
66{
67 m_d->model.optionData->write(setting.data());
68}
69
71{
72 KisDuplicateOptionData optionData = *m_d->model.optionData;
73 optionData.read(setting.data());
74 m_d->model.optionData.set(optionData);
75}
void writeOptionSetting(KisPropertiesConfigurationSP setting) const override
KisDuplicateOptionWidget(lager::cursor< data_type > optionData)
void readOptionSetting(const KisPropertiesConfigurationSP setting) override
const QScopedPointer< Private > m_d
void setConfigurationPage(QWidget *page)
bool read(const KisPropertiesConfiguration *setting)
Private(lager::cursor< KisDuplicateOptionData > optionData)