Fixed not visible when only battery is plugged in

pull/1484/head
Erik Reider 2022-03-19 11:19:39 +01:00
parent d7a030daf3
commit 2b2ac311d5
1 changed files with 49 additions and 41 deletions

View File

@ -171,10 +171,6 @@ void UPower::resetDevices() {
auto UPower::update() -> void {
std::lock_guard<std::mutex> guard(m_Mutex);
if (devices.size() == 0 && hideIfEmpty) {
event_box_.set_visible(false);
} else {
event_box_.set_visible(true);
UpDeviceKind kind;
UpDeviceState state;
@ -201,20 +197,32 @@ auto UPower::update() -> void {
bool displayDeviceValid =
kind == UpDeviceKind::UP_DEVICE_KIND_BATTERY || kind == UpDeviceKind::UP_DEVICE_KIND_UPS;
std::string percentString = "";
std::string tooltip = "";
if (devices.size() == 0 && !displayDeviceValid && hideIfEmpty) {
event_box_.set_visible(false);
goto update;
}
event_box_.set_visible(true);
// TODO: Tooltip
// Set percentage
std::string percent_string =
displayDeviceValid ? std::to_string(int(percentage + 0.5)) + "%" : "";
label_.set_text(percent_string);
if (displayDeviceValid) {
percentString = std::to_string(int(percentage + 0.5)) + "%";
}
label_.set_text(percentString);
// Set icon
if (!Gtk::IconTheme::get_default()->has_icon(icon_name)) {
icon_name = (char*)"battery-missing-symbolic";
}
icon_.set_from_icon_name(icon_name, Gtk::ICON_SIZE_INVALID);
}
update:
// Call parent update
AModule::update();
}