From 3da848d131c2270e22a45f99aa40f60b4dcdaec6 Mon Sep 17 00:00:00 2001 From: "Luke D. Jones" Date: Sun, 3 Mar 2024 12:57:45 +1300 Subject: [PATCH] Init with colour sliders in approx position --- rog-control-center/src/ui_setup.rs | 9 +- .../translations/en/rog-control-center.po | 284 +++++++++--------- rog-control-center/ui/common_widgets.slint | 14 +- rog-control-center/ui/main_window.slint | 4 - rog-control-center/ui/pages/about.slint | 1 + rog-control-center/ui/pages/anime.slint | 9 - .../ui/pages/app_settings.slint | 3 - rog-control-center/ui/pages/aura.slint | 32 +- rog-control-center/ui/pages/system.slint | 16 +- .../ui/widgets/colour_picker.slint | 29 +- rog-control-center/ui/widgets/sidebar.slint | 14 +- 11 files changed, 198 insertions(+), 217 deletions(-) diff --git a/rog-control-center/src/ui_setup.rs b/rog-control-center/src/ui_setup.rs index 34730c54..42f273fa 100644 --- a/rog-control-center/src/ui_setup.rs +++ b/rog-control-center/src/ui_setup.rs @@ -402,13 +402,13 @@ fn decode_hex(s: &str) -> RgbaColor { .collect(); RgbaColor { alpha: 255, - red: *c.get(0).unwrap_or(&255), + red: *c.first().unwrap_or(&255), green: *c.get(1).unwrap_or(&128), blue: *c.get(2).unwrap_or(&32), } } -fn _rgb_hi(colour: Color) -> (f32, f32) { +fn rgb_hi(colour: Color) -> (f32, f32) { let c1: RgbaColor = RgbaColor::from(colour); let r = c1.red / 255.0; let g = c1.green / 255.0; @@ -431,7 +431,7 @@ fn _rgb_hi(colour: Color) -> (f32, f32) { } }; let h2 = ((h * 60.0) + 360.0) % 360.0; - let i = 0.2126 * c1.red + 0.7152 * c1.green + 0.0722 * c1.blue; + let i = 0.299 * c1.red + 0.587 * c1.green + 0.114 * c1.blue; (h2, i) } @@ -469,6 +469,9 @@ fn setup_aura_page(ui: &MainWindow, _states: Arc>) { ui.global::() .on_set_hex_to_colour(|s| decode_hex(s.as_str()).into()); + ui.global::().on_set_hue(|c| rgb_hi(c).0); + ui.global::().on_set_bright(|c| rgb_hi(c).1); + let handle = ui.as_weak(); tokio::spawn(async move { let conn = zbus::Connection::system().await.unwrap(); diff --git a/rog-control-center/translations/en/rog-control-center.po b/rog-control-center/translations/en/rog-control-center.po index fbbd7aa5..2b04b657 100644 --- a/rog-control-center/translations/en/rog-control-center.po +++ b/rog-control-center/translations/en/rog-control-center.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2024-03-02 10:44+0000\n" +"POT-Creation-Date: 2024-03-02 23:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -12,6 +12,41 @@ msgstr "" "Language: \n" "Plural-Forms: nplurals=1; plural=0;\n" +#: rog-control-center/ui/main_window.slint:38 +msgctxt "MainWindow" +msgid "ROG" +msgstr "" + +#: rog-control-center/ui/main_window.slint:40 +msgctxt "Menu1" +msgid "System Control" +msgstr "" + +#: rog-control-center/ui/main_window.slint:41 +msgctxt "Menu2" +msgid "Keyboard Aura" +msgstr "" + +#: rog-control-center/ui/main_window.slint:42 +msgctxt "Menu3" +msgid "AniMe Matrix" +msgstr "" + +#: rog-control-center/ui/main_window.slint:43 +msgctxt "Menu4" +msgid "Fan Curves" +msgstr "" + +#: rog-control-center/ui/main_window.slint:44 +msgctxt "Menu5" +msgid "App Settings" +msgstr "" + +#: rog-control-center/ui/main_window.slint:45 +msgctxt "Menu6" +msgid "About" +msgstr "" + #: rog-control-center/ui/pages/anime.slint:7 msgctxt "Anime Brightness" msgid "Off" @@ -32,111 +67,131 @@ msgctxt "Anime Brightness" msgid "High" msgstr "" -#: rog-control-center/ui/pages/anime.slint:30 +#: rog-control-center/ui/pages/anime.slint:24 msgctxt "AnimePageData" msgid "Glitch Construction" msgstr "" -#: rog-control-center/ui/pages/anime.slint:30 +#: rog-control-center/ui/pages/anime.slint:24 msgctxt "AnimePageData" msgid "Static Emergence" msgstr "" -#: rog-control-center/ui/pages/anime.slint:32 +#: rog-control-center/ui/pages/anime.slint:26 msgctxt "AnimePageData" msgid "Binary Banner Scroll" msgstr "" -#: rog-control-center/ui/pages/anime.slint:32 +#: rog-control-center/ui/pages/anime.slint:26 msgctxt "AnimePageData" msgid "Rog Logo Glitch" msgstr "" -#: rog-control-center/ui/pages/anime.slint:34 +#: rog-control-center/ui/pages/anime.slint:28 msgctxt "AnimePageData" msgid "Banner Swipe" msgstr "" -#: rog-control-center/ui/pages/anime.slint:34 +#: rog-control-center/ui/pages/anime.slint:28 msgctxt "AnimePageData" msgid "Starfield" msgstr "" -#: rog-control-center/ui/pages/anime.slint:36 +#: rog-control-center/ui/pages/anime.slint:30 msgctxt "AnimePageData" msgid "Glitch Out" msgstr "" -#: rog-control-center/ui/pages/anime.slint:36 +#: rog-control-center/ui/pages/anime.slint:30 msgctxt "AnimePageData" msgid "See Ya" msgstr "" -#: rog-control-center/ui/pages/anime.slint:58 +#: rog-control-center/ui/pages/anime.slint:51 msgctxt "Anime Brightness" msgid "Brightness" msgstr "" -#: rog-control-center/ui/pages/anime.slint:74 +#: rog-control-center/ui/pages/anime.slint:67 msgctxt "PageAnime" msgid "Enable display" msgstr "" -#: rog-control-center/ui/pages/anime.slint:82 rog-control-center/ui/pages/anime.slint:105 +#: rog-control-center/ui/pages/anime.slint:75 rog-control-center/ui/pages/anime.slint:98 msgctxt "PageAnime" msgid "Advanced" msgstr "" -#: rog-control-center/ui/pages/anime.slint:97 +#: rog-control-center/ui/pages/anime.slint:90 msgctxt "PageAnime" msgid "Use built-in animations" msgstr "" -#: rog-control-center/ui/pages/anime.slint:155 +#: rog-control-center/ui/pages/anime.slint:147 msgctxt "PageAnime" msgid "Advanced Anime Display : TODO!" msgstr "" -#: rog-control-center/ui/pages/anime.slint:159 +#: rog-control-center/ui/pages/anime.slint:151 msgctxt "Anime built-in selection" msgid "Boot Animation" msgstr "" -#: rog-control-center/ui/pages/anime.slint:169 +#: rog-control-center/ui/pages/anime.slint:161 msgctxt "Anime built-in selection" msgid "Running Animation" msgstr "" -#: rog-control-center/ui/pages/anime.slint:179 +#: rog-control-center/ui/pages/anime.slint:171 msgctxt "Anime built-in selection" msgid "Sleep Animation" msgstr "" -#: rog-control-center/ui/pages/anime.slint:189 +#: rog-control-center/ui/pages/anime.slint:181 msgctxt "Anime built-in selection" msgid "Shutdown Animation" msgstr "" -#: rog-control-center/ui/pages/anime.slint:230 +#: rog-control-center/ui/pages/anime.slint:221 msgctxt "PageAnime" msgid "Advanced Display Settings" msgstr "" -#: rog-control-center/ui/pages/anime.slint:235 +#: rog-control-center/ui/pages/anime.slint:226 msgctxt "PageAnime" msgid "Off when lid closed" msgstr "" -#: rog-control-center/ui/pages/anime.slint:244 +#: rog-control-center/ui/pages/anime.slint:235 msgctxt "PageAnime" msgid "Off when suspended" msgstr "" -#: rog-control-center/ui/pages/anime.slint:253 +#: rog-control-center/ui/pages/anime.slint:244 msgctxt "PageAnime" msgid "Off when on battery" msgstr "" +#: rog-control-center/ui/pages/app_settings.slint:29 +msgctxt "PageAppSettings" +msgid "Run in background after closing" +msgstr "" + +#: rog-control-center/ui/pages/app_settings.slint:38 +msgctxt "PageAppSettings" +msgid "Start app in background (UI closed)" +msgstr "" + +#: rog-control-center/ui/pages/app_settings.slint:50 +msgctxt "PageAppSettings" +msgid "Enable system tray icon" +msgstr "" + +#: rog-control-center/ui/pages/app_settings.slint:59 +msgctxt "PageAppSettings" +msgid "Enable change notifications" +msgstr "" + #: rog-control-center/ui/pages/aura.slint:24 msgctxt "Aura brightness" msgid "Off" @@ -157,383 +212,328 @@ msgctxt "Aura brightness" msgid "High" msgstr "" -#: rog-control-center/ui/pages/aura.slint:33 rog-control-center/ui/pages/aura.slint:48 +#: rog-control-center/ui/pages/aura.slint:32 rog-control-center/ui/pages/aura.slint:47 msgctxt "Basic aura mode" msgid "Static" msgstr "" -#: rog-control-center/ui/pages/aura.slint:34 rog-control-center/ui/pages/aura.slint:49 +#: rog-control-center/ui/pages/aura.slint:33 rog-control-center/ui/pages/aura.slint:48 msgctxt "Basic aura mode" msgid "Breathe" msgstr "" -#: rog-control-center/ui/pages/aura.slint:35 rog-control-center/ui/pages/aura.slint:50 +#: rog-control-center/ui/pages/aura.slint:34 rog-control-center/ui/pages/aura.slint:49 msgctxt "Basic aura mode" msgid "Strobe" msgstr "" -#: rog-control-center/ui/pages/aura.slint:36 +#: rog-control-center/ui/pages/aura.slint:35 msgctxt "Basic aura mode" msgid "Rainbow" msgstr "" -#: rog-control-center/ui/pages/aura.slint:37 +#: rog-control-center/ui/pages/aura.slint:36 msgctxt "Basic aura mode" msgid "Star" msgstr "" -#: rog-control-center/ui/pages/aura.slint:38 +#: rog-control-center/ui/pages/aura.slint:37 msgctxt "Basic aura mode" msgid "Rain" msgstr "" -#: rog-control-center/ui/pages/aura.slint:39 +#: rog-control-center/ui/pages/aura.slint:38 msgctxt "Basic aura mode" msgid "Highlight" msgstr "" -#: rog-control-center/ui/pages/aura.slint:40 +#: rog-control-center/ui/pages/aura.slint:39 msgctxt "Basic aura mode" msgid "Laser" msgstr "" -#: rog-control-center/ui/pages/aura.slint:41 +#: rog-control-center/ui/pages/aura.slint:40 msgctxt "Basic aura mode" msgid "Ripple" msgstr "" -#: rog-control-center/ui/pages/aura.slint:42 +#: rog-control-center/ui/pages/aura.slint:41 msgctxt "Basic aura mode" msgid "Nothing" msgstr "" -#: rog-control-center/ui/pages/aura.slint:43 +#: rog-control-center/ui/pages/aura.slint:42 msgctxt "Basic aura mode" msgid "Pulse" msgstr "" -#: rog-control-center/ui/pages/aura.slint:44 +#: rog-control-center/ui/pages/aura.slint:43 msgctxt "Basic aura mode" msgid "Comet" msgstr "" -#: rog-control-center/ui/pages/aura.slint:45 +#: rog-control-center/ui/pages/aura.slint:44 msgctxt "Basic aura mode" msgid "Flash" msgstr "" -#: rog-control-center/ui/pages/aura.slint:59 +#: rog-control-center/ui/pages/aura.slint:56 msgctxt "Aura zone" msgid "None" msgstr "" -#: rog-control-center/ui/pages/aura.slint:60 +#: rog-control-center/ui/pages/aura.slint:57 msgctxt "Aura zone" msgid "Key1" msgstr "" -#: rog-control-center/ui/pages/aura.slint:61 +#: rog-control-center/ui/pages/aura.slint:58 msgctxt "Aura zone" msgid "Key2" msgstr "" -#: rog-control-center/ui/pages/aura.slint:62 +#: rog-control-center/ui/pages/aura.slint:59 msgctxt "Aura zone" msgid "Key3" msgstr "" -#: rog-control-center/ui/pages/aura.slint:63 +#: rog-control-center/ui/pages/aura.slint:60 msgctxt "Aura zone" msgid "Key4" msgstr "" -#: rog-control-center/ui/pages/aura.slint:64 +#: rog-control-center/ui/pages/aura.slint:61 msgctxt "Aura zone" msgid "Logo" msgstr "" -#: rog-control-center/ui/pages/aura.slint:65 +#: rog-control-center/ui/pages/aura.slint:62 msgctxt "Aura zone" msgid "Lightbar Left" msgstr "" -#: rog-control-center/ui/pages/aura.slint:66 +#: rog-control-center/ui/pages/aura.slint:63 msgctxt "Aura zone" msgid "Lightbar Right" msgstr "" -#: rog-control-center/ui/pages/aura.slint:71 +#: rog-control-center/ui/pages/aura.slint:67 msgctxt "Aura direction" msgid "Right" msgstr "" -#: rog-control-center/ui/pages/aura.slint:72 +#: rog-control-center/ui/pages/aura.slint:68 msgctxt "Aura direction" msgid "Left" msgstr "" -#: rog-control-center/ui/pages/aura.slint:73 +#: rog-control-center/ui/pages/aura.slint:69 msgctxt "Aura direction" msgid "Up" msgstr "" -#: rog-control-center/ui/pages/aura.slint:74 +#: rog-control-center/ui/pages/aura.slint:70 msgctxt "Aura direction" msgid "Down" msgstr "" -#: rog-control-center/ui/pages/aura.slint:79 +#: rog-control-center/ui/pages/aura.slint:74 msgctxt "Aura speed" msgid "Low" msgstr "" -#: rog-control-center/ui/pages/aura.slint:80 +#: rog-control-center/ui/pages/aura.slint:75 msgctxt "Aura speed" msgid "Medium" msgstr "" -#: rog-control-center/ui/pages/aura.slint:81 +#: rog-control-center/ui/pages/aura.slint:76 msgctxt "Aura speed" msgid "High" msgstr "" -#: rog-control-center/ui/pages/aura.slint:128 +#: rog-control-center/ui/pages/aura.slint:121 msgctxt "PageAura" msgid "Brightness" msgstr "" -#: rog-control-center/ui/pages/aura.slint:139 +#: rog-control-center/ui/pages/aura.slint:132 msgctxt "PageAura" msgid "Aura mode" msgstr "" -#: rog-control-center/ui/pages/aura.slint:156 +#: rog-control-center/ui/pages/aura.slint:149 msgctxt "PageAura" msgid "Colour 1" msgstr "" -#: rog-control-center/ui/pages/aura.slint:187 +#: rog-control-center/ui/pages/aura.slint:186 msgctxt "PageAura" msgid "Colour 2" msgstr "" -#: rog-control-center/ui/pages/aura.slint:224 +#: rog-control-center/ui/pages/aura.slint:226 msgctxt "PageAura" msgid "Zone" msgstr "" -#: rog-control-center/ui/pages/aura.slint:244 +#: rog-control-center/ui/pages/aura.slint:246 msgctxt "PageAura" msgid "Direction" msgstr "" -#: rog-control-center/ui/pages/aura.slint:264 +#: rog-control-center/ui/pages/aura.slint:266 msgctxt "PageAura" msgid "Speed" msgstr "" -#: rog-control-center/ui/pages/aura.slint:282 +#: rog-control-center/ui/pages/aura.slint:284 msgctxt "PageAura" msgid "Apply" msgstr "" -#: rog-control-center/ui/pages/system.slint:27 +#: rog-control-center/ui/pages/system.slint:26 msgctxt "SystemPageData" msgid "Balanced" msgstr "" -#: rog-control-center/ui/pages/system.slint:27 rog-control-center/ui/pages/system.slint:32 +#: rog-control-center/ui/pages/system.slint:26 rog-control-center/ui/pages/system.slint:30 msgctxt "SystemPageData" msgid "Performance" msgstr "" -#: rog-control-center/ui/pages/system.slint:27 +#: rog-control-center/ui/pages/system.slint:26 msgctxt "SystemPageData" msgid "Quiet" msgstr "" -#: rog-control-center/ui/pages/system.slint:31 +#: rog-control-center/ui/pages/system.slint:29 msgctxt "SystemPageData" msgid "Default" msgstr "" -#: rog-control-center/ui/pages/system.slint:33 +#: rog-control-center/ui/pages/system.slint:31 msgctxt "SystemPageData" msgid "BalancePerformance" msgstr "" -#: rog-control-center/ui/pages/system.slint:34 +#: rog-control-center/ui/pages/system.slint:32 msgctxt "SystemPageData" msgid "BalancePower" msgstr "" -#: rog-control-center/ui/pages/system.slint:35 +#: rog-control-center/ui/pages/system.slint:33 msgctxt "SystemPageData" msgid "Power" msgstr "" -#: rog-control-center/ui/pages/system.slint:116 +#: rog-control-center/ui/pages/system.slint:103 msgctxt "PageSystem" msgid "Base system settings" msgstr "" -#: rog-control-center/ui/pages/system.slint:121 +#: rog-control-center/ui/pages/system.slint:108 msgctxt "PageSystem" msgid "Charge limit" msgstr "" -#: rog-control-center/ui/pages/system.slint:133 +#: rog-control-center/ui/pages/system.slint:120 msgctxt "PageSystem" msgid "Throttle Policy" msgstr "" -#: rog-control-center/ui/pages/system.slint:143 +#: rog-control-center/ui/pages/system.slint:130 msgctxt "PageSystem" msgid "Advanced" msgstr "" -#: rog-control-center/ui/pages/system.slint:155 +#: rog-control-center/ui/pages/system.slint:142 msgctxt "PageSystem" msgid "Panel Overdrive" msgstr "" -#: rog-control-center/ui/pages/system.slint:163 +#: rog-control-center/ui/pages/system.slint:150 msgctxt "PageSystem" msgid "MiniLED Mode" msgstr "" -#: rog-control-center/ui/pages/system.slint:181 +#: rog-control-center/ui/pages/system.slint:168 msgctxt "PageSystem" msgid "System performance settings" msgstr "" -#: rog-control-center/ui/pages/system.slint:186 +#: rog-control-center/ui/pages/system.slint:173 msgctxt "ppt_pl1_spl" msgid "ppt_pl1_spl" msgstr "" -#: rog-control-center/ui/pages/system.slint:196 +#: rog-control-center/ui/pages/system.slint:183 msgctxt "ppt_pl2_sppt" msgid "ppt_pl2_sppt" msgstr "" -#: rog-control-center/ui/pages/system.slint:206 +#: rog-control-center/ui/pages/system.slint:193 msgctxt "ppt_fppt" msgid "ppt_fppt" msgstr "" -#: rog-control-center/ui/pages/system.slint:216 +#: rog-control-center/ui/pages/system.slint:203 msgctxt "ppt_apu_sppt" msgid "ppt_apu_sppt" msgstr "" -#: rog-control-center/ui/pages/system.slint:225 +#: rog-control-center/ui/pages/system.slint:213 msgctxt "ppt_platform_sppt" msgid "ppt_platform_sppt" msgstr "" -#: rog-control-center/ui/pages/system.slint:235 +#: rog-control-center/ui/pages/system.slint:223 msgctxt "nv_dynamic_boost" msgid "nv_dynamic_boost" msgstr "" -#: rog-control-center/ui/pages/system.slint:244 +#: rog-control-center/ui/pages/system.slint:233 msgctxt "nv_temp_target" msgid "nv_temp_target" msgstr "" -#: rog-control-center/ui/pages/system.slint:290 +#: rog-control-center/ui/pages/system.slint:278 msgctxt "PageSystem" msgid "Energy Performance Preference linked to Throttle Policy" msgstr "" -#: rog-control-center/ui/pages/system.slint:294 +#: rog-control-center/ui/pages/system.slint:282 msgctxt "PageSystem" msgid "Change EPP based on Throttle Policy" msgstr "" -#: rog-control-center/ui/pages/system.slint:302 +#: rog-control-center/ui/pages/system.slint:290 msgctxt "PageSystem" msgid "EPP for Balanced Policy" msgstr "" -#: rog-control-center/ui/pages/system.slint:312 +#: rog-control-center/ui/pages/system.slint:300 msgctxt "PageSystem" msgid "EPP for Performance Policy" msgstr "" -#: rog-control-center/ui/pages/system.slint:322 +#: rog-control-center/ui/pages/system.slint:310 msgctxt "PageSystem" msgid "EPP for Quiet Policy" msgstr "" -#: rog-control-center/ui/pages/system.slint:340 +#: rog-control-center/ui/pages/system.slint:328 msgctxt "PageSystem" msgid "Throttle Policy for power state" msgstr "" -#: rog-control-center/ui/pages/system.slint:344 +#: rog-control-center/ui/pages/system.slint:332 msgctxt "PageSystem" msgid "Throttle Policy on Battery" msgstr "" -#: rog-control-center/ui/pages/system.slint:354 +#: rog-control-center/ui/pages/system.slint:342 msgctxt "PageSystem" msgid "Throttle Policy on AC" msgstr "" -#: rog-control-center/ui/pages/app_settings.slint:32 -msgctxt "PageAppSettings" -msgid "Run in background after closing" -msgstr "" - -#: rog-control-center/ui/pages/app_settings.slint:41 -msgctxt "PageAppSettings" -msgid "Start app in background (UI closed)" -msgstr "" - -#: rog-control-center/ui/pages/app_settings.slint:53 -msgctxt "PageAppSettings" -msgid "Enable system tray icon" -msgstr "" - -#: rog-control-center/ui/pages/app_settings.slint:62 -msgctxt "PageAppSettings" -msgid "Enable change notifications" -msgstr "" - -#: rog-control-center/ui/main_window.slint:42 -msgctxt "MainWindow" -msgid "ROG" -msgstr "" - -#: rog-control-center/ui/main_window.slint:44 -msgctxt "Menu1" -msgid "System Control" -msgstr "" - -#: rog-control-center/ui/main_window.slint:45 -msgctxt "Menu2" -msgid "Keyboard Aura" -msgstr "" - -#: rog-control-center/ui/main_window.slint:46 -msgctxt "Menu3" -msgid "AniMe Matrix" -msgstr "" - -#: rog-control-center/ui/main_window.slint:47 -msgctxt "Menu4" -msgid "Fan Curves" -msgstr "" - -#: rog-control-center/ui/main_window.slint:48 -msgctxt "Menu5" -msgid "App Settings" -msgstr "" - -#: rog-control-center/ui/main_window.slint:49 -msgctxt "Menu6" -msgid "About" -msgstr "" - diff --git a/rog-control-center/ui/common_widgets.slint b/rog-control-center/ui/common_widgets.slint index f95d3cdc..34ae7601 100644 --- a/rog-control-center/ui/common_widgets.slint +++ b/rog-control-center/ui/common_widgets.slint @@ -2,10 +2,10 @@ import { VerticalBox , StandardButton, Button, HorizontalBox, ComboBox, Switch, import { Theme } from "globals.slint"; export component RogItem inherits Rectangle { - background: Theme.background-color; - border-color: Colors.black; - border-width: 3px; - border-radius: 10px; + background: Theme.background-color; + border-color: Colors.black; + border-width: 3px; + border-radius: 10px; } export component SystemSlider inherits RogItem { @@ -122,8 +122,7 @@ export component ValueBar inherits Rectangle { return 0.50 - (value - (min - max) / 2) / (max - min); } return (value - min) / (max - min); - } - function set_x(min: float, max: float, value: float, width: length) -> length { + }function set_x(min: float, max: float, value: float, width: length) -> length { if (min < 0.0 && max > 0.0) { if (value < max + min) { return width / 2 - width * (percentage(min, max, value)); @@ -131,8 +130,7 @@ export component ValueBar inherits Rectangle { return width / 2; } return 0; - } - Rectangle { + }Rectangle { border-radius: 3px; background: Theme.neutral-box; Rectangle { diff --git a/rog-control-center/ui/main_window.slint b/rog-control-center/ui/main_window.slint index a124b0e4..deb4ffa1 100644 --- a/rog-control-center/ui/main_window.slint +++ b/rog-control-center/ui/main_window.slint @@ -15,7 +15,6 @@ export component MainWindow inherits Window { in property <[bool]> sidebar_items_avilable: [true, true, true, true, true, true]; private property show-notif; private property fade-cover; - private property toast: false; private property toast_text: "I show when something is waiting"; callback show_toast(string); @@ -23,20 +22,17 @@ export component MainWindow inherits Window { toast = text != ""; toast_text = text; } - callback exit-app(); callback show-notification(bool); show-notification(yes) => { show-notif = yes; fade-cover = yes; } - min-height: AppSize.height; min-width: AppSize.width; background: Colors.black; HorizontalLayout { padding: 0px; - VerticalLayout { side-bar := SideBar { title: @tr("ROG"); diff --git a/rog-control-center/ui/pages/about.slint b/rog-control-center/ui/pages/about.slint index 33ac68b4..d8b797fd 100644 --- a/rog-control-center/ui/pages/about.slint +++ b/rog-control-center/ui/pages/about.slint @@ -11,6 +11,7 @@ export component PageAbout inherits VerticalLayout { text: "A UI for asusctl made with slint"; font-size: 22px; } + Text { vertical-alignment: TextVerticalAlignment.center; horizontal-alignment: TextHorizontalAlignment.center; diff --git a/rog-control-center/ui/pages/anime.slint b/rog-control-center/ui/pages/anime.slint index 331bfa9e..a06cd1d2 100644 --- a/rog-control-center/ui/pages/anime.slint +++ b/rog-control-center/ui/pages/anime.slint @@ -11,22 +11,16 @@ export global AnimePageData { ]; in-out property brightness; callback set_brightness(int); - in-out property builtins_enabled; callback set_builtins_enabled(bool); - in-out property enable_display; callback set_enable_display(bool); - in-out property off_when_lid_closed; callback set_off_when_lid_closed(bool); - in-out property off_when_suspended; callback set_off_when_suspended(bool); - in-out property off_when_unplugged; callback set_off_when_unplugged(bool); - in-out property <[string]> boot_anim_choices: [@tr("Glitch Construction"), @tr("Static Emergence")]; in property boot_anim: 0; in-out property <[string]> awake_anim_choices: [@tr("Binary Banner Scroll"), @tr("Rog Logo Glitch")]; @@ -42,7 +36,6 @@ export component PageAnime inherits Rectangle { property show_fade_cover: false; property show_display_advanced: false; property show_builtin_advanced: false; - clip: true; // TODO: slow with border-radius padding: 8px; @@ -142,7 +135,6 @@ export component PageAnime inherits Rectangle { VerticalLayout { padding: 50px; spacing: 10px; - GroupBox { height: 100px; VerticalBox { @@ -217,7 +209,6 @@ export component PageAnime inherits Rectangle { VerticalLayout { padding: 50px; spacing: 10px; - GroupBox { height: 100px; VerticalBox { diff --git a/rog-control-center/ui/pages/app_settings.slint b/rog-control-center/ui/pages/app_settings.slint index 65562479..8f005823 100644 --- a/rog-control-center/ui/pages/app_settings.slint +++ b/rog-control-center/ui/pages/app_settings.slint @@ -4,13 +4,10 @@ import { SystemToggle } from "../common_widgets.slint"; export global AppSettingsPageData { in-out property run_in_background; callback set_run_in_background(bool); - in-out property startup_in_background; callback set_startup_in_background(bool); - in-out property enable_tray_icon; callback set_enable_tray_icon(bool); - in-out property enable_notifications; callback set_enable_notifications(bool); } diff --git a/rog-control-center/ui/pages/aura.slint b/rog-control-center/ui/pages/aura.slint index 8251e2da..e6fb1fde 100644 --- a/rog-control-center/ui/pages/aura.slint +++ b/rog-control-center/ui/pages/aura.slint @@ -28,7 +28,6 @@ export global AuraPageData { ]; in-out property brightness; callback set_brightness(int); - in-out property <[string]> mode_names: [ @tr("Basic aura mode" => "Static"), @tr("Basic aura mode" => "Breathe"), @@ -50,11 +49,9 @@ export global AuraPageData { @tr("Basic aura mode" => "Strobe"), ]; in-out property current_available_mode: 0; - in-out property <[int]> supported_basic_modes: [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12]; in-out property led_mode; callback set_led_mode(int); - in-out property <[string]> zone_names: [ @tr("Aura zone" => "None"), @tr("Aura zone" => "Key1"), @@ -66,7 +63,6 @@ export global AuraPageData { @tr("Aura zone" => "Lightbar Right"), ]; in-out property zone; - in-out property <[string]> direction_names: [ @tr("Aura direction" => "Right"), @tr("Aura direction" => "Left"), @@ -74,14 +70,12 @@ export global AuraPageData { @tr("Aura direction" => "Down"), ]; in-out property direction; - in-out property <[string]> speed_names: [ @tr("Aura speed" => "Low"), @tr("Aura speed" => "Medium"), @tr("Aura speed" => "High"), ]; in-out property speed; - in-out property led_mode_data: { mode: 0, zone: 0, @@ -93,12 +87,10 @@ export global AuraPageData { direction: 0, }; callback set_led_mode_data(AuraEffect); - in-out property color1; in-out property colorbox1; in-out property color2; in-out property colorbox2; - callback update_led_mode_data(AuraEffect); update_led_mode_data(data) => { led_mode_data = data; @@ -111,11 +103,12 @@ export global AuraPageData { colorbox1 = data.colour1; colorbox2 = data.colour2; } - callback blend_colour(color, color, float) -> color; callback blend_lightness(color, float) -> color; callback set_hex_from_colour(color) -> string; callback set_hex_to_colour(string) -> color; + pure callback set_hue(color) -> float; + pure callback set_bright(color) -> float; } export component PageAura inherits VerticalLayout { @@ -159,10 +152,10 @@ export component PageAura inherits VerticalLayout { } HorizontalBox { - ColourSlider { + c1 := ColourSlider { final_colour <=> AuraPageData.color1; - colourbox <=> AuraPageData.colorbox1; - set_hex_from_colour(c1) => { + colourbox <=> AuraPageData.colorbox1; + set_hex_from_colour(c1) => { return AuraPageData.set_hex_from_colour(c1); } blend_colour(c1, c2, f) => { @@ -174,6 +167,12 @@ export component PageAura inherits VerticalLayout { hex_to_colour(s) => { return AuraPageData.set_hex_to_colour(s); } + set_hue(color) => { + return AuraPageData.set_hue(color); + } + set_bright(color) => { + return AuraPageData.set_bright(color); + } init => { self.colourbox = AuraPageData.led_mode_data.colour1; self.final_colour = AuraPageData.led_mode_data.colour1; @@ -190,10 +189,10 @@ export component PageAura inherits VerticalLayout { } HorizontalBox { - ColourSlider { + c2 := ColourSlider { final_colour <=> AuraPageData.color2; - colourbox <=> AuraPageData.colorbox2; - set_hex_from_colour(c1) => { + colourbox <=> AuraPageData.colorbox2; + set_hex_from_colour(c1) => { return AuraPageData.set_hex_from_colour(c1); } blend_colour(c1, c2, f) => { @@ -205,6 +204,9 @@ export component PageAura inherits VerticalLayout { hex_to_colour(s) => { return AuraPageData.set_hex_to_colour(s); } + set_bright(color) => { + return AuraPageData.set_bright(color); + } init => { self.colourbox = AuraPageData.led_mode_data.colour2; self.final_colour = AuraPageData.led_mode_data.colour2; diff --git a/rog-control-center/ui/pages/system.slint b/rog-control-center/ui/pages/system.slint index 11ba8462..b74772c4 100644 --- a/rog-control-center/ui/pages/system.slint +++ b/rog-control-center/ui/pages/system.slint @@ -22,11 +22,9 @@ export struct AvailableSystemProperties { export global SystemPageData { in-out property charge_control_end_threshold: 30; callback set_charge_control_end_threshold(/* charge limit */ int); - in-out property throttle_thermal_policy: 0; in-out property <[string]> throttle_policy_choices: [@tr("Balanced"), @tr("Performance"), @tr("Quiet")]; callback set_throttle_thermal_policy(int); - in-out property <[string]> energy_performance_choices: [ @tr("Default"), @tr("Performance"), @@ -47,34 +45,24 @@ export global SystemPageData { callback set_throttle_policy_on_ac(int); in-out property throttle_policy_on_battery: 0; callback set_throttle_policy_on_battery(int); - in-out property panel_od; callback set_panel_od(bool); - in-out property mini_led_mode; callback set_mini_led_mode(bool); - in-out property ppt_pl1_spl: 5; callback set_ppt_pl1_spl(int); - in-out property ppt_pl2_sppt: 5; callback set_ppt_pl2_sppt(int); - in-out property ppt_fppt: 5; callback set_ppt_fppt(int); - in-out property ppt_apu_sppt: 5; callback set_ppt_apu_sppt(int); - in-out property ppt_platform_sppt: 5; callback set_ppt_platform_sppt(int); - in-out property nv_dynamic_boost: 5; callback set_nv_dynamic_boost(int); - in-out property nv_temp_target: 75; callback set_nv_temp_target(int); - in-out property available: { charge_control_end_threshold: true, panel_od: true, @@ -102,7 +90,6 @@ export component PageSystem inherits Rectangle { VerticalLayout { padding: 10px; spacing: 10px; - Rectangle { background: Theme.background-color; border-color: Colors.black; @@ -221,6 +208,7 @@ export component PageSystem inherits Rectangle { SystemPageData.set_ppt_apu_sppt(Math.round(SystemPageData.ppt_apu_sppt)) } } + if SystemPageData.available.ppt-platform-sppt: SystemSlider { text: @tr("ppt_platform_sppt" => "ppt_platform_sppt"); maximum: 130; @@ -240,6 +228,7 @@ export component PageSystem inherits Rectangle { SystemPageData.set_nv_dynamic_boost(Math.round(SystemPageData.nv_dynamic_boost)) } } + if SystemPageData.available.nv-temp-target: SystemSlider { text: @tr("nv_temp_target" => "nv_temp_target"); minimum: 75; @@ -279,7 +268,6 @@ export component PageSystem inherits Rectangle { padding: 50px; padding-top: 5px; spacing: 10px; - GroupBox { VerticalBox { spacing: 10px; diff --git a/rog-control-center/ui/widgets/colour_picker.slint b/rog-control-center/ui/widgets/colour_picker.slint index 2ef144b5..a3b754c8 100644 --- a/rog-control-center/ui/widgets/colour_picker.slint +++ b/rog-control-center/ui/widgets/colour_picker.slint @@ -6,14 +6,16 @@ export component ColourSlider inherits VerticalLayout { property base_colour: Colors.red; in-out property final_colour: Colors.red; in-out property colourbox: final_colour; - callback hex_to_colour(string) -> color; // required callback set_hex_from_colour(color) -> string; /// This callback is required until slint adds direct acces to color channels callback blend_colour(color, color, float) -> color; callback blend_lightness(color, float) -> color; - + pure callback set_hue(color) -> float; + pure callback set_bright(color) -> float; + in-out property c1value<=> c1.value; + in-out property c2value<=> c2.value; property <[color]> base_colours: [ Colors.rgb( 255, 0, 0), Colors.rgb( 255, 128, 0), @@ -42,13 +44,17 @@ export component ColourSlider inherits VerticalLayout { base_colour.with-alpha(10%), base_colour.with-alpha(0%) ]; - function set_base_colour() { - // base_colour = base_colours[c1.value].mix(base_colours[c1.value+1], _index_rem); root.base_colour = blend_colour(base_colours[c1.value], base_colours[c1.value + 1], c1.value - Math.floor(c1.value)); root.final_colour = blend_lightness(base_colour, (base_shade.length - c2.value) / base_shade.length); root.colourbox = root.final_colour; } + callback external_colour_change(); + external_colour_change => { + c1.value = 13 * (root.set_hue(root.final_colour) / 360); + c2.value = 12 * (root.set_bright(root.final_colour) / 0.86); + root.set_base_colour(); + } Rectangle { height: 32px; // 13 colours @@ -64,6 +70,9 @@ export component ColourSlider inherits VerticalLayout { set_base_colour(); hex = set_hex_from_colour(final_colour); } + init => { + self.value = 13 * (root.set_hue(root.final_colour) / 360); + } } } @@ -82,6 +91,10 @@ export component ColourSlider inherits VerticalLayout { set_base_colour(); hex = set_hex_from_colour(final_colour); } + init => { + self.value = 12 * (root.set_bright(root.final_colour) / 0.86); + root.set_base_colour(); + } } } @@ -98,7 +111,6 @@ export component ColourSlider inherits VerticalLayout { Rectangle { width: self.height; background <=> root.colourbox; - } } } @@ -107,9 +119,7 @@ component ColorButton { callback select<=>i_touch_area.clicked; in property color<=> i_container.background; in property selected; - height: self.width; - i_container := Rectangle { border_width: 2px; } @@ -128,10 +138,8 @@ export component ColorPicker { private property selected_color_index; in-out property colors_per_row: 13.0; private property color_size: self.width / colors_per_row; - out property selected_color: palette[selected_color_index]; callback selected(color); - in property <[color]> palette: [ Colors.rgb(51,0,0), Colors.rgb(51,25,0), @@ -259,18 +267,15 @@ export component ColorPicker { Colors.rgb(255,204,229), Colors.rgb(224,224,224), ]; - Rectangle { border_width: 1px; border_color: Colors.black; - for color[index] in palette: ColorButton { x: color_size * mod(index, colors_per_row); y: color_size * floor(index / colors_per_row); width: color_size; color: color; selected: index == selected_color_index; - select => { selected_color_index = index; // debug(Math.mod(selected_color_index, colors_per_row)); // X pos diff --git a/rog-control-center/ui/widgets/sidebar.slint b/rog-control-center/ui/widgets/sidebar.slint index d69f81d9..2f87f754 100644 --- a/rog-control-center/ui/widgets/sidebar.slint +++ b/rog-control-center/ui/widgets/sidebar.slint @@ -106,13 +106,13 @@ export component SideBar inherits Rectangle { alignment: start; vertical-stretch: 0; for item[index] in root.model: SideBarItem { - visible: root.available[index]; - clicked => { - root.current-item = index; - } - has-focus: index == root.current-focused; - text: item; - selected: index == root.current-item; + visible: root.available[index]; + clicked => { + root.current-item = index; + } + has-focus: index == root.current-focused; + text: item; + selected: index == root.current-item; } }