use constants for listview IDs and search edit

This commit is contained in:
Henrik Friedrichsen
2019-03-26 21:28:25 +01:00
parent 5c6aa593d8
commit 0e3c9fc504
4 changed files with 21 additions and 18 deletions

View File

@@ -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 }
}

View File

@@ -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) => {

View File

@@ -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);
});