mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 03:08:13 +00:00
GSlider: Ignore mouse events when disabled.
This commit is contained in:
parent
ac7e02d984
commit
cb9134a2ca
1 changed files with 8 additions and 0 deletions
|
@ -71,6 +71,8 @@ Rect GSlider::knob_rect() const
|
|||
|
||||
void GSlider::mousedown_event(GMouseEvent& event)
|
||||
{
|
||||
if (!is_enabled())
|
||||
return;
|
||||
if (event.button() == GMouseButton::Left) {
|
||||
if (knob_rect().contains(event.position())) {
|
||||
m_dragging = true;
|
||||
|
@ -84,6 +86,8 @@ void GSlider::mousedown_event(GMouseEvent& event)
|
|||
|
||||
void GSlider::mousemove_event(GMouseEvent& event)
|
||||
{
|
||||
if (!is_enabled())
|
||||
return;
|
||||
set_knob_hovered(knob_rect().contains(event.position()));
|
||||
if (m_dragging) {
|
||||
float delta = event.position().x() - m_drag_origin.x();
|
||||
|
@ -98,6 +102,8 @@ void GSlider::mousemove_event(GMouseEvent& event)
|
|||
|
||||
void GSlider::mouseup_event(GMouseEvent& event)
|
||||
{
|
||||
if (!is_enabled())
|
||||
return;
|
||||
if (event.button() == GMouseButton::Left) {
|
||||
m_dragging = false;
|
||||
return;
|
||||
|
@ -108,6 +114,8 @@ void GSlider::mouseup_event(GMouseEvent& event)
|
|||
|
||||
void GSlider::leave_event(CEvent& event)
|
||||
{
|
||||
if (!is_enabled())
|
||||
return;
|
||||
set_knob_hovered(false);
|
||||
GWidget::leave_event(event);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue