chore: apply recommendations from clippy

This commit is contained in:
Cheong Lau 2025-10-04 10:51:18 +10:00 committed by GitHub
parent cec55dafd7
commit 8e0f1c4a09
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
56 changed files with 720 additions and 824 deletions

View file

@ -166,14 +166,13 @@ pub enum Message {
}
impl Audio {
fn playback_buttons(&self) -> Option<Element<Message>> {
fn playback_buttons(&self) -> Option<Element<'_, Message>> {
if self.player_status.is_some() && self.config.show_media_controls_in_top_panel {
let mut elements = Vec::with_capacity(3);
if self
.player_status
.as_ref()
.map(|s| s.can_go_previous)
.unwrap_or_default()
.is_some_and(|s| s.can_go_previous)
{
elements.push(
self.core
@ -181,7 +180,7 @@ impl Audio {
.icon_button(GO_BACK)
.on_press(Message::MprisRequest(MprisRequest::Previous))
.into(),
)
);
}
if let Some(play) = self.is_play() {
elements.push(
@ -196,12 +195,7 @@ impl Audio {
.into(),
);
}
if self
.player_status
.as_ref()
.map(|s| s.can_go_next)
.unwrap_or_default()
{
if self.player_status.as_ref().is_some_and(|s| s.can_go_next) {
elements.push(
self.core
.applet
@ -224,7 +218,7 @@ impl Audio {
}
}
fn go_previous(&self, icon_size: u16) -> Option<Element<Message>> {
fn go_previous(&self, icon_size: u16) -> Option<Element<'_, Message>> {
self.player_status.as_ref().and_then(|s| {
if s.can_go_previous {
Some(
@ -240,7 +234,7 @@ impl Audio {
})
}
fn go_next(&self, icon_size: u16) -> Option<Element<Message>> {
fn go_next(&self, icon_size: u16) -> Option<Element<'_, Message>> {
self.player_status.as_ref().and_then(|s| {
if s.can_go_next {
Some(
@ -277,17 +271,11 @@ impl Audio {
}
fn current_output_mute(&self) -> bool {
self.current_output
.as_ref()
.map(|o| o.mute)
.unwrap_or_default()
self.current_output.as_ref().is_some_and(|o| o.mute)
}
fn current_input_mute(&self) -> bool {
self.current_input
.as_ref()
.map(|o| o.mute)
.unwrap_or_default()
self.current_input.as_ref().is_some_and(|o| o.mute)
}
}
@ -421,7 +409,7 @@ impl cosmic::Application for Audio {
connection.send(pulse::Message::SetSourceVolumeByName(
name.clone(),
device.volume,
))
));
}
}
}
@ -434,7 +422,7 @@ impl cosmic::Application for Audio {
if let Some(device) = &self.current_output {
if let Some(name) = &device.name {
connection
.send(pulse::Message::SetSinkMuteByName(name.clone(), device.mute))
.send(pulse::Message::SetSinkMuteByName(name.clone(), device.mute));
}
}
}
@ -625,7 +613,7 @@ impl cosmic::Application for Audio {
});
} else {
tracing::error!("Wayland tx is None");
};
}
}
Message::Token(u) => match u {
TokenUpdate::Init(tx) => {
@ -688,7 +676,7 @@ impl cosmic::Application for Audio {
cosmic::app::Action::Surface(a),
));
}
};
}
Task::none()
}
@ -711,7 +699,7 @@ impl cosmic::Application for Audio {
])
}
fn view(&self) -> Element<Message> {
fn view(&self) -> Element<'_, Message> {
let btn = self
.core
.applet
@ -765,7 +753,7 @@ impl cosmic::Application for Audio {
.into()
}
fn view_window(&self, _id: window::Id) -> Element<Message> {
fn view_window(&self, _id: window::Id) -> Element<'_, Message> {
let Spacing {
space_xxs, space_s, ..
} = theme::active().cosmic().spacing;

View file

@ -43,6 +43,6 @@ pub fn localize() {
let requested_languages = i18n_embed::DesktopLanguageRequester::requested_languages();
if let Err(error) = localizer.select(&requested_languages) {
eprintln!("Error while loading language for App List {}", error);
eprintln!("Error while loading language for App List {error}");
}
}

View file

@ -104,7 +104,7 @@ struct State {
impl Default for State {
fn default() -> Self {
Self {
drag_initiated: Default::default(),
drag_initiated: Option::default(),
is_out_of_bounds: true,
}
}
@ -129,8 +129,8 @@ impl<'a, Message, Theme, Renderer> MouseArea<'a, Message, Theme, Renderer> {
}
}
impl<'a, Message, Theme, Renderer> Widget<Message, Theme, Renderer>
for MouseArea<'a, Message, Theme, Renderer>
impl<Message, Theme, Renderer> Widget<Message, Theme, Renderer>
for MouseArea<'_, Message, Theme, Renderer>
where
Renderer: renderer::Renderer,
Message: Clone,
@ -267,7 +267,7 @@ where
renderer: &Renderer,
dnd_rectangles: &mut cosmic::iced_core::clipboard::DndDestinationRectangles,
) {
if let Some(state) = state.children.iter().next() {
if let Some(state) = state.children.first() {
self.content
.as_widget()
.drag_destinations(state, layout, renderer, dnd_rectangles);

View file

@ -35,7 +35,7 @@ pub struct PlayerStatus {
impl PlayerStatus {
async fn new(player: Player) -> Option<Self> {
let metadata = player.metadata().await.ok()?;
let pathname = metadata.url().unwrap_or("".into());
let pathname = metadata.url().unwrap_or_default();
let pathbuf = PathBuf::from(pathname);
let title = metadata
@ -108,7 +108,7 @@ impl MprisPlayer {
})
}
fn name(&self) -> &BusName {
fn name(&self) -> &BusName<'_> {
self.player.inner().destination()
}
}
@ -171,7 +171,7 @@ impl State {
filter_firefox_players(&mut players);
// pre-sort by path so that the same player is always selected
players.sort_by(|a, b| a.name().cmp(&b.name()));
players.sort_by(|a, b| a.name().cmp(b.name()));
let mut state = Self {
conn,
@ -196,7 +196,7 @@ impl State {
};
self.players.push(player);
filter_firefox_players(&mut self.players);
self.players.sort_by(|a, b| a.name().cmp(&b.name()));
self.players.sort_by(|a, b| a.name().cmp(b.name()));
self.update_any_player_state_stream().await;
}
@ -254,7 +254,7 @@ async fn run(output: &mut futures::channel::mpsc::Sender<MprisUpdate>) {
_ = output.send(MprisUpdate::Player(player_status)).await;
} else {
tracing::error!("Failed to get player status.");
};
}
} else {
let _ = output.send(MprisUpdate::Setup).await;
}
@ -287,7 +287,7 @@ async fn run(output: &mut futures::channel::mpsc::Sender<MprisUpdate>) {
}
}
async fn find_active<'a>(players: &'a Vec<MprisPlayer>) -> Option<&'a MprisPlayer> {
async fn find_active<'a>(players: &'a [MprisPlayer]) -> Option<&'a MprisPlayer> {
let mut best = (0, None::<&'a MprisPlayer>);
let eval = |p: Player| async move {
let v = {
@ -303,7 +303,7 @@ async fn find_active<'a>(players: &'a Vec<MprisPlayer>) -> Option<&'a MprisPlaye
v + p.metadata().await.is_ok() as i32
};
for p in players.iter() {
for p in players {
let v = eval(p.player.clone()).await;
if v > best.0 {
best = (v, Some(p));

View file

@ -168,7 +168,7 @@ impl Connection {
panic!();
}
mpsc::error::TrySendError::Full(_) => {
tracing::warn!("Failed to send message to PulseAudio server: channel is full")
tracing::warn!("Failed to send message to PulseAudio server: channel is full");
}
}
}
@ -249,9 +249,8 @@ impl PulseHandle {
for msg in msgs.drain(..) {
match msg {
Message::GetDefaultSink => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
match server.get_default_sink() {
Ok(sink) => {
@ -266,9 +265,8 @@ impl PulseHandle {
}
}
Message::GetDefaultSource => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
match server.get_default_source() {
Ok(source) => {
@ -286,9 +284,8 @@ impl PulseHandle {
}
}
Message::GetSinks => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
match server.get_sinks() {
Ok(sinks) => {
@ -302,9 +299,8 @@ impl PulseHandle {
}
}
Message::GetSources => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
match server.get_sources() {
Ok(sinks) => {
@ -318,23 +314,20 @@ impl PulseHandle {
}
}
Message::SetSinkVolumeByName(name, channel_volumes) => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
server.set_sink_volume_by_name(&name, &channel_volumes)
server.set_sink_volume_by_name(&name, &channel_volumes);
}
Message::SetSourceVolumeByName(name, channel_volumes) => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
server.set_source_volume_by_name(&name, &channel_volumes)
server.set_source_volume_by_name(&name, &channel_volumes);
}
Message::SetSinkMuteByName(name, mute) => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
let op =
@ -342,9 +335,8 @@ impl PulseHandle {
server.wait_for_result(op).ok();
}
Message::SetSourceMuteByName(name, mute) => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
let op = server
@ -367,7 +359,7 @@ impl PulseHandle {
Self::send_connected(&from_pulse_send).await;
}
} else {
match PulseServer::connect().and_then(|server| server.init()) {
match PulseServer::connect().and_then(PulseServer::init) {
Ok(new_server) => {
tracing::info!("Connected to server");
Self::send_connected(&from_pulse_send).await;
@ -384,13 +376,11 @@ impl PulseHandle {
}
}
Message::SetDefaultSink(device) => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
let default_sink = match server.get_default_sink() {
Ok(sink) => sink,
Err(_) => continue,
let Ok(default_sink) = server.get_default_sink() else {
continue;
};
let to_move = server.get_sink_inputs(default_sink.index);
if let Some(name) = device.name.as_ref() {
@ -405,13 +395,11 @@ impl PulseHandle {
}
}
Message::SetDefaultSource(device) => {
let server = match server.as_mut() {
Some(s) => s,
None => continue,
let Some(server) = server.as_mut() else {
continue;
};
let default_source = match server.get_default_source() {
Ok(source) => source,
Err(_) => continue,
let Ok(default_source) = server.get_default_source() else {
continue;
};
let to_move = server.get_source_outputs(default_source.index);
if let Some(name) = device.name.as_ref() {
@ -421,12 +409,12 @@ impl PulseHandle {
.await
{
tracing::error!("ERROR! {:?}", err);
};
}
}
}
}
_ => {
tracing::warn!("message doesn't match")
tracing::warn!("message doesn't match");
}
}
}
@ -440,12 +428,12 @@ impl PulseHandle {
}
async fn send_disconnected(sender: &tokio::sync::mpsc::Sender<Message>) {
sender.send(Message::Disconnected).await.unwrap()
sender.send(Message::Disconnected).await.unwrap();
}
#[allow(dead_code)]
async fn send_connected(sender: &tokio::sync::mpsc::Sender<Message>) {
sender.send(Message::Connected).await.unwrap()
sender.send(Message::Connected).await.unwrap();
}
}
@ -532,7 +520,7 @@ impl PulseServer {
}
// Get a list of output devices
pub fn get_sinks(&self) -> Result<Vec<DeviceInfo>, PulseServerError> {
pub fn get_sinks(&self) -> Result<Vec<DeviceInfo>, PulseServerError<'_>> {
let list: Rc<RefCell<Option<Vec<DeviceInfo>>>> = Rc::new(RefCell::new(Some(Vec::new())));
let list_ref = list.clone();
@ -543,7 +531,7 @@ impl PulseServer {
}
},
);
self.wait_for_result(operation).and_then(|_| {
self.wait_for_result(operation).and_then(|()| {
list.borrow_mut().take().ok_or(PulseServerError::Misc(
"get_sinks(): failed to wait for operation",
))
@ -551,7 +539,7 @@ impl PulseServer {
}
// Get a list of input devices
pub fn get_sources(&self) -> Result<Vec<DeviceInfo>, PulseServerError> {
pub fn get_sources(&self) -> Result<Vec<DeviceInfo>, PulseServerError<'_>> {
let list: Rc<RefCell<Option<Vec<DeviceInfo>>>> = Rc::new(RefCell::new(Some(Vec::new())));
let list_ref = list.clone();
@ -562,14 +550,14 @@ impl PulseServer {
}
},
);
self.wait_for_result(operation).and_then(|_| {
self.wait_for_result(operation).and_then(|()| {
list.borrow_mut().take().ok_or(PulseServerError::Misc(
"get_sources(): Failed to wait for operation",
))
})
}
pub fn get_server_info(&mut self) -> Result<ServerInfo, PulseServerError> {
pub fn get_server_info(&mut self) -> Result<ServerInfo, PulseServerError<'_>> {
let info = Rc::new(RefCell::new(Some(None)));
let info_ref = info.clone();
@ -643,7 +631,7 @@ impl PulseServer {
true
}
fn get_default_sink(&mut self) -> Result<DeviceInfo, PulseServerError> {
fn get_default_sink(&mut self) -> Result<DeviceInfo, PulseServerError<'_>> {
let server_info = self.get_server_info();
match server_info {
Ok(info) => {
@ -668,7 +656,7 @@ impl PulseServer {
}
}
fn get_default_source(&mut self) -> Result<DeviceInfo, PulseServerError> {
fn get_default_source(&mut self) -> Result<DeviceInfo, PulseServerError<'_>> {
let server_info = self.get_server_info();
match server_info {
Ok(info) => {
@ -750,7 +738,7 @@ impl PulseServer {
fn wait_for_result<G: ?Sized>(
&self,
operation: pulse::operation::Operation<G>,
) -> Result<(), PulseServerError> {
) -> Result<(), PulseServerError<'_>> {
// TODO: make this loop async. It is already in an async context, so
// we could make this thread sleep while waiting for the pulse server's
// response.