use constants for listview IDs and search edit
This commit is contained in:
@@ -8,6 +8,7 @@ use playlists::{Playlist, Playlists};
|
|||||||
use queue::{Queue, RepeatSetting};
|
use queue::{Queue, RepeatSetting};
|
||||||
use spotify::Spotify;
|
use spotify::Spotify;
|
||||||
use track::Track;
|
use track::Track;
|
||||||
|
use ui;
|
||||||
use ui::layout::Layout;
|
use ui::layout::Layout;
|
||||||
use ui::listview::ListView;
|
use ui::listview::ListView;
|
||||||
use ui::search::SearchView;
|
use ui::search::SearchView;
|
||||||
@@ -156,13 +157,13 @@ impl CommandManager {
|
|||||||
|
|
||||||
if dir == "up" || dir == "down" {
|
if dir == "up" || dir == "down" {
|
||||||
let dir = if dir == "up" { -1 } else { 1 };
|
let dir = if dir == "up" { -1 } else { 1 };
|
||||||
s.call_on_id("queue_list", |v: &mut ListView<Track>| {
|
s.call_on_id(ui::queue::LIST_ID, |v: &mut ListView<Track>| {
|
||||||
v.move_focus(dir * amount);
|
v.move_focus(dir * amount);
|
||||||
});
|
});
|
||||||
s.call_on_id("list", |v: &mut ListView<Track>| {
|
s.call_on_id(ui::search::LIST_ID, |v: &mut ListView<Track>| {
|
||||||
v.move_focus(dir * amount);
|
v.move_focus(dir * amount);
|
||||||
});
|
});
|
||||||
s.call_on_id("list", |v: &mut ListView<Playlist>| {
|
s.call_on_id(ui::playlists::LIST_ID, |v: &mut ListView<Playlist>| {
|
||||||
v.move_focus(dir * amount);
|
v.move_focus(dir * amount);
|
||||||
});
|
});
|
||||||
s.on_event(Event::Refresh);
|
s.on_event(Event::Refresh);
|
||||||
@@ -196,7 +197,7 @@ impl CommandManager {
|
|||||||
|
|
||||||
{
|
{
|
||||||
let queue = queue.clone();
|
let queue = queue.clone();
|
||||||
s.call_on_id("list", |v: &mut ListView<Track>| {
|
s.call_on_id(ui::search::LIST_ID, |v: &mut ListView<Track>| {
|
||||||
v.with_selected(Box::new(move |t| {
|
v.with_selected(Box::new(move |t| {
|
||||||
queue.append(t);
|
queue.append(t);
|
||||||
}));
|
}));
|
||||||
@@ -205,7 +206,7 @@ impl CommandManager {
|
|||||||
|
|
||||||
{
|
{
|
||||||
let queue = queue.clone();
|
let queue = queue.clone();
|
||||||
s.call_on_id("list", |v: &mut ListView<Playlist>| {
|
s.call_on_id(ui::playlists::LIST_ID, |v: &mut ListView<Playlist>| {
|
||||||
v.with_selected(Box::new(move |pl| {
|
v.with_selected(Box::new(move |pl| {
|
||||||
for track in pl.tracks.iter() {
|
for track in pl.tracks.iter() {
|
||||||
queue.append(track);
|
queue.append(track);
|
||||||
@@ -236,14 +237,14 @@ impl CommandManager {
|
|||||||
|
|
||||||
{
|
{
|
||||||
let queue = queue.clone();
|
let queue = queue.clone();
|
||||||
s.call_on_id("queue_list", |v: &mut ListView<Track>| {
|
s.call_on_id(ui::queue::LIST_ID, |v: &mut ListView<Track>| {
|
||||||
queue.play(v.get_selected_index(), true);
|
queue.play(v.get_selected_index(), true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
let queue = queue.clone();
|
let queue = queue.clone();
|
||||||
s.call_on_id("list", |v: &mut ListView<Track>| {
|
s.call_on_id(ui::search::LIST_ID, |v: &mut ListView<Track>| {
|
||||||
v.with_selected(Box::new(move |t| {
|
v.with_selected(Box::new(move |t| {
|
||||||
let index = queue.append_next(vec![t]);
|
let index = queue.append_next(vec![t]);
|
||||||
queue.play(index, true);
|
queue.play(index, true);
|
||||||
@@ -253,7 +254,7 @@ impl CommandManager {
|
|||||||
|
|
||||||
{
|
{
|
||||||
let queue = queue.clone();
|
let queue = queue.clone();
|
||||||
s.call_on_id("list", |v: &mut ListView<Playlist>| {
|
s.call_on_id(ui::playlists::LIST_ID, |v: &mut ListView<Playlist>| {
|
||||||
v.with_selected(Box::new(move |pl| {
|
v.with_selected(Box::new(move |pl| {
|
||||||
let index = queue.append_next(pl.tracks.iter().collect());
|
let index = queue.append_next(pl.tracks.iter().collect());
|
||||||
queue.play(index, true);
|
queue.play(index, true);
|
||||||
@@ -282,7 +283,7 @@ impl CommandManager {
|
|||||||
|
|
||||||
{
|
{
|
||||||
let queue = queue.clone();
|
let queue = queue.clone();
|
||||||
s.call_on_id("queue_list", |v: &mut ListView<Track>| {
|
s.call_on_id(ui::queue::LIST_ID, |v: &mut ListView<Track>| {
|
||||||
queue.remove(v.get_selected_index());
|
queue.remove(v.get_selected_index());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,9 +12,10 @@ pub struct PlaylistView {
|
|||||||
list: IdView<ListView<Playlist>>,
|
list: IdView<ListView<Playlist>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub const LIST_ID: &str = "playlist_list";
|
||||||
impl PlaylistView {
|
impl PlaylistView {
|
||||||
pub fn new(playlists: &Playlists, queue: Arc<Queue>) -> PlaylistView {
|
pub fn new(playlists: &Playlists, queue: Arc<Queue>) -> PlaylistView {
|
||||||
let list = ListView::new(playlists.store.clone(), queue).with_id("list");
|
let list = ListView::new(playlists.store.clone(), queue).with_id(LIST_ID);
|
||||||
|
|
||||||
PlaylistView { list }
|
PlaylistView { list }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,18 +17,17 @@ pub struct QueueView {
|
|||||||
playlists: Arc<Playlists>,
|
playlists: Arc<Playlists>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub const LIST_ID: &str = "queue_list";
|
||||||
impl QueueView {
|
impl QueueView {
|
||||||
pub fn new(queue: Arc<Queue>, playlists: Arc<Playlists>) -> QueueView {
|
pub fn new(queue: Arc<Queue>, playlists: Arc<Playlists>) -> QueueView {
|
||||||
let list = ListView::new(queue.queue.clone(), queue.clone()).with_id("queue_list");
|
let list = ListView::new(queue.queue.clone(), queue.clone()).with_id(LIST_ID);
|
||||||
|
|
||||||
QueueView { list, playlists }
|
QueueView { list, playlists }
|
||||||
}
|
}
|
||||||
|
|
||||||
fn save_dialog_cb(s: &mut Cursive, playlists: Arc<Playlists>, id: Option<String>) {
|
fn save_dialog_cb(s: &mut Cursive, playlists: Arc<Playlists>, id: Option<String>) {
|
||||||
let tracks = s
|
let tracks = s
|
||||||
.call_on_id("queue_list", |view: &mut ListView<_>| {
|
.call_on_id(LIST_ID, |view: &mut ListView<_>| view.content().clone())
|
||||||
view.content().clone()
|
|
||||||
})
|
|
||||||
.unwrap();
|
.unwrap();
|
||||||
match id {
|
match id {
|
||||||
Some(id) => {
|
Some(id) => {
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ pub struct SearchView {
|
|||||||
edit_focused: bool,
|
edit_focused: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub const LIST_ID: &str = "search_list";
|
||||||
|
pub const EDIT_ID: &str = "search_edit";
|
||||||
impl SearchView {
|
impl SearchView {
|
||||||
pub fn new(spotify: Arc<Spotify>, queue: Arc<Queue>) -> SearchView {
|
pub fn new(spotify: Arc<Spotify>, queue: Arc<Queue>) -> SearchView {
|
||||||
let results = Arc::new(RwLock::new(Vec::new()));
|
let results = Arc::new(RwLock::new(Vec::new()));
|
||||||
@@ -30,12 +32,12 @@ impl SearchView {
|
|||||||
if !input.is_empty() {
|
if !input.is_empty() {
|
||||||
s.call_on_id("search", |v: &mut SearchView| {
|
s.call_on_id("search", |v: &mut SearchView| {
|
||||||
v.run_search(input, spotify.clone());
|
v.run_search(input, spotify.clone());
|
||||||
v.focus_view(&Selector::Id("list")).unwrap();
|
v.focus_view(&Selector::Id(LIST_ID)).unwrap();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.with_id("search_edit");
|
.with_id(EDIT_ID);
|
||||||
let list = ListView::new(results.clone(), queue).with_id("list");
|
let list = ListView::new(results.clone(), queue).with_id(LIST_ID);
|
||||||
|
|
||||||
SearchView {
|
SearchView {
|
||||||
results,
|
results,
|
||||||
@@ -49,7 +51,7 @@ impl SearchView {
|
|||||||
let query = query.into();
|
let query = query.into();
|
||||||
let q = query.clone();
|
let q = query.clone();
|
||||||
self.edit
|
self.edit
|
||||||
.call_on(&Selector::Id("search_edit"), |v: &mut EditView| {
|
.call_on(&Selector::Id(EDIT_ID), |v: &mut EditView| {
|
||||||
v.set_content(q);
|
v.set_content(q);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user