Break share command into smaller chunks
This commit is contained in:
@@ -316,14 +316,17 @@ impl<I: ListItem + Clone> ViewExt for ListView<I> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if cmd == "share" {
|
if cmd == "share" {
|
||||||
return if let Some(url) =
|
let source = args.get(0);
|
||||||
args.get(0).and_then(|source| match source.as_str() {
|
let url =
|
||||||
|
source.and_then(|source| match source.as_str() {
|
||||||
"selected" => self.content.read().ok().and_then(|content| {
|
"selected" => self.content.read().ok().and_then(|content| {
|
||||||
content.get(self.selected).and_then(ListItem::share_url)
|
content.get(self.selected).and_then(ListItem::share_url)
|
||||||
}),
|
}),
|
||||||
"current" => self.queue.get_current().and_then(|t| t.share_url()),
|
"current" => self.queue.get_current().and_then(|t| t.share_url()),
|
||||||
_ => None,
|
_ => None,
|
||||||
}) {
|
});
|
||||||
|
|
||||||
|
return if let Some(url) = url {
|
||||||
ClipboardProvider::new()
|
ClipboardProvider::new()
|
||||||
.and_then(|mut ctx: ClipboardContext| ctx.set_contents(url))
|
.and_then(|mut ctx: ClipboardContext| ctx.set_contents(url))
|
||||||
.ok();
|
.ok();
|
||||||
|
|||||||
Reference in New Issue
Block a user