Migrate to cursive 0.17
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
use cursive::traits::Boxable;
|
||||
use cursive::view::Identifiable;
|
||||
use cursive::traits::Resizable;
|
||||
use cursive::view::Nameable;
|
||||
use cursive::views::*;
|
||||
use cursive::{Cursive, CursiveExt};
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ use std::sync::Arc;
|
||||
|
||||
use clap::{App, Arg};
|
||||
use cursive::event::EventTrigger;
|
||||
use cursive::traits::Identifiable;
|
||||
use cursive::traits::Nameable;
|
||||
use librespot_core::authentication::Credentials;
|
||||
use librespot_core::cache::Cache;
|
||||
use librespot_playback::audio_backend;
|
||||
@@ -93,9 +93,6 @@ struct UserDataInner {
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), String> {
|
||||
#[cfg(not(windows))]
|
||||
print!("\x1b]2;ncspot\x07");
|
||||
|
||||
let backends = {
|
||||
let backends: Vec<&str> = audio_backend::BACKENDS.iter().map(|b| b.0).collect();
|
||||
format!("Audio backends: {}", backends.join(", "))
|
||||
@@ -173,6 +170,8 @@ async fn main() -> Result<(), String> {
|
||||
}
|
||||
|
||||
let mut cursive = cursive::default().into_runner();
|
||||
cursive.set_window_title("ncspot");
|
||||
|
||||
let theme = cfg.build_theme();
|
||||
cursive.set_theme(theme.clone());
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ use cursive::event::{AnyCb, Event, EventResult};
|
||||
use cursive::theme::{ColorStyle, ColorType, Theme};
|
||||
use cursive::traits::View;
|
||||
use cursive::vec::Vec2;
|
||||
use cursive::view::{IntoBoxedView, Selector};
|
||||
use cursive::view::{CannotFocus, IntoBoxedView, Selector};
|
||||
use cursive::views::EditView;
|
||||
use cursive::{Cursive, Printer};
|
||||
use log::debug;
|
||||
@@ -311,6 +311,7 @@ impl View for Layout {
|
||||
}
|
||||
|
||||
if self.cmdline_focus {
|
||||
debug!("cmdline event");
|
||||
return self.cmdline.on_event(event);
|
||||
}
|
||||
|
||||
@@ -327,7 +328,7 @@ impl View for Layout {
|
||||
}
|
||||
}
|
||||
|
||||
fn take_focus(&mut self, source: Direction) -> bool {
|
||||
fn take_focus(&mut self, source: Direction) -> Result<EventResult, CannotFocus> {
|
||||
if self.cmdline_focus {
|
||||
return self.cmdline.take_focus(source);
|
||||
}
|
||||
@@ -335,7 +336,7 @@ impl View for Layout {
|
||||
if let Some(view) = self.get_current_view_mut() {
|
||||
view.take_focus(source)
|
||||
} else {
|
||||
false
|
||||
Err(CannotFocus)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -315,9 +315,9 @@ impl<I: ListItem> View for ListView<I> {
|
||||
|
||||
fn important_area(&self, view_size: Vec2) -> Rect {
|
||||
if self.content.read().unwrap().len() > 0 {
|
||||
Rect::from((view_size.x, self.selected))
|
||||
Rect::from_point((view_size.x, self.selected))
|
||||
} else {
|
||||
Rect::from((0, 0))
|
||||
Rect::from_point((0, 0))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use cursive::traits::{Boxable, Identifiable};
|
||||
use cursive::traits::{Nameable, Resizable};
|
||||
use cursive::view::{Margins, ViewWrapper};
|
||||
use cursive::views::{Dialog, EditView, ScrollView, SelectView};
|
||||
use cursive::Cursive;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
use cursive::direction::Orientation;
|
||||
use cursive::event::{AnyCb, Event, EventResult, Key};
|
||||
use cursive::traits::{Boxable, Finder, Identifiable, View};
|
||||
use cursive::traits::{Finder, Nameable, View};
|
||||
use cursive::view::{IntoBoxedView, Selector, ViewNotFound, ViewWrapper};
|
||||
use cursive::views::{EditView, NamedView, ViewRef};
|
||||
use cursive::{Cursive, Printer, Vec2};
|
||||
@@ -98,10 +98,10 @@ impl View for SearchView {
|
||||
self.edit.call_on_any(selector, &mut |v| callback(v));
|
||||
}
|
||||
|
||||
fn focus_view(&mut self, selector: &Selector<'_>) -> Result<(), ViewNotFound> {
|
||||
fn focus_view(&mut self, selector: &Selector<'_>) -> Result<EventResult, ViewNotFound> {
|
||||
if let Selector::Name(s) = selector {
|
||||
self.edit_focused = s == &"search_edit";
|
||||
Ok(())
|
||||
Ok(EventResult::Consumed(None))
|
||||
} else {
|
||||
Err(ViewNotFound)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user