From 3a31f37b3d726be1c2ef0936df8e8f9d3d4b8b61 Mon Sep 17 00:00:00 2001 From: Ravi J Date: Fri, 30 Dec 2022 02:05:38 -0500 Subject: [PATCH] MouseSettings: Update "switch buttons" icon to reflect checkbox state Using an additional "right button" variant of the graphic, it now updates the icon based on the user's preference of primary button. --- Base/res/graphics/mouse-button-left.png | Bin 0 -> 341 bytes Base/res/graphics/mouse-button-right.png | Bin 0 -> 338 bytes Base/res/graphics/switch-mouse-buttons.png | Bin 410 -> 0 bytes Userland/Applications/MouseSettings/Mouse.gml | 2 +- .../Applications/MouseSettings/MouseWidget.cpp | 12 ++++++++++++ Userland/Applications/MouseSettings/MouseWidget.h | 2 ++ 6 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 Base/res/graphics/mouse-button-left.png create mode 100644 Base/res/graphics/mouse-button-right.png delete mode 100644 Base/res/graphics/switch-mouse-buttons.png diff --git a/Base/res/graphics/mouse-button-left.png b/Base/res/graphics/mouse-button-left.png new file mode 100644 index 0000000000000000000000000000000000000000..8e56dd40650931473e93ec77481511a388e5bdac GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4rT@h2A3sW#~2tG%mREuTp1V`7)<~F|NkGt zkdTm2R8%Z3E^cXQnKEU{oH=urE?v5H>(*n(j-5Mq?%K6$&z?Q||NsA8v4-Oe3=GUA zL4Lsu3=F@@j@)BlU^wmR;uvCadhO-YVuuuXTrXY`@_x#8`v3nmOB6mul`fb$&z3{? z!rRjq;u)51%nV!goOzAyr!_VWsgY|8*={ztFSx7Fqtv|F-<4_S>H`zQo?3Qf-*B$$YI3YxsWY zM}JKlzMtnd5IuBuYPWi3>kc*^rW?@EBzCpA3# s`-ZvWyz}PEXH1w~<}BYedB5#F@z0B7+$)m1LO{Xd>FVdQ&MBb@0LTH7+yDRo literal 0 HcmV?d00001 diff --git a/Base/res/graphics/mouse-button-right.png b/Base/res/graphics/mouse-button-right.png new file mode 100644 index 0000000000000000000000000000000000000000..5129c4654cae96bc3d058410ca4c9af43a8b1be3 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4rT@h2A3sW#~2tGj01c^Tp1V`7)<~F|NkGt zkdTm2R8%Z3E^cXQnKEU{oH=urE?v5H>(*n(j-5Mq?%K6$|NsB5jGwTFfq{X!B*-tA zfq~&y*^zq;3=F3|T^vI!POrUuR_Krd56goLY46nLJ^wFzN$G4!dFA;1$eFtK5ANUf z7w%`+#B$oDR*HjhbLykn%ueSd53*FS+)95E7_#B(I)i{}(HXfR-y9_$Z+^z7Q!OvG z_7HeqCE%;)A(r$;CndcaO=PmtmT5?5z64R0Nh#BV&uxyFjUdQmu o)=PG4+9w9V>m~W0wx9pa)^}fK`^oaQ4WKabboFyt=akR{0QN|Z!Tk44ofy`glX=O&z`&C3 z=c!YDgnoDvuDgi!r_`2TdJ7Yrc^5vh z;b5*QHJQ)Ne9`r`qRfmJzjxI!2)Uk1V)@0%tadE#5nI#YD%KRmO^>(SD{6H4q>(qF zBURp&x#IqQ3;opx7Eh2`F(J$&=YYbDez6y>u3ZmiRP%@Y$e(y;yWENZr9(3Qm+mo& z|LlDJa4-AM_X{nvw%IjI5#w2}{Nfu^&@aY_dFs!fDW%&mFfcH9y85}Sb4q9e0A6>h As{jB1 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; };