separate search and search results

fixes #219
This commit is contained in:
Henrik Friedrichsen
2021-01-07 23:21:05 +01:00
parent 2b20670743
commit 18dc6c6bf8
6 changed files with 555 additions and 539 deletions

View File

@@ -3,14 +3,16 @@ use std::sync::Arc;
use std::time::Duration;
use crate::config::Config;
use crate::events::EventManager;
use crate::library::Library;
use crate::queue::{Queue, RepeatSetting};
use crate::spotify::{Spotify, VOLUME_PERCENT};
use crate::traits::ViewExt;
use crate::traits::{ViewExt, IntoBoxedViewExt};
use crate::ui::contextmenu::ContextMenu;
use crate::ui::help::HelpView;
use crate::ui::layout::Layout;
use crate::ui::modal::Modal;
use crate::ui::search_results::SearchResultsView;
use crate::UserData;
use crate::{
command::{
@@ -39,6 +41,7 @@ pub struct CommandManager {
queue: Arc<Queue>,
library: Arc<Library>,
config: Arc<Config>,
events: EventManager,
}
impl CommandManager {
@@ -47,6 +50,7 @@ impl CommandManager {
queue: Arc<Queue>,
library: Arc<Library>,
config: Arc<Config>,
events: EventManager,
) -> CommandManager {
let bindings = RefCell::new(Self::get_bindings(config.clone()));
CommandManager {
@@ -56,6 +60,7 @@ impl CommandManager {
queue,
library,
config,
events,
}
}
@@ -204,6 +209,16 @@ impl CommandManager {
}
Ok(None)
}
Command::Search(term) => {
let view = SearchResultsView::new(
term.clone(),
self.events.clone(),
self.queue.clone(),
self.library.clone(),
);
s.call_on_name("main", |v: &mut Layout| v.push_view(view.as_boxed_view_ext()));
Ok(None)
}
Command::Jump(_)
| Command::Move(_, _)
| Command::Shift(_, _)