Commit message: Update notification.rs to support new feature and refactor code
This commit is contained in:
parent
19ef64f8ed
commit
6d62c66b5f
1 changed files with 12 additions and 7 deletions
|
@ -1,11 +1,11 @@
|
||||||
use crate::cmus::events::CmusEvent;
|
use crate::cmus::events::CmusEvent;
|
||||||
|
use crate::cmus::query::CmusQueryResponse;
|
||||||
use crate::cmus::{Track, TrackStatus};
|
use crate::cmus::{Track, TrackStatus};
|
||||||
use crate::settings::Settings;
|
use crate::settings::Settings;
|
||||||
use crate::{process_template_placeholders, track_cover, TrackCover};
|
use crate::{process_template_placeholders, track_cover, TrackCover};
|
||||||
#[cfg(feature = "debug")]
|
#[cfg(feature = "debug")]
|
||||||
use log::{debug, info};
|
use log::{debug, info};
|
||||||
use notify_rust::Notification;
|
use notify_rust::Notification;
|
||||||
use crate::cmus::query::CmusQueryResponse;
|
|
||||||
|
|
||||||
pub struct NotificationsHandler {
|
pub struct NotificationsHandler {
|
||||||
cover_set: bool,
|
cover_set: bool,
|
||||||
|
@ -24,6 +24,7 @@ impl NotificationsHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
pub fn show_notification(
|
pub fn show_notification(
|
||||||
&mut self,
|
&mut self,
|
||||||
events: Vec<CmusEvent>,
|
events: Vec<CmusEvent>,
|
||||||
|
@ -80,9 +81,13 @@ impl NotificationsHandler {
|
||||||
// Set the summary and body of the notification.
|
// Set the summary and body of the notification.
|
||||||
self.notification
|
self.notification
|
||||||
.summary(
|
.summary(
|
||||||
process_template_placeholders(&self.settings.status_notification_summary, &track).as_str(),
|
process_template_placeholders(&self.settings.status_notification_summary, &track)
|
||||||
|
.as_str(),
|
||||||
|
)
|
||||||
|
.body(
|
||||||
|
process_template_placeholders(&self.settings.status_notification_body, &track)
|
||||||
|
.as_str(),
|
||||||
)
|
)
|
||||||
.body(process_template_placeholders(&self.settings.status_notification_body, &track).as_str())
|
|
||||||
.timeout(self.settings.status_notification_timeout as i32 * 1000);
|
.timeout(self.settings.status_notification_timeout as i32 * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,13 +119,13 @@ impl NotificationsHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_cover(&mut self, track: &Track) {
|
fn set_cover(&mut self, track: &Track) {
|
||||||
// Reset the notification
|
// Reset the notification
|
||||||
self.notification = Notification::new();
|
self.notification = Notification::new();
|
||||||
self.notification.appname("cmus-notify")
|
self.notification
|
||||||
|
.appname("cmus-notify")
|
||||||
.timeout(self.settings.timeout as i32 * 1000)
|
.timeout(self.settings.timeout as i32 * 1000)
|
||||||
.hint(notify_rust::Hint::Category("music".to_string()))
|
.hint(notify_rust::Hint::Category("music".to_string()))
|
||||||
.hint(notify_rust::Hint::DesktopEntry("cmus.desktop".to_string()))
|
.hint(notify_rust::Hint::DesktopEntry("cmus.desktop".to_string()))
|
||||||
|
@ -132,9 +137,9 @@ impl NotificationsHandler {
|
||||||
self.settings.depth,
|
self.settings.depth,
|
||||||
self.settings.force_use_external_cover,
|
self.settings.force_use_external_cover,
|
||||||
self.settings.no_use_external_cover,
|
self.settings.no_use_external_cover,
|
||||||
).set_notification_image(&mut self.notification);
|
)
|
||||||
|
.set_notification_image(&mut self.notification);
|
||||||
// Flip the change flag
|
// Flip the change flag
|
||||||
self.cover_set = true;
|
self.cover_set = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue