From 89b3bde1cfeb9fa3c7097555a86c6436da848a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Nusser?= Date: Thu, 20 Apr 2017 19:19:00 +0200 Subject: Gray out diskstreaming "Apply" button if the value didn't change. Also add a new texture for that. --- plugingui/button_base.cc | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'plugingui/button_base.cc') diff --git a/plugingui/button_base.cc b/plugingui/button_base.cc index 1030bbc..bf441f5 100644 --- a/plugingui/button_base.cc +++ b/plugingui/button_base.cc @@ -42,7 +42,7 @@ ButtonBase::~ButtonBase() void ButtonBase::buttonEvent(ButtonEvent* buttonEvent) { // Ignore everything except left clicks. - if(buttonEvent->button != MouseButton::left) + if(!enabled || buttonEvent->button != MouseButton::left) { return; } @@ -74,8 +74,23 @@ void ButtonBase::setText(const std::string& text) redraw(); } +void ButtonBase::setEnabled(bool enabled) +{ + this->enabled = enabled; + redraw(); +} + +bool ButtonBase::isEnabled() const +{ + return enabled; +} + void ButtonBase::mouseLeaveEvent() { + if (!enabled) { + return; + } + in_button = false; if(button_state == State::Down) { @@ -86,6 +101,10 @@ void ButtonBase::mouseLeaveEvent() void ButtonBase::mouseEnterEvent() { + if (!enabled) { + return; + } + in_button = true; if(button_state == State::Down) { -- cgit v1.2.3