Fix some errors and warnings when enabling/disabling features (#821)
* Fix E&Ws when enabling features * `share_clipboard` feature can be disabled more cleanly * `notify` feature can be disabled more cleanly
This commit is contained in:
@@ -43,6 +43,7 @@ enum ContextMenuAction {
|
||||
PlayTrack(Box<Track>),
|
||||
ShowItem(Box<dyn ListItem>),
|
||||
SelectArtist(Vec<Artist>),
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
ShareUrl(String),
|
||||
AddToPlaylist(Box<Track>),
|
||||
ShowRecommendations(Box<Track>),
|
||||
@@ -183,13 +184,14 @@ impl ContextMenu {
|
||||
if let Some(a) = item.album(queue.clone()) {
|
||||
content.add_item("Show album", ContextMenuAction::ShowItem(Box::new(a)));
|
||||
}
|
||||
if let Some(url) = item.share_url() {
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
content.add_item("Share", ContextMenuAction::ShareUrl(url));
|
||||
}
|
||||
if let Some(url) = item.album(queue.clone()).and_then(|a| a.share_url()) {
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
content.add_item("Share album", ContextMenuAction::ShareUrl(url));
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
{
|
||||
if let Some(url) = item.share_url() {
|
||||
content.add_item("Share", ContextMenuAction::ShareUrl(url));
|
||||
}
|
||||
if let Some(url) = item.album(queue.clone()).and_then(|a| a.share_url()) {
|
||||
content.add_item("Share album", ContextMenuAction::ShareUrl(url));
|
||||
}
|
||||
}
|
||||
if let Some(t) = item.track() {
|
||||
content.insert_item(
|
||||
@@ -232,8 +234,8 @@ impl ContextMenu {
|
||||
s.call_on_name("main", move |v: &mut Layout| v.push_view(view));
|
||||
}
|
||||
}
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
ContextMenuAction::ShareUrl(url) => {
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
write_share(url.to_string());
|
||||
}
|
||||
ContextMenuAction::AddToPlaylist(track) => {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
use std::collections::HashSet;
|
||||
use std::fs::File;
|
||||
use std::io::Write;
|
||||
use std::path::PathBuf;
|
||||
use std::process::{Child, Stdio};
|
||||
@@ -240,6 +239,7 @@ impl ViewExt for CoverView {
|
||||
track.unsave(self.library.clone());
|
||||
}
|
||||
}
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
Command::Share(_mode) => {
|
||||
let url = self
|
||||
.queue
|
||||
@@ -247,7 +247,6 @@ impl ViewExt for CoverView {
|
||||
.and_then(|t| t.as_listitem().share_url());
|
||||
|
||||
if let Some(url) = url {
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
crate::sharing::write_share(url);
|
||||
}
|
||||
|
||||
|
||||
@@ -24,12 +24,12 @@ use crate::model::track::Track;
|
||||
use crate::queue::Queue;
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
use crate::sharing::{read_share, write_share};
|
||||
use crate::spotify::UriType;
|
||||
use crate::traits::{IntoBoxedViewExt, ListItem, ViewExt};
|
||||
use crate::ui::album::AlbumView;
|
||||
use crate::ui::artist::ArtistView;
|
||||
use crate::ui::contextmenu::ContextMenu;
|
||||
use crate::ui::pagination::Pagination;
|
||||
use crate::{spotify::UriType, spotify_url::SpotifyUrl};
|
||||
|
||||
pub struct ListView<I: ListItem> {
|
||||
content: Arc<RwLock<Vec<I>>>,
|
||||
@@ -400,6 +400,7 @@ impl<I: ListItem + Clone> ViewExt for ListView<I> {
|
||||
|
||||
return Ok(CommandResult::Consumed(None));
|
||||
}
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
Command::Share(mode) => {
|
||||
let url = match mode {
|
||||
TargetMode::Selected => self.content.read().ok().and_then(|content| {
|
||||
@@ -412,7 +413,6 @@ impl<I: ListItem + Clone> ViewExt for ListView<I> {
|
||||
};
|
||||
|
||||
if let Some(url) = url {
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
write_share(url);
|
||||
}
|
||||
|
||||
@@ -550,7 +550,9 @@ impl<I: ListItem + Clone> ViewExt for ListView<I> {
|
||||
let url = match source {
|
||||
InsertSource::Input(url) => Some(url.clone()),
|
||||
#[cfg(feature = "share_clipboard")]
|
||||
InsertSource::Clipboard => read_share().and_then(SpotifyUrl::from_url),
|
||||
InsertSource::Clipboard => {
|
||||
read_share().and_then(crate::spotify_url::SpotifyUrl::from_url)
|
||||
}
|
||||
};
|
||||
|
||||
let spotify = self.queue.get_spotify();
|
||||
|
||||
Reference in New Issue
Block a user