31 Q_ASSERT(!dialogName.isEmpty());
33 KConfigGroup group(KSharedConfig::openConfig(), dialogName);
34 Q_FOREACH(QWidget *widget, parent->findChildren<QWidget*>(QString())) {
36 if (!widget->objectName().isEmpty() ) {
37 if (qobject_cast<KisIntParseSpinBox*>(widget)) {
38 group.writeEntry(widget->objectName(), qobject_cast<KisIntParseSpinBox*>(widget)->value());
40 else if (qobject_cast<KisDoubleParseSpinBox*>(widget)) {
41 group.writeEntry(widget->objectName(), qobject_cast<KisDoubleParseSpinBox*>(widget)->value());
43 else if (qobject_cast<KisDoubleParseUnitSpinBox*>(widget)) {
45 group.writeEntry(widget->objectName(), qobject_cast<KisDoubleParseUnitSpinBox*>(widget)->value());
47 else if (qobject_cast<QCheckBox*>(widget)) {
48 group.writeEntry(widget->objectName(), qobject_cast<const QCheckBox*>(widget)->isChecked());
50 else if (qobject_cast<QComboBox*>(widget)) {
51 group.writeEntry(widget->objectName(), qobject_cast<QComboBox*>(widget)->currentIndex());
53 else if (qobject_cast<QLineEdit*>(widget)) {
54 group.writeEntry(widget->objectName(), qobject_cast<QLineEdit*>(widget)->text());
56 else if (qobject_cast<QTextEdit*>(widget)) {
57 group.writeEntry(widget->objectName(), qobject_cast<QTextEdit *>(widget)->toPlainText());
59 else if (qobject_cast<QAbstractSlider*>(widget)) {
60 group.writeEntry(widget->objectName(), qobject_cast<QAbstractSlider*>(widget)->value());
62 else if (qobject_cast<QSpinBox*>(widget)) {
63 group.writeEntry(widget->objectName(), qobject_cast<QSpinBox*>(widget)->value());
65 else if (qobject_cast<QDoubleSpinBox*>(widget)) {
66 group.writeEntry(widget->objectName(), qobject_cast<QDoubleSpinBox*>(widget)->value());
68 else if (qobject_cast<QRadioButton*>(widget)) {
69 group.writeEntry(widget->objectName(), qobject_cast<QRadioButton*>(widget)->isChecked());
71 else if (qobject_cast<KisSliderSpinBox*>(widget)){
72 group.writeEntry(widget->objectName(), qobject_cast<KisSliderSpinBox*>(widget)->value());
80 qWarning() <<
"Dialog" << dialogName <<
"has a widget without an objectName:" << widget;
89 Q_ASSERT(!dialogName.isEmpty());
91 KConfigGroup group( KSharedConfig::openConfig(), dialogName);
93 Q_FOREACH(QWidget *widget, parent->findChildren<QWidget*>(QString())) {
95 if (!widget->objectName().isEmpty()) {
97 QString widgetName = widget->objectName();
99 QVariant defaultValue;
100 if (defaults.contains(widgetName)) {
101 defaultValue = defaults[widgetName];
104 if (qobject_cast<KisIntParseSpinBox*>(widget)) {
105 if (defaultValue.isValid()) {
106 qobject_cast<KisIntParseSpinBox*>(widget)->setValue(defaultValue.toInt());
109 qobject_cast<KisIntParseSpinBox*>(widget)->setValue(group.readEntry<
int>(widgetName, qobject_cast<KisIntParseSpinBox*>(widget)->value()));
112 else if (qobject_cast<KisDoubleParseSpinBox*>(widget)) {
113 if (defaultValue.isValid()) {
114 qobject_cast<KisDoubleParseSpinBox*>(widget)->setValue(defaultValue.toInt());
117 qobject_cast<KisDoubleParseSpinBox*>(widget)->setValue(group.readEntry<
int>(widgetName, qobject_cast<KisDoubleParseSpinBox*>(widget)->value()));
120 else if (qobject_cast<KisDoubleParseUnitSpinBox*>(widget)) {
121 if (defaultValue.isValid()) {
122 qobject_cast<KisDoubleParseUnitSpinBox*>(widget)->setValue(defaultValue.toInt());
125 qobject_cast<KisDoubleParseUnitSpinBox*>(widget)->setValue(group.readEntry<
int>(widgetName, qobject_cast<KisDoubleParseUnitSpinBox*>(widget)->value()));
128 else if (qobject_cast<QCheckBox*>(widget)) {
129 if (defaultValue.isValid()) {
130 qobject_cast<QCheckBox*>(widget)->setChecked(defaultValue.toBool());
133 qobject_cast<QCheckBox*>(widget)->setChecked(group.readEntry<
bool>(widgetName, qobject_cast<QCheckBox*>(widget)->isChecked()));
136 else if (qobject_cast<QComboBox*>(widget)) {
137 if (defaultValue.isValid()) {
138 qobject_cast<QComboBox*>(widget)->setCurrentIndex(defaultValue.toInt());
141 qobject_cast<QComboBox*>(widget)->setCurrentIndex(group.readEntry<
int>(widgetName, qobject_cast<QComboBox*>(widget)->currentIndex()));
144 else if (qobject_cast<QLineEdit*>(widget)) {
145 if (defaultValue.isValid()) {
146 qobject_cast<QLineEdit*>(widget)->setText(defaultValue.toString());
149 qobject_cast<QLineEdit*>(widget)->setText(group.readEntry<QString>(widgetName, qobject_cast<QLineEdit*>(widget)->text()));
152 else if (qobject_cast<QTextEdit *>(widget)) {
153 if (defaultValue.isValid()) {
154 qobject_cast<QTextEdit *>(widget)->setPlainText(defaultValue.toString());
156 qobject_cast<QTextEdit *>(widget)->setPlainText(group.readEntry<QString>(widgetName, qobject_cast<QTextEdit *>(widget)->toPlainText()));
159 else if (qobject_cast<QAbstractSlider*>(widget)) {
160 if (defaultValue.isValid()) {
161 qobject_cast<QAbstractSlider*>(widget)->setValue(defaultValue.toInt());
164 qobject_cast<QAbstractSlider*>(widget)->setValue(group.readEntry<
int>(widgetName, qobject_cast<QAbstractSlider*>(widget)->value()));
167 else if (qobject_cast<QSpinBox*>(widget)) {
168 if (defaultValue.isValid()) {
169 qobject_cast<QSpinBox*>(widget)->setValue(defaultValue.toInt());
172 qobject_cast<QSpinBox*>(widget)->setValue(group.readEntry<
int>(widgetName, qobject_cast<QSpinBox*>(widget)->value()));
175 else if (qobject_cast<QDoubleSpinBox*>(widget)) {
176 if (defaultValue.isValid()) {
177 qobject_cast<QDoubleSpinBox*>(widget)->setValue(defaultValue.toDouble());
180 qobject_cast<QDoubleSpinBox*>(widget)->setValue(group.readEntry<
int>(widgetName, qobject_cast<QDoubleSpinBox*>(widget)->value()));
183 else if (qobject_cast<QRadioButton*>(widget)) {
184 if (defaultValue.isValid()) {
185 qobject_cast<QRadioButton*>(widget)->setChecked(defaultValue.toBool());
188 qobject_cast<QRadioButton*>(widget)->setChecked(group.readEntry<
bool>(widgetName, qobject_cast<QRadioButton*>(widget)->isChecked()));
191 else if (qobject_cast<KisSliderSpinBox*>(widget)) {
192 if (defaultValue.isValid()) {
193 qobject_cast<KisSliderSpinBox*>(widget)->setValue(defaultValue.toInt());
196 qobject_cast<KisSliderSpinBox*>(widget)->setValue(group.readEntry<
int>(widgetName, qobject_cast<KisSliderSpinBox*>(widget)->value()));
205 qWarning() <<
"Dialog" << dialogName <<
"has a widget without an object name:" << widget;