refactor: migrate backlight/battery/bluetooth/gps to updateLabelAndTooltip
This commit is contained in:
@@ -55,24 +55,10 @@ auto waybar::modules::Backlight::update() -> void {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string desc =
|
updateLabelAndTooltip(current_format, current_format, fmt::arg("percent", percent),
|
||||||
fmt::format(fmt::runtime(current_format), fmt::arg("percent", percent),
|
fmt::arg("percent_exp", percent_exp),
|
||||||
fmt::arg("percent_exp", percent_exp), fmt::arg("icon", getIcon(percent)),
|
fmt::arg("icon", getIcon(percent)),
|
||||||
fmt::arg("icon_exp", getIcon(percent_exp)));
|
fmt::arg("icon_exp", getIcon(percent_exp)));
|
||||||
label_.set_markup(desc);
|
|
||||||
if (tooltipEnabled()) {
|
|
||||||
std::string tooltip_format;
|
|
||||||
if (config_["tooltip-format"].isString()) {
|
|
||||||
tooltip_format = config_["tooltip-format"].asString();
|
|
||||||
}
|
|
||||||
if (!tooltip_format.empty()) {
|
|
||||||
label_.set_tooltip_markup(fmt::format(fmt::runtime(tooltip_format),
|
|
||||||
fmt::arg("percent", percent),
|
|
||||||
fmt::arg("icon", getIcon(percent))));
|
|
||||||
} else {
|
|
||||||
label_.set_tooltip_markup(desc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
event_box_.hide();
|
event_box_.hide();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -767,7 +767,7 @@ auto waybar::modules::Battery::update() -> void {
|
|||||||
} else if (config_["tooltip-format"].isString()) {
|
} else if (config_["tooltip-format"].isString()) {
|
||||||
tooltip_format = config_["tooltip-format"].asString();
|
tooltip_format = config_["tooltip-format"].asString();
|
||||||
}
|
}
|
||||||
label_.set_tooltip_markup(
|
setTooltipMarkup(
|
||||||
fmt::format(fmt::runtime(tooltip_format), fmt::arg("timeTo", tooltip_text_default),
|
fmt::format(fmt::runtime(tooltip_format), fmt::arg("timeTo", tooltip_text_default),
|
||||||
fmt::arg("power", power), fmt::arg("capacity", capacity),
|
fmt::arg("power", power), fmt::arg("capacity", capacity),
|
||||||
fmt::arg("time", time_remaining_formatted), fmt::arg("cycles", cycles),
|
fmt::arg("time", time_remaining_formatted), fmt::arg("cycles", cycles),
|
||||||
@@ -790,7 +790,7 @@ auto waybar::modules::Battery::update() -> void {
|
|||||||
} else {
|
} else {
|
||||||
event_box_.show();
|
event_box_.show();
|
||||||
auto icons = std::vector<std::string>{status + "-" + state, status, state};
|
auto icons = std::vector<std::string>{status + "-" + state, status, state};
|
||||||
label_.set_markup(fmt::format(
|
setLabelMarkup(fmt::format(
|
||||||
fmt::runtime(format), fmt::arg("capacity", capacity), fmt::arg("power", power),
|
fmt::runtime(format), fmt::arg("capacity", capacity), fmt::arg("power", power),
|
||||||
fmt::arg("icon", getIcon(capacity, icons)), fmt::arg("time", time_remaining_formatted),
|
fmt::arg("icon", getIcon(capacity, icons)), fmt::arg("time", time_remaining_formatted),
|
||||||
fmt::arg("cycles", cycles), fmt::arg("health", fmt::format("{:.3}", health))));
|
fmt::arg("cycles", cycles), fmt::arg("health", fmt::format("{:.3}", health))));
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ auto waybar::modules::Bluetooth::update() -> void {
|
|||||||
event_box_.hide();
|
event_box_.hide();
|
||||||
} else {
|
} else {
|
||||||
event_box_.show();
|
event_box_.show();
|
||||||
label_.set_markup(fmt::format(
|
setLabelMarkup(fmt::format(
|
||||||
fmt::runtime(format_), fmt::arg("status", state_),
|
fmt::runtime(format_), fmt::arg("status", state_),
|
||||||
fmt::arg("num_connections", connected_devices_.size()),
|
fmt::arg("num_connections", connected_devices_.size()),
|
||||||
fmt::arg("controller_address", cur_controller_ ? cur_controller_->address : "null"),
|
fmt::arg("controller_address", cur_controller_ ? cur_controller_->address : "null"),
|
||||||
@@ -267,7 +267,7 @@ auto waybar::modules::Bluetooth::update() -> void {
|
|||||||
device_enumerate_.erase(0, 1);
|
device_enumerate_.erase(0, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
label_.set_tooltip_markup(fmt::format(
|
setTooltipMarkup(fmt::format(
|
||||||
fmt::runtime(tooltip_format), fmt::arg("status", state_),
|
fmt::runtime(tooltip_format), fmt::arg("status", state_),
|
||||||
fmt::arg("num_connections", connected_devices_.size()),
|
fmt::arg("num_connections", connected_devices_.size()),
|
||||||
fmt::arg("controller_address", cur_controller_ ? cur_controller_->address : "null"),
|
fmt::arg("controller_address", cur_controller_ ? cur_controller_->address : "null"),
|
||||||
|
|||||||
+13
-43
@@ -141,7 +141,7 @@ auto waybar::modules::Gps::update() -> void {
|
|||||||
// Show the module
|
// Show the module
|
||||||
if (!event_box_.get_visible()) event_box_.set_visible(true);
|
if (!event_box_.get_visible()) event_box_.set_visible(true);
|
||||||
|
|
||||||
std::string tooltip_format;
|
std::string tooltip_state;
|
||||||
|
|
||||||
if (!alt_) {
|
if (!alt_) {
|
||||||
auto state = getFixModeName();
|
auto state = getFixModeName();
|
||||||
@@ -155,57 +155,27 @@ auto waybar::modules::Gps::update() -> void {
|
|||||||
} else {
|
} else {
|
||||||
default_format_ = DEFAULT_FORMAT;
|
default_format_ = DEFAULT_FORMAT;
|
||||||
}
|
}
|
||||||
if (config_["tooltip-format-" + state].isString()) {
|
|
||||||
tooltip_format = config_["tooltip-format-" + state].asString();
|
|
||||||
}
|
|
||||||
if (!label_.get_style_context()->has_class(state)) {
|
if (!label_.get_style_context()->has_class(state)) {
|
||||||
label_.get_style_context()->add_class(state);
|
label_.get_style_context()->add_class(state);
|
||||||
}
|
}
|
||||||
format_ = default_format_;
|
format_ = default_format_;
|
||||||
state_ = state;
|
state_ = state;
|
||||||
|
tooltip_state = state;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto format = format_;
|
auto format = format_;
|
||||||
|
|
||||||
fmt::dynamic_format_arg_store<fmt::format_context> store;
|
updateLabelAndTooltipForState(
|
||||||
store.push_back(fmt::arg("mode", getFixModeString()));
|
tooltip_state, format, format, fmt::arg("mode", getFixModeString()),
|
||||||
store.push_back(fmt::arg("status", getFixStatusString()));
|
fmt::arg("status", getFixStatusString()), fmt::arg("latitude", gps_data_.fix.latitude),
|
||||||
|
fmt::arg("latitude_error", gps_data_.fix.epy), fmt::arg("longitude", gps_data_.fix.longitude),
|
||||||
store.push_back(fmt::arg("latitude", gps_data_.fix.latitude));
|
fmt::arg("longitude_error", gps_data_.fix.epx),
|
||||||
store.push_back(fmt::arg("latitude_error", gps_data_.fix.epy));
|
fmt::arg("altitude_hae", gps_data_.fix.altHAE),
|
||||||
|
fmt::arg("altitude_msl", gps_data_.fix.altMSL), fmt::arg("altitude_error", gps_data_.fix.epv),
|
||||||
store.push_back(fmt::arg("longitude", gps_data_.fix.longitude));
|
fmt::arg("speed", gps_data_.fix.speed), fmt::arg("speed_error", gps_data_.fix.eps),
|
||||||
store.push_back(fmt::arg("longitude_error", gps_data_.fix.epx));
|
fmt::arg("climb", gps_data_.fix.climb), fmt::arg("climb_error", gps_data_.fix.epc),
|
||||||
|
fmt::arg("satellites_used", gps_data_.satellites_used),
|
||||||
store.push_back(fmt::arg("altitude_hae", gps_data_.fix.altHAE));
|
fmt::arg("satellites_visible", gps_data_.satellites_visible));
|
||||||
store.push_back(fmt::arg("altitude_msl", gps_data_.fix.altMSL));
|
|
||||||
store.push_back(fmt::arg("altitude_error", gps_data_.fix.epv));
|
|
||||||
|
|
||||||
store.push_back(fmt::arg("speed", gps_data_.fix.speed));
|
|
||||||
store.push_back(fmt::arg("speed_error", gps_data_.fix.eps));
|
|
||||||
|
|
||||||
store.push_back(fmt::arg("climb", gps_data_.fix.climb));
|
|
||||||
store.push_back(fmt::arg("climb_error", gps_data_.fix.epc));
|
|
||||||
|
|
||||||
store.push_back(fmt::arg("satellites_used", gps_data_.satellites_used));
|
|
||||||
store.push_back(fmt::arg("satellites_visible", gps_data_.satellites_visible));
|
|
||||||
|
|
||||||
auto text = fmt::vformat(format, store);
|
|
||||||
|
|
||||||
if (tooltipEnabled()) {
|
|
||||||
if (tooltip_format.empty() && config_["tooltip-format"].isString()) {
|
|
||||||
tooltip_format = config_["tooltip-format"].asString();
|
|
||||||
}
|
|
||||||
if (!tooltip_format.empty()) {
|
|
||||||
auto tooltip_text = fmt::vformat(tooltip_format, store);
|
|
||||||
if (label_.get_tooltip_text() != tooltip_text) {
|
|
||||||
label_.set_tooltip_markup(tooltip_text);
|
|
||||||
}
|
|
||||||
} else if (label_.get_tooltip_text() != text) {
|
|
||||||
label_.set_tooltip_markup(text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
label_.set_markup(text);
|
|
||||||
// Call parent update
|
// Call parent update
|
||||||
ALabel::update();
|
ALabel::update();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user