[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [krita] libs: Fix "Instant Preview" checkbox work correctly on initialization
From: Dmitry Kazakov <dimula73 () gmail ! com>
Date: 2016-10-18 13:30:05
Message-ID: E1bwUSz-0001YT-De () code ! kde ! org
[Download RAW message or body]
Git commit e291d4ea6d3a7899bc37faabb2f406198cfd2e49 by Dmitry Kazakov.
Committed on 18/10/2016 at 13:29.
Pushed by dkazakov into branch 'master'.
Fix "Instant Preview" checkbox work correctly on initialization
This patch also makes the resources setting more straightforward,
in the same way other properties work.
M +0 -22 libs/image/brushengine/kis_paintop_config_widget.cpp
M +2 -21 libs/image/brushengine/kis_paintop_config_widget.h
M +2 -2 libs/ui/kis_canvas_resource_provider.h
M +0 -4 libs/ui/kis_paintop_settings_widget.cpp
M +23 -7 libs/ui/widgets/kis_paintop_presets_popup.cpp
M +2 -0 libs/ui/widgets/kis_paintop_presets_popup.h
http://commits.kde.org/krita/e291d4ea6d3a7899bc37faabb2f406198cfd2e49
diff --git a/libs/image/brushengine/kis_paintop_config_widget.cpp \
b/libs/image/brushengine/kis_paintop_config_widget.cpp index 254749c..e956181 100644
--- a/libs/image/brushengine/kis_paintop_config_widget.cpp
+++ b/libs/image/brushengine/kis_paintop_config_widget.cpp
@@ -23,7 +23,6 @@
KisPaintOpConfigWidget::KisPaintOpConfigWidget(QWidget * parent, Qt::WFlags f)
: KisConfigWidget(parent, f, 10),
- m_userAllowedLod(true),
m_isInsideUpdateCall(0)
{
}
@@ -50,16 +49,6 @@ void KisPaintOpConfigWidget::setConfigurationSafe(const \
KisPropertiesConfigurati m_isInsideUpdateCall--;
}
-void KisPaintOpConfigWidget::writeConfiguration(KisPropertiesConfigurationSP config) \
const
-{
- KisPaintOpSettings::setLodUserAllowed(config, m_userAllowedLod);
-}
-
-void KisPaintOpConfigWidget::setConfiguration(const KisPropertiesConfigurationSP \
config) {
- m_userAllowedLod = KisPaintOpSettings::isLodUserAllowed(config);
- emit sigUserChangedLodAvailability(m_userAllowedLod);
-}
-
void KisPaintOpConfigWidget::setImage(KisImageWSP image) {
m_image = image;
}
@@ -75,14 +64,3 @@ bool KisPaintOpConfigWidget::presetIsValid() {
bool KisPaintOpConfigWidget::supportScratchBox() {
return true;
}
-
-void KisPaintOpConfigWidget::slotUserChangedLodAvailability(bool value) {
- m_userAllowedLod = value;
- emit sigConfigurationItemChanged();
-}
-
-void KisPaintOpConfigWidget::coldInitExternalLodAvailabilityWidget()
-{
- emit sigUserChangedLodAvailability(m_userAllowedLod);
- emit sigConfigurationItemChanged();
-}
diff --git a/libs/image/brushengine/kis_paintop_config_widget.h \
b/libs/image/brushengine/kis_paintop_config_widget.h index 989c578..4e987ff 100644
--- a/libs/image/brushengine/kis_paintop_config_widget.h
+++ b/libs/image/brushengine/kis_paintop_config_widget.h
@@ -43,12 +43,8 @@ public:
void setConfigurationSafe(const KisPropertiesConfigurationSP config);
protected:
- /**
- * Write the settings in this widget to the given properties
- * configuration, which is cleared first.
- */
- virtual void writeConfiguration(KisPropertiesConfigurationSP config) const;
- virtual void setConfiguration(const KisPropertiesConfigurationSP config);
+ virtual void setConfiguration(const KisPropertiesConfigurationSP config) = 0;
+ virtual void writeConfiguration(KisPropertiesConfigurationSP config) const = 0;
public:
@@ -70,24 +66,9 @@ public:
*/
virtual bool supportScratchBox();
-
- /**
- * This call makes KisPaintOpConfigWidget emit
- * sigUserChangedLodAvailability() signal with the current
- * availability value
- */
- void coldInitExternalLodAvailabilityWidget();
-
-public Q_SLOTS:
- void slotUserChangedLodAvailability(bool value);
-
-Q_SIGNALS:
- void sigUserChangedLodAvailability(bool value);
-
protected:
KisImageWSP m_image;
KisNodeWSP m_node;
- bool m_userAllowedLod;
mutable int m_isInsideUpdateCall;
};
diff --git a/libs/ui/kis_canvas_resource_provider.h \
b/libs/ui/kis_canvas_resource_provider.h index 1e4cc49..ad27ef9 100644
--- a/libs/ui/kis_canvas_resource_provider.h
+++ b/libs/ui/kis_canvas_resource_provider.h
@@ -61,7 +61,7 @@ public:
CurrentGeneratorConfiguration,
CurrentCompositeOp,
CurrentEffectiveCompositeOp,
- LodAvailability,
+ LodAvailability, ///<-user choice
EraserMode,
MirrorHorizontal,
MirrorVertical,
@@ -78,7 +78,7 @@ public:
DisablePressure,
PreviousPaintOpPreset,
EffectiveZoom, ///<-Used only by painting tools for non-displaying purposes
- PresetAllowsLod,
+ PresetAllowsLod, ///<-combination of the user choice and thechnical \
abilities of the preset SelectionAction,
SelectionMode
};
diff --git a/libs/ui/kis_paintop_settings_widget.cpp \
b/libs/ui/kis_paintop_settings_widget.cpp index 667037f..ed5b65a7 100644
--- a/libs/ui/kis_paintop_settings_widget.cpp
+++ b/libs/ui/kis_paintop_settings_widget.cpp
@@ -130,8 +130,6 @@ void KisPaintOpSettingsWidget::setConfiguration(const \
KisPropertiesConfiguration m_d->model->signalDataChanged(m_d->model->indexOf(info));
indexcount++;
}
-
- KisPaintOpConfigWidget::setConfiguration(propertiesProxy);
}
void KisPaintOpSettingsWidget::writeConfiguration(KisPropertiesConfigurationSP \
config) const @@ -140,8 +138,6 @@ void \
KisPaintOpSettingsWidget::writeConfiguration(KisPropertiesConfigurationSP c \
Q_FOREACH (const KisPaintOpOption* option, m_d->paintOpOptions) { \
option->startWriteOptionSetting(propertiesProxy); }
-
- KisPaintOpConfigWidget::writeConfiguration(propertiesProxy);
}
KisPaintopLodLimitations KisPaintOpSettingsWidget::lodLimitations() const
diff --git a/libs/ui/widgets/kis_paintop_presets_popup.cpp \
b/libs/ui/widgets/kis_paintop_presets_popup.cpp index efb736e..94260f5 100644
--- a/libs/ui/widgets/kis_paintop_presets_popup.cpp
+++ b/libs/ui/widgets/kis_paintop_presets_popup.cpp
@@ -162,8 +162,31 @@ \
KisPaintOpPresetsPopup::KisPaintOpPresetsPopup(KisCanvasResourceProvider \
* resou
m_d->uiWdgPaintOpPresetSettings.eraserBrushOpacityCheckBox->setChecked(cfg.useEraserBrushOpacity());
m_d->uiWdgPaintOpPresetSettings.wdgLodAvailability->setCanvasResourceManager(resourceProvider->resourceManager());
+
+ connect(resourceProvider->resourceManager(),
+ SIGNAL(canvasResourceChanged(int,QVariant)),
+ SLOT(slotResourceChanged(int, QVariant)));
+
+ connect(m_d->uiWdgPaintOpPresetSettings.wdgLodAvailability,
+ SIGNAL(sigUserChangedLodAvailability(bool)),
+ SLOT(slotLodAvailabilityChanged(bool)));
+
+ slotResourceChanged(KisCanvasResourceProvider::LodAvailability,
+ resourceProvider->resourceManager()->
+ resource(KisCanvasResourceProvider::LodAvailability));
}
+void KisPaintOpPresetsPopup::slotResourceChanged(int key, const QVariant &value)
+{
+ if (key == KisCanvasResourceProvider::LodAvailability) {
+ m_d->uiWdgPaintOpPresetSettings.wdgLodAvailability->slotUserChangedLodAvailability(value.toBool());
+ }
+}
+
+void KisPaintOpPresetsPopup::slotLodAvailabilityChanged(bool value)
+{
+ m_d->resourceProvider->resourceManager()->setResource(KisCanvasResourceProvider::LodAvailability, \
QVariant(value)); +}
KisPaintOpPresetsPopup::~KisPaintOpPresetsPopup()
{
@@ -199,16 +222,9 @@ void KisPaintOpPresetsPopup::setPaintOpSettingsWidget(QWidget * \
widget) hideScratchPad();
}
- m_d->widgetConnections.addConnection(m_d->uiWdgPaintOpPresetSettings.wdgLodAvailability, \
SIGNAL(sigUserChangedLodAvailability(bool)),
- m_d->settingsWidget, \
SLOT(slotUserChangedLodAvailability(bool)));
- m_d->widgetConnections.addConnection(m_d->settingsWidget, \
SIGNAL(sigUserChangedLodAvailability(bool)),
- \
m_d->uiWdgPaintOpPresetSettings.wdgLodAvailability, \
SLOT(slotUserChangedLodAvailability(bool)));
m_d->widgetConnections.addConnection(m_d->settingsWidget, \
SIGNAL(sigConfigurationItemChanged()),
this, \
SLOT(slotUpdateLodAvailability()));
- m_d->settingsWidget->coldInitExternalLodAvailabilityWidget();
-
-
widget->setFont(m_d->smallFont);
QSize hint = widget->sizeHint();
diff --git a/libs/ui/widgets/kis_paintop_presets_popup.h \
b/libs/ui/widgets/kis_paintop_presets_popup.h index 3cf9829..6751dbe 100644
--- a/libs/ui/widgets/kis_paintop_presets_popup.h
+++ b/libs/ui/widgets/kis_paintop_presets_popup.h
@@ -104,6 +104,8 @@ Q_SIGNALS:
private Q_SLOTS:
void slotSwitchPresetStrip(bool visible);
void slotSwitchScratchpad(bool visible);
+ void slotResourceChanged(int key, const QVariant &value);
+ void slotLodAvailabilityChanged(bool value);
private:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic