From af658aa14dff1dfbbcad0d650ba3ef67f610d6cc Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Fri, 9 Aug 2024 20:40:49 -0400 Subject: [PATCH] fix(audio): rtl media title overlap on controls --- cosmic-applet-audio/src/lib.rs | 26 +++++++++++++++++++++----- rust-toolchain.toml | 2 +- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/cosmic-applet-audio/src/lib.rs b/cosmic-applet-audio/src/lib.rs index 19c1f053..de515f23 100644 --- a/cosmic-applet-audio/src/lib.rs +++ b/cosmic-applet-audio/src/lib.rs @@ -817,14 +817,22 @@ impl cosmic::Application for Audio { fl!("unknown-artist") }; - elements.push(column![text(title).size(14), text(artists).size(10),].into()); - elements.push(horizontal_space(Length::Fill).into()); + elements.push( + column![ + text(title).size(14).width(Length::Shrink), + text(artists).size(10).width(Length::Shrink), + ] + .width(Length::FillPortion(5)) + .into(), + ); + let mut control_elements = Vec::with_capacity(4); + control_elements.push(horizontal_space(Length::Fill).into()); if let Some(go_prev) = self.go_previous(32) { - elements.push(go_prev); + control_elements.push(go_prev); } if let Some(play) = self.is_play() { - elements.push( + control_elements.push( button::icon( icon::from_name(if play { PLAY } else { PAUSE }) .size(32) @@ -841,8 +849,16 @@ impl cosmic::Application for Audio { ); } if let Some(go_next) = self.go_next(32) { - elements.push(go_next); + control_elements.push(go_next); } + let control_cnt = control_elements.len() as u16; + elements.push( + Row::with_children(control_elements) + .align_items(Alignment::Center) + .width(Length::FillPortion(control_cnt.saturating_add(1))) + .spacing(8) + .into(), + ); audio_content = audio_content.push(padded_control(divider::horizontal::default())); audio_content = audio_content.push( diff --git a/rust-toolchain.toml b/rust-toolchain.toml index a9aa3929..4d2dee85 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.75" \ No newline at end of file +channel = "1.80.0"