From a92f476e3a090b3936508012ce8371950c579466 Mon Sep 17 00:00:00 2001 From: David Capello Date: Thu, 29 Jun 2017 15:01:11 -0300 Subject: [PATCH] Don't change color type when alpha slider is modified on ColorPopup Bug reported here: https://twitter.com/chefkoch104/status/879664806864748544 --- src/app/ui/color_popup.cpp | 20 +++++++++++--------- src/app/ui/color_popup.h | 6 ++++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/app/ui/color_popup.cpp b/src/app/ui/color_popup.cpp index 0a6d86c0f..cdec1ce1e 100644 --- a/src/app/ui/color_popup.cpp +++ b/src/app/ui/color_popup.cpp @@ -66,7 +66,7 @@ public: private: void onClick(Event& ev) override { - m_colorPopup->setColorWithSignal(m_color); + m_colorPopup->setColorWithSignal(m_color, ChangeType); } void onPaint(PaintEvent& ev) override { @@ -273,7 +273,8 @@ ColorPopup::~ColorPopup() { } -void ColorPopup::setColor(const app::Color& color, SetColorOptions options) +void ColorPopup::setColor(const app::Color& color, + const SetColorOptions options) { m_color = color; @@ -361,12 +362,12 @@ void ColorPopup::onMakeFixed() void ColorPopup::onPaletteViewIndexChange(int index, ui::MouseButtons buttons) { - setColorWithSignal(app::Color::fromIndex(index)); + setColorWithSignal(app::Color::fromIndex(index), ChangeType); } void ColorPopup::onColorSlidersChange(ColorSlidersChangeEvent& ev) { - setColorWithSignal(ev.color()); + setColorWithSignal(ev.color(), DontChangeType); findBestfitIndex(ev.color()); } @@ -376,7 +377,7 @@ void ColorPopup::onColorHexEntryChange(const app::Color& color) // is writting in the text field. m_disableHexUpdate = true; - setColorWithSignal(color); + setColorWithSignal(color, ChangeType); findBestfitIndex(color); m_disableHexUpdate = false; @@ -406,7 +407,7 @@ void ColorPopup::onSimpleColorClick() doc::rgba_geta(c)); } - setColorWithSignal(color); + setColorWithSignal(color, ChangeType); } void ColorPopup::onColorTypeClick() @@ -447,7 +448,7 @@ void ColorPopup::onColorTypeClick() break; } - setColorWithSignal(newColor); + setColorWithSignal(newColor, ChangeType); } void ColorPopup::onPaletteChange() @@ -475,9 +476,10 @@ void ColorPopup::findBestfitIndex(const app::Color& color) } } -void ColorPopup::setColorWithSignal(const app::Color& color) +void ColorPopup::setColorWithSignal(const app::Color& color, + const SetColorOptions options) { - setColor(color, ChangeType); + setColor(color, options); // Fire ColorChange signal ColorChange(color); diff --git a/src/app/ui/color_popup.h b/src/app/ui/color_popup.h index 9f6e43873..73fdd8233 100644 --- a/src/app/ui/color_popup.h +++ b/src/app/ui/color_popup.h @@ -36,7 +36,8 @@ namespace app { ColorPopup(const ColorButtonOptions& options); ~ColorPopup(); - void setColor(const app::Color& color, SetColorOptions options); + void setColor(const app::Color& color, + const SetColorOptions options); app::Color getColor() const; // Signals @@ -58,7 +59,8 @@ namespace app { private: void selectColorType(app::Color::Type type); - void setColorWithSignal(const app::Color& color); + void setColorWithSignal(const app::Color& color, + const SetColorOptions options); void findBestfitIndex(const app::Color& color); class SimpleColors;