chore: apply recommendations from clippy
This commit is contained in:
parent
cec55dafd7
commit
8e0f1c4a09
56 changed files with 720 additions and 824 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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}");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue