From 151d681e1692242463bf575afb6ab1b0094c064a Mon Sep 17 00:00:00 2001 From: Denis Benato Date: Mon, 20 Oct 2025 03:47:09 +0200 Subject: [PATCH] feat: expose MCU Powersave toggle on rogcc --- rog-control-center/src/ui/setup_system.rs | 7 ++++++- rog-control-center/ui/pages/system.slint | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/rog-control-center/src/ui/setup_system.rs b/rog-control-center/src/ui/setup_system.rs index 9b0158a3..c0953417 100644 --- a/rog-control-center/src/ui/setup_system.rs +++ b/rog-control-center/src/ui/setup_system.rs @@ -41,6 +41,7 @@ pub fn setup_system_page(ui: &MainWindow, _config: Arc>) { ui.global::().set_panel_overdrive(-1); ui.global::().set_boot_sound(-1); ui.global::().set_screen_auto_brightness(-1); + ui.global::().set_mcu_powersave(-1); ui.global::().set_mini_led_mode(-1); ui.global::().set_screenpad_brightness(-1); ui.global::().set_ppt_pl1_spl(MINMAX); @@ -673,7 +674,11 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc>) setup_callback!(screen_auto_brightness, handle, attr, i32); setup_external!(screen_auto_brightness, i32, handle, attr, value) } - FirmwareAttribute::McuPowersave => {} + FirmwareAttribute::McuPowersave => { + init_property!(mcu_powersave, handle, value, i32); + setup_callback!(mcu_powersave, handle, attr, i32); + setup_external!(mcu_powersave, i32, handle, attr, value) + } FirmwareAttribute::PanelOverdrive => { init_property!(panel_overdrive, handle, value, i32); setup_callback!(panel_overdrive, handle, attr, i32); diff --git a/rog-control-center/ui/pages/system.slint b/rog-control-center/ui/pages/system.slint index 3d842ada..788d8c16 100644 --- a/rog-control-center/ui/pages/system.slint +++ b/rog-control-center/ui/pages/system.slint @@ -53,6 +53,8 @@ export global SystemPageData { callback cb_boot_sound(int); in-out property screen_auto_brightness; callback cb_screen_auto_brightness(int); + in-out property mcu_powersave; + callback cb_mcu_powersave(int); in-out property mini_led_mode; callback cb_mini_led_mode(int); @@ -310,6 +312,14 @@ export component PageSystem inherits Rectangle { SystemPageData.cb_screen_auto_brightness(SystemPageData.screen_auto_brightness) } } + + if SystemPageData.mcu_powersave != -1: SystemToggleInt { + text: @tr("MCU Powersave"); + checked_int <=> SystemPageData.mcu_powersave; + toggled => { + SystemPageData.cb_mcu_powersave(SystemPageData.mcu_powersave) + } + } } if (SystemPageData.ppt_pl1_spl.max > 0 && SystemPageData.ppt_pl1_spl.current != -1) || (SystemPageData.ppt_pl2_sppt.max > 0 && SystemPageData.ppt_pl2_sppt.current != -1) || (SystemPageData.ppt_pl3_fppt.max > 0 && SystemPageData.ppt_pl3_fppt.current != -1) || (SystemPageData.ppt_fppt.max > 0 && SystemPageData.ppt_fppt.current != -1) || (SystemPageData.ppt_apu_sppt.max > 0 && SystemPageData.ppt_apu_sppt.current != -1) || (SystemPageData.nv_temp_target.max > 0 && SystemPageData.nv_temp_target.current != -1) || (SystemPageData.nv_dynamic_boost.max > 0 && SystemPageData.nv_dynamic_boost.current != -1): HorizontalLayout {