diff --git a/Base/res/graphics/mouse-button-left.png b/Base/res/graphics/mouse-button-left.png new file mode 100644 index 0000000000..8e56dd4065 Binary files /dev/null and b/Base/res/graphics/mouse-button-left.png differ diff --git a/Base/res/graphics/mouse-button-right.png b/Base/res/graphics/mouse-button-right.png new file mode 100644 index 0000000000..5129c4654c Binary files /dev/null and b/Base/res/graphics/mouse-button-right.png differ diff --git a/Base/res/graphics/switch-mouse-buttons.png b/Base/res/graphics/switch-mouse-buttons.png deleted file mode 100644 index a40d675ead..0000000000 Binary files a/Base/res/graphics/switch-mouse-buttons.png and /dev/null differ diff --git a/Userland/Applications/MouseSettings/Mouse.gml b/Userland/Applications/MouseSettings/Mouse.gml index a2d77b59ee..7e66c29d84 100644 --- a/Userland/Applications/MouseSettings/Mouse.gml +++ b/Userland/Applications/MouseSettings/Mouse.gml @@ -178,7 +178,7 @@ @GUI::Label { fixed_width: 32 fixed_height: 32 - icon: "/res/graphics/switch-mouse-buttons.png" + name: "switch_buttons_image_label" } @GUI::CheckBox { diff --git a/Userland/Applications/MouseSettings/MouseWidget.cpp b/Userland/Applications/MouseSettings/MouseWidget.cpp index 64d84e9db6..8841a7cf3a 100644 --- a/Userland/Applications/MouseSettings/MouseWidget.cpp +++ b/Userland/Applications/MouseSettings/MouseWidget.cpp @@ -51,9 +51,11 @@ MouseWidget::MouseWidget() set_modified(true); }; + m_switch_buttons_image_label = *find_descendant_of_type_named("switch_buttons_image_label"); m_switch_buttons_checkbox = *find_descendant_of_type_named("switch_buttons_checkbox"); m_switch_buttons_checkbox->set_checked(GUI::ConnectionToWindowServer::the().are_mouse_buttons_switched(), GUI::AllowCallback::No); m_switch_buttons_checkbox->on_checked = [&](auto) { + update_switch_buttons_image_label(); set_modified(true); }; @@ -65,6 +67,7 @@ MouseWidget::MouseWidget() update_speed_label(); update_double_click_speed_label(); + update_switch_buttons_image_label(); m_double_click_arrow_widget->set_double_click_speed(m_double_click_speed_slider->value()); } @@ -96,3 +99,12 @@ void MouseWidget::update_double_click_speed_label() { m_double_click_speed_label->set_text(DeprecatedString::formatted("{} ms", m_double_click_speed_slider->value())); } + +void MouseWidget::update_switch_buttons_image_label() +{ + if (m_switch_buttons_checkbox->is_checked()) { + m_switch_buttons_image_label->set_icon_from_path("/res/graphics/mouse-button-right.png"); + } else { + m_switch_buttons_image_label->set_icon_from_path("/res/graphics/mouse-button-left.png"); + } +} diff --git a/Userland/Applications/MouseSettings/MouseWidget.h b/Userland/Applications/MouseSettings/MouseWidget.h index d4cc6e9ac7..c4e3835fcc 100644 --- a/Userland/Applications/MouseSettings/MouseWidget.h +++ b/Userland/Applications/MouseSettings/MouseWidget.h @@ -24,6 +24,7 @@ private: void update_speed_label(); void update_double_click_speed_label(); + void update_switch_buttons_image_label(); RefPtr m_speed_slider; RefPtr m_speed_label; @@ -31,6 +32,7 @@ private: RefPtr m_double_click_speed_slider; RefPtr m_double_click_speed_label; RefPtr m_switch_buttons_checkbox; + RefPtr m_switch_buttons_image_label; RefPtr m_natural_scroll_checkbox; RefPtr m_double_click_arrow_widget; };