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" => "",
|
"notcharging" => "",
|
||||||
"full" => "",
|
"full" => "",
|
||||||
_ => "", // unknown fallback
|
_ => "", // Unknown fallback
|
||||||
};
|
};
|
||||||
|
|
||||||
SharedString::from(icon)
|
SharedString::from(icon)
|
||||||
@ -83,11 +83,13 @@ fn start_battery_updater(ui: &TopBar) {
|
|||||||
// Select icon
|
// Select icon
|
||||||
let icon = select_icon(&status, &final_level);
|
let icon = select_icon(&status, &final_level);
|
||||||
|
|
||||||
|
// Compose tooltip text (Rust handles it now)
|
||||||
|
let tooltip = format!("Battery: {cap}% ({status})");
|
||||||
|
|
||||||
// Update Slint properties
|
// 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_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
|
// Click → open battery monitor
|
||||||
ui.on_show_battery(move || {
|
ui.on_show_battery(move || {
|
||||||
if weak.upgrade().is_some() {
|
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";
|
import { SquareIconWidget } from "square-icon-widget.slint";
|
||||||
|
|
||||||
export component BatteryWidget inherits SquareIconWidget {
|
export component BatteryWidget inherits SquareIconWidget {
|
||||||
in property <string> battery_status;
|
in property <string> battery_capacity_level; // To determine icon color later
|
||||||
in property <int> battery_capacity;
|
|
||||||
in property <string> battery_capacity_level;
|
|
||||||
|
|
||||||
// Compose tooltip here
|
|
||||||
tooltip_text: "Battery: " + battery_capacity + "% (" + battery_status + ")";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,10 +19,9 @@ export component TopBar inherits Window {
|
|||||||
callback show_calendar();
|
callback show_calendar();
|
||||||
|
|
||||||
// Battery widget
|
// Battery widget
|
||||||
in property <string> battery_status;
|
in property <string> battery_tooltip;
|
||||||
in property <int> battery_capacity;
|
|
||||||
in property <string> battery_capacity_level;
|
|
||||||
in property <string> battery_icon;
|
in property <string> battery_icon;
|
||||||
|
in property <string> battery_capacity_level;
|
||||||
callback show_battery();
|
callback show_battery();
|
||||||
|
|
||||||
|
|
||||||
@ -73,10 +72,9 @@ export component TopBar inherits Window {
|
|||||||
BatteryWidget {
|
BatteryWidget {
|
||||||
bar_height: root.bar_height;
|
bar_height: root.bar_height;
|
||||||
icon_text: root.battery_icon;
|
icon_text: root.battery_icon;
|
||||||
square_btn_callback => root.show_battery();
|
tooltip_text: root.battery_tooltip;
|
||||||
battery_status: root.battery_status;
|
|
||||||
battery_capacity: root.battery_capacity;
|
|
||||||
battery_capacity_level: root.battery_capacity_level;
|
battery_capacity_level: root.battery_capacity_level;
|
||||||
|
square_btn_callback => root.show_battery();
|
||||||
}
|
}
|
||||||
|
|
||||||
DateWidget {
|
DateWidget {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user