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