From 5064b581eeed41f276c4e1951e19624c6f0e52c7 Mon Sep 17 00:00:00 2001 From: Timothy Slater Date: Tue, 30 Aug 2022 20:59:58 -0500 Subject: LibGUI: Disable increment/decrement buttons on SpinBox based on value When the value for a SpinBox equals the max, disable the increment button. Functionally, clicking the button doesn't do anything because the set_value() clamps the value to min/max and updates the textbox. However it is still nice to indicate to the user that they've reached the max. Same goes for minimum value and the decrement button. --- Userland/Libraries/LibGUI/SpinBox.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Userland/Libraries/LibGUI/SpinBox.cpp b/Userland/Libraries/LibGUI/SpinBox.cpp index 95e379c7a0..48e2a1f95a 100644 --- a/Userland/Libraries/LibGUI/SpinBox.cpp +++ b/Userland/Libraries/LibGUI/SpinBox.cpp @@ -69,6 +69,10 @@ void SpinBox::set_value(int value, AllowCallback allow_callback) if (m_value == value) return; m_value = value; + + m_increment_button->set_enabled(m_value < m_max); + m_decrement_button->set_enabled(m_value > m_min); + m_editor->set_text(String::number(value)); update(); if (on_change && allow_callback == AllowCallback::Yes) -- cgit v1.2.3