diff --git a/src/authentication.rs b/src/authentication.rs index d0c0957..525735a 100644 --- a/src/authentication.rs +++ b/src/authentication.rs @@ -10,7 +10,7 @@ use librespot_protocol::authentication::AuthenticationType; pub fn create_credentials(path: &Path) -> Result { let mut login_cursive = Cursive::default(); - let mut info_buf = TextContent::new("Failed to authenticate\n"); + let info_buf = TextContent::new("Failed to authenticate\n"); info_buf.append(format!( "Cannot read config file from {}\n", path.to_str().unwrap() @@ -23,23 +23,23 @@ pub fn create_credentials(path: &Path) -> Result { ListView::new() .child( "Username", - EditView::new().with_id("spotify_user").fixed_width(18), + EditView::new().with_name("spotify_user").fixed_width(18), ) .child( "Password", EditView::new() .secret() - .with_id("spotify_password") + .with_name("spotify_password") .fixed_width(18), ), ) .button("Login", |s| { let username = s - .call_on_id("spotify_user", |view: &mut EditView| view.get_content()) + .call_on_name("spotify_user", |view: &mut EditView| view.get_content()) .unwrap() .to_string(); let auth_data = s - .call_on_id("spotify_password", |view: &mut EditView| view.get_content()) + .call_on_name("spotify_password", |view: &mut EditView| view.get_content()) .unwrap() .to_string() .as_bytes() diff --git a/src/commands.rs b/src/commands.rs index ee7ee22..437da5d 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -137,7 +137,7 @@ impl CommandManager { fn handle_callbacks(&self, s: &mut Cursive, cmd: &Command) -> Result, String> { let local = { - let mut main: ViewRef = s.find_id("main").unwrap(); + let mut main: ViewRef = s.find_name("main").unwrap(); main.on_command(s, cmd)? }; @@ -147,7 +147,7 @@ impl CommandManager { s.add_layer(modal); Ok(None) } else if let CommandResult::View(view) = local { - s.call_on_id("main", move |v: &mut Layout| { + s.call_on_name("main", move |v: &mut Layout| { v.push_view(view); }); @@ -160,7 +160,7 @@ impl CommandManager { pub fn handle(&self, s: &mut Cursive, cmd: Command) { let result = self.handle_callbacks(s, &cmd); - s.call_on_id("main", |v: &mut Layout| { + s.call_on_name("main", |v: &mut Layout| { v.set_result(result); }); @@ -213,8 +213,14 @@ impl CommandManager { kb.insert("/".into(), Command::Focus("search".into())); kb.insert("f".into(), Command::Seek(SeekDirection::Relative(1000))); kb.insert("b".into(), Command::Seek(SeekDirection::Relative(-1000))); - kb.insert("Shift+f".into(), Command::Seek(SeekDirection::Relative(10000))); - kb.insert("Shift+b".into(), Command::Seek(SeekDirection::Relative(-10000))); + kb.insert( + "Shift+f".into(), + Command::Seek(SeekDirection::Relative(10000)), + ); + kb.insert( + "Shift+b".into(), + Command::Seek(SeekDirection::Relative(-10000)), + ); kb.insert("+".into(), Command::VolumeUp); kb.insert("-".into(), Command::VolumeDown); kb.insert("r".into(), Command::Repeat(None)); diff --git a/src/main.rs b/src/main.rs index b997591..b1b7fcf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -220,21 +220,21 @@ fn main() { ); let mut layout = ui::layout::Layout::new(status, &event_manager, theme) - .view("search", search.with_id("search"), "Search") - .view("library", libraryview.with_id("library"), "Library") + .view("search", search.with_name("search"), "Search") + .view("library", libraryview.with_name("library"), "Library") .view("queue", queueview, "Queue"); // initial view is library layout.set_view("library"); cursive.add_global_callback(':', move |s| { - s.call_on_id("main", |v: &mut ui::layout::Layout| { + s.call_on_name("main", |v: &mut ui::layout::Layout| { v.enable_cmdline(); }); }); layout.cmdline.set_on_edit(move |s, cmd, _| { - s.call_on_id("main", |v: &mut ui::layout::Layout| { + s.call_on_name("main", |v: &mut ui::layout::Layout| { if cmd.is_empty() { v.clear_cmdline(); } @@ -246,7 +246,7 @@ fn main() { let cmd_manager = cmd_manager.clone(); layout.cmdline.set_on_submit(move |s, cmd| { { - let mut main = s.find_id::("main").unwrap(); + let mut main = s.find_name::("main").unwrap(); main.clear_cmdline(); } let c = &cmd[1..]; @@ -258,7 +258,7 @@ fn main() { }); } - cursive.add_fullscreen_layer(layout.with_id("main")); + cursive.add_fullscreen_layer(layout.with_name("main")); // cursive event loop while cursive.is_running() { diff --git a/src/traits.rs b/src/traits.rs index e4c8301..c5b27c3 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use cursive::view::{View, ViewWrapper}; -use cursive::views::IdView; +use cursive::views::NamedView; use cursive::Cursive; use album::Album; @@ -49,7 +49,7 @@ pub trait ViewExt: View { } } -impl ViewExt for IdView { +impl ViewExt for NamedView { fn on_command(&mut self, s: &mut Cursive, cmd: &Command) -> Result { self.with_view_mut(move |v| v.on_command(s, cmd)).unwrap() } diff --git a/src/ui/contextmenu.rs b/src/ui/contextmenu.rs index 384a835..ba07b99 100644 --- a/src/ui/contextmenu.rs +++ b/src/ui/contextmenu.rs @@ -72,7 +72,7 @@ impl ContextMenu { match action { ContextMenuAction::ShowItem(item) => { if let Some(view) = item.open(queue, library) { - s.call_on_id("main", move |v: &mut Layout| v.push_view(view)); + s.call_on_name("main", move |v: &mut Layout| v.push_view(view)); } } ContextMenuAction::ShareUrl(url) => { diff --git a/src/ui/queue.rs b/src/ui/queue.rs index 4805c8f..9d3e201 100644 --- a/src/ui/queue.rs +++ b/src/ui/queue.rs @@ -51,7 +51,7 @@ impl QueueView { library.save_playlist(name, &tracks); s.pop_layer(); }) - .with_id("name") + .with_name("name") .fixed_width(20); let dialog = Dialog::new() .title("Enter name") diff --git a/src/ui/search.rs b/src/ui/search.rs index 2dffcb1..52c7da2 100644 --- a/src/ui/search.rs +++ b/src/ui/search.rs @@ -4,7 +4,7 @@ use cursive::direction::Orientation; use cursive::event::{AnyCb, Event, EventResult, Key}; use cursive::traits::{Boxable, Finder, Identifiable, View}; use cursive::view::{Selector, ViewWrapper}; -use cursive::views::{EditView, IdView, ViewRef}; +use cursive::views::{EditView, NamedView, ViewRef}; use cursive::{Cursive, Printer, Vec2}; use std::cell::RefCell; use std::sync::{Arc, Mutex, RwLock}; @@ -32,8 +32,8 @@ pub struct SearchView { pagination_artists: Pagination, results_playlists: Arc>>, pagination_playlists: Pagination, - edit: IdView, - tabs: IdView, + edit: NamedView, + tabs: NamedView, edit_focused: bool, events: EventManager, spotify: Arc, @@ -59,13 +59,13 @@ impl SearchView { let searchfield = EditView::new() .on_submit(move |s, input| { if !input.is_empty() { - s.call_on_id("search", |v: &mut SearchView| { + s.call_on_name("search", |v: &mut SearchView| { v.run_search(input); - v.focus_view(&Selector::Id(LIST_ID)).unwrap(); + v.focus_view(&Selector::Name(LIST_ID)).unwrap(); }); } }) - .with_id(EDIT_ID); + .with_name(EDIT_ID); let list_tracks = ListView::new(results_tracks.clone(), queue.clone(), library.clone()); let pagination_tracks = list_tracks.get_pagination().clone(); @@ -93,7 +93,7 @@ impl SearchView { results_playlists, pagination_playlists, edit: searchfield, - tabs: tabs.with_id(LIST_ID), + tabs: tabs.with_name(LIST_ID), edit_focused: true, events, spotify, @@ -102,7 +102,7 @@ impl SearchView { pub fn clear(&mut self) { self.edit - .call_on(&Selector::Id(EDIT_ID), |v: &mut EditView| { + .call_on(&Selector::Name(EDIT_ID), |v: &mut EditView| { v.set_content(""); }); } @@ -298,7 +298,7 @@ impl SearchView { { let query = query.clone(); self.edit - .call_on(&Selector::Id(EDIT_ID), |v: &mut EditView| { + .call_on(&Selector::Name(EDIT_ID), |v: &mut EditView| { v.set_content(query); }); } @@ -420,13 +420,13 @@ impl View for SearchView { } } - fn call_on_any<'a>(&mut self, selector: &Selector<'_>, mut callback: AnyCb<'a>) { + fn call_on_any<'a>(&mut self, selector: &Selector<'_>, callback: AnyCb<'a>) { self.edit.call_on_any(selector, &mut |v| callback(v)); self.tabs.call_on_any(selector, &mut |v| callback(v)); } fn focus_view(&mut self, selector: &Selector<'_>) -> Result<(), ()> { - if let Selector::Id(s) = selector { + if let Selector::Name(s) = selector { self.edit_focused = s == &"search_edit"; Ok(()) } else {