Refactor BatteryWidget
- Update tooltip from the rust code instead of slint
This commit is contained in:
parent
962bed3dad
commit
42ee42b904
@ -51,7 +51,7 @@ fn select_icon(status: &str, level: &str) -> SharedString {
|
||||
},
|
||||
"notcharging" => "",
|
||||
"full" => "",
|
||||
_ => "", // unknown fallback
|
||||
_ => "", // Unknown fallback
|
||||
};
|
||||
|
||||
SharedString::from(icon)
|
||||
@ -83,11 +83,13 @@ fn start_battery_updater(ui: &TopBar) {
|
||||
// Select icon
|
||||
let icon = select_icon(&status, &final_level);
|
||||
|
||||
// Compose tooltip text (Rust handles it now)
|
||||
let tooltip = format!("Battery: {cap}% ({status})");
|
||||
|
||||
// Update Slint properties
|
||||
ui.set_battery_status(status.into());
|
||||
ui.set_battery_capacity(cap.into());
|
||||
ui.set_battery_capacity_level(final_level.into());
|
||||
ui.set_battery_icon(icon);
|
||||
ui.set_battery_capacity_level(final_level.into());
|
||||
ui.set_battery_tooltip(tooltip.into());
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -99,7 +101,7 @@ pub fn install(ui: &TopBar) {
|
||||
// Click → open battery monitor
|
||||
ui.on_show_battery(move || {
|
||||
if weak.upgrade().is_some() {
|
||||
run_cmd("xclock"); // Fix later
|
||||
run_cmd("xclock"); // Placeholder: Fix later
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -1,10 +1,5 @@
|
||||
import { SquareIconWidget } from "square-icon-widget.slint";
|
||||
|
||||
export component BatteryWidget inherits SquareIconWidget {
|
||||
in property <string> battery_status;
|
||||
in property <int> battery_capacity;
|
||||
in property <string> battery_capacity_level;
|
||||
|
||||
// Compose tooltip here
|
||||
tooltip_text: "Battery: " + battery_capacity + "% (" + battery_status + ")";
|
||||
in property <string> battery_capacity_level; // To determine icon color later
|
||||
}
|
||||
|
||||
@ -19,10 +19,9 @@ export component TopBar inherits Window {
|
||||
callback show_calendar();
|
||||
|
||||
// Battery widget
|
||||
in property <string> battery_status;
|
||||
in property <int> battery_capacity;
|
||||
in property <string> battery_capacity_level;
|
||||
in property <string> battery_tooltip;
|
||||
in property <string> battery_icon;
|
||||
in property <string> battery_capacity_level;
|
||||
callback show_battery();
|
||||
|
||||
|
||||
@ -73,10 +72,9 @@ export component TopBar inherits Window {
|
||||
BatteryWidget {
|
||||
bar_height: root.bar_height;
|
||||
icon_text: root.battery_icon;
|
||||
square_btn_callback => root.show_battery();
|
||||
battery_status: root.battery_status;
|
||||
battery_capacity: root.battery_capacity;
|
||||
tooltip_text: root.battery_tooltip;
|
||||
battery_capacity_level: root.battery_capacity_level;
|
||||
square_btn_callback => root.show_battery();
|
||||
}
|
||||
|
||||
DateWidget {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user