diff --git a/libs/ui/include/psemek/ui/slider.hpp b/libs/ui/include/psemek/ui/slider.hpp index 0eb28bcf..27fdd8a7 100644 --- a/libs/ui/include/psemek/ui/slider.hpp +++ b/libs/ui/include/psemek/ui/slider.hpp @@ -18,7 +18,7 @@ namespace psemek::ui virtual void set_value_range(geom::interval i); virtual int value() const { return value_; } - virtual void set_value(int v); + virtual void set_value(int v, bool notify = true); using on_value_changed_callback = std::function; diff --git a/libs/ui/source/slider.cpp b/libs/ui/source/slider.cpp index 1fd868d9..25adf4f3 100644 --- a/libs/ui/source/slider.cpp +++ b/libs/ui/source/slider.cpp @@ -83,13 +83,14 @@ namespace psemek::ui set_value(value_); } - void slider::set_value(int v) + void slider::set_value(int v, bool notify) { v = geom::clamp(v, value_range_); if (value_ != v) { value_ = v; - post_value_changed(); + if (notify) + post_value_changed(); } }