Always open a new project find on alt-cmd-shift-F
This commit is contained in:
@@ -15,16 +15,18 @@ use std::{
|
||||
use util::ResultExt as _;
|
||||
use workspace::{Item, ItemHandle, ItemNavHistory, ItemView, Settings, Workspace};
|
||||
|
||||
action!(Deploy);
|
||||
action!(Deploy, bool);
|
||||
action!(Search);
|
||||
action!(ToggleSearchOption, SearchOption);
|
||||
action!(ToggleFocus);
|
||||
|
||||
pub fn init(cx: &mut MutableAppContext) {
|
||||
cx.add_bindings([
|
||||
Binding::new("cmd-shift-F", ToggleFocus, Some("ProjectFindView")),
|
||||
Binding::new("cmd-shift-F", ToggleFocus, Some("ProjectFindView")),
|
||||
Binding::new("cmd-f", ToggleFocus, Some("ProjectFindView")),
|
||||
Binding::new("cmd-shift-F", Deploy, Some("Workspace")),
|
||||
Binding::new("cmd-shift-F", Deploy(true), Some("Workspace")),
|
||||
Binding::new("cmd-alt-shift-F", Deploy(false), Some("Workspace")),
|
||||
Binding::new("enter", Search, Some("ProjectFindView")),
|
||||
]);
|
||||
cx.add_action(ProjectFindView::deploy);
|
||||
@@ -333,13 +335,19 @@ impl ItemView for ProjectFindView {
|
||||
}
|
||||
|
||||
impl ProjectFindView {
|
||||
fn deploy(workspace: &mut Workspace, _: &Deploy, cx: &mut ViewContext<Workspace>) {
|
||||
if let Some(existing) = workspace.item_of_type::<ProjectFind>(cx) {
|
||||
workspace.activate_item(&existing, cx);
|
||||
} else {
|
||||
let model = cx.add_model(|cx| ProjectFind::new(workspace.project().clone(), cx));
|
||||
workspace.open_item(model, cx);
|
||||
fn deploy(
|
||||
workspace: &mut Workspace,
|
||||
&Deploy(activate_existing): &Deploy,
|
||||
cx: &mut ViewContext<Workspace>,
|
||||
) {
|
||||
if activate_existing {
|
||||
if let Some(existing) = workspace.item_of_type::<ProjectFind>(cx) {
|
||||
workspace.activate_item(&existing, cx);
|
||||
return;
|
||||
}
|
||||
}
|
||||
let model = cx.add_model(|cx| ProjectFind::new(workspace.project().clone(), cx));
|
||||
workspace.open_item(model, cx);
|
||||
}
|
||||
|
||||
fn search(&mut self, _: &Search, cx: &mut ViewContext<Self>) {
|
||||
|
||||
Reference in New Issue
Block a user