mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-07-31 13:18:46 +00:00
feat: charging icons if device is charging
This commit is contained in:
parent
dbb5ea7eb0
commit
520f7af8b4
3 changed files with 30 additions and 16 deletions
|
@ -22,19 +22,27 @@ impl From<BatteryStatus> for EnvisionBatteryStatus {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EnvisionBatteryStatus {
|
impl EnvisionBatteryStatus {
|
||||||
pub fn icon(&self) -> &str {
|
pub fn icon(&self) -> String {
|
||||||
match self.battery_status.charge {
|
format!(
|
||||||
n if n >= 1.0 => "battery-level-100-symbolic",
|
"{}{}-symbolic",
|
||||||
n if n >= 0.9 => "battery-level-90-symbolic",
|
match self.battery_status.charge {
|
||||||
n if n >= 0.8 => "battery-level-80-symbolic",
|
n if n >= 1.0 => "battery-level-100",
|
||||||
n if n >= 0.7 => "battery-level-70-symbolic",
|
n if n >= 0.9 => "battery-level-90",
|
||||||
n if n >= 0.6 => "battery-level-60-symbolic",
|
n if n >= 0.8 => "battery-level-80",
|
||||||
n if n >= 0.5 => "battery-level-50-symbolic",
|
n if n >= 0.7 => "battery-level-70",
|
||||||
n if n >= 0.4 => "battery-level-40-symbolic",
|
n if n >= 0.6 => "battery-level-60",
|
||||||
n if n >= 0.3 => "battery-level-30-symbolic",
|
n if n >= 0.5 => "battery-level-50",
|
||||||
n if n >= 0.2 => "battery-level-20-symbolic",
|
n if n >= 0.4 => "battery-level-40",
|
||||||
n if n >= 0.1 => "battery-level-10-symbolic",
|
n if n >= 0.3 => "battery-level-30",
|
||||||
_ => "battery-level-0-symbolic",
|
n if n >= 0.2 => "battery-level-20",
|
||||||
}
|
n if n >= 0.1 => "battery-level-10",
|
||||||
|
_ => "battery-level-0",
|
||||||
|
},
|
||||||
|
if self.battery_status.charging {
|
||||||
|
"-charging"
|
||||||
|
} else {
|
||||||
|
""
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,7 @@ impl AsyncFactoryComponent for DeviceRowModel {
|
||||||
gtk::Image {
|
gtk::Image {
|
||||||
set_icon_name: self.battery_status
|
set_icon_name: self.battery_status
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.map(|bs| bs.icon()),
|
.map(|bs| bs.icon()).as_deref(),
|
||||||
},
|
},
|
||||||
gtk::Label {
|
gtk::Label {
|
||||||
set_text: &self.battery_status
|
set_text: &self.battery_status
|
||||||
|
|
|
@ -319,7 +319,13 @@ impl XRDevice {
|
||||||
res.push(Self {
|
res.push(Self {
|
||||||
index: dev.id.to_string(),
|
index: dev.id.to_string(),
|
||||||
serial: dev.serial().ok(),
|
serial: dev.serial().ok(),
|
||||||
battery: dev.battery_status().ok(),
|
battery: dev.battery_status().ok().and_then(|bs| {
|
||||||
|
if bs.present {
|
||||||
|
Some(bs)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
}),
|
||||||
name: dev.name,
|
name: dev.name,
|
||||||
dev_type: xrd,
|
dev_type: xrd,
|
||||||
})
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue