Merge pull request #159 from JakeStanger/fix/upower-icon

Upower icon fixes
This commit is contained in:
Jake Stanger 2023-05-26 19:39:53 +01:00 committed by GitHub
commit e6a70f7663
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 17 deletions

View File

@ -70,13 +70,14 @@ end:
## Styling
| Selector | Description |
|---------------------------------|-----------------------------|
| `.upower` | Upower widget container. |
| `.upower .icon` | Upower widget battery icon. |
| `.upower .button` | Upower widget button. |
| `.upower .button .label` | Upower widget button label. |
| `.popup-upower` | Upower popup box. |
| `.popup-upower .upower-details` | Label inside the popup. |
| Selector | Description |
|---------------------------------|--------------------------------|
| `.upower` | Upower widget container. |
| `.upower .button` | Upower widget button. |
| `.upower .button .contents` | Upower widget button contents. |
| `.upower .button .icon` | Upower widget battery icon. |
| `.upower .button .label` | Upower widget button label. |
| `.popup-upower` | Upower popup box. |
| `.popup-upower .upower-details` | Label inside the popup. |
For more information on styling, please see the [styling guide](styling-guide).
For more information on styling, please see the [styling guide](styling-guide).

View File

@ -41,7 +41,7 @@ pub struct UpowerProperties {
time_to_empty: i64,
}
impl Module<gtk::Box> for UpowerModule {
impl Module<gtk::Button> for UpowerModule {
type SendMessage = UpowerProperties;
type ReceiveMessage = ();
@ -143,7 +143,7 @@ impl Module<gtk::Box> for UpowerModule {
self,
context: WidgetContext<Self::SendMessage, Self::ReceiveMessage>,
info: &ModuleInfo,
) -> Result<ModuleWidget<gtk::Box>> {
) -> Result<ModuleWidget<Button>> {
let icon_theme = info.icon_theme.clone();
let icon = gtk::Image::new();
add_class(&icon, "icon");
@ -154,15 +154,15 @@ impl Module<gtk::Box> for UpowerModule {
.build();
add_class(&label, "label");
let container = gtk::Box::new(Orientation::Horizontal, 0);
add_class(&container, "upower");
let container = gtk::Box::new(Orientation::Horizontal, 5);
add_class(&container, "contents");
let button = Button::new();
add_class(&button, "button");
button.add(&label);
container.add(&button);
container.add(&icon);
container.add(&label);
button.add(&container);
let orientation = info.bar_position.get_orientation();
button.connect_clicked(move |button| {
@ -180,7 +180,7 @@ impl Module<gtk::Box> for UpowerModule {
.attach(None, move |properties: UpowerProperties| {
let format = format.replace("{percentage}", &properties.percentage.to_string());
let icon_name = String::from("icon:") + &properties.icon_name;
ImageProvider::parse(&icon_name, &icon_theme, 32)
ImageProvider::parse(&icon_name, &icon_theme, 24)
.map(|provider| provider.load_into_image(icon.clone()));
label.set_markup(format.as_ref());
Continue(true)
@ -189,7 +189,7 @@ impl Module<gtk::Box> for UpowerModule {
let popup = self.into_popup(context.controller_tx, context.popup_rx, info);
Ok(ModuleWidget {
widget: container,
widget: button,
popup,
})
}