diff --git a/src/display.cpp b/src/display.cpp index f4e842d5de2da..9f1d47e4c39b6 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -932,7 +932,12 @@ void display::create_buttons() } std::shared_ptr b_prev = find_action_button(b->id()); - if(b_prev) b->enable(b_prev->enabled()); + if(b_prev) { + b->enable(b_prev->enabled()); + if (b_prev->get_type() == gui::button::TYPE_CHECK) { + b->set_check(b_prev->checked()); + } + } action_work.push_back(b); } diff --git a/src/widgets/button.hpp b/src/widgets/button.hpp index 0f57b2fecdc78..f5ac4b4058194 100644 --- a/src/widgets/button.hpp +++ b/src/widgets/button.hpp @@ -31,6 +31,7 @@ class button : public widget }; enum TYPE { TYPE_PRESS, TYPE_CHECK, TYPE_TURBO, TYPE_IMAGE, TYPE_RADIO }; + TYPE get_type() const { return type_; }; enum SPACE_CONSUMPTION { DEFAULT_SPACE, MINIMUM_SPACE };