assistant2: Add keybinding to toggle LanguageModelSelector
(#22122)
This PR adds a keybinding to toggle the `LanguageModelSelector` in Assistant2. Release Notes: - N/A
This commit is contained in:
parent
d11deff3c2
commit
0ca0433912
2 changed files with 14 additions and 2 deletions
|
@ -224,7 +224,8 @@
|
||||||
"use_key_equivalents": true,
|
"use_key_equivalents": true,
|
||||||
"bindings": {
|
"bindings": {
|
||||||
"cmd-n": "assistant2::NewThread",
|
"cmd-n": "assistant2::NewThread",
|
||||||
"cmd-shift-h": "assistant2::OpenHistory"
|
"cmd-shift-h": "assistant2::OpenHistory",
|
||||||
|
"cmd-shift-m": "assistant2::ToggleModelSelector"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,7 +7,10 @@ use language_model::{LanguageModelRegistry, LanguageModelRequestTool};
|
||||||
use language_model_selector::{LanguageModelSelector, LanguageModelSelectorPopoverMenu};
|
use language_model_selector::{LanguageModelSelector, LanguageModelSelectorPopoverMenu};
|
||||||
use settings::{update_settings_file, Settings};
|
use settings::{update_settings_file, Settings};
|
||||||
use theme::ThemeSettings;
|
use theme::ThemeSettings;
|
||||||
use ui::{prelude::*, ButtonLike, CheckboxWithLabel, ElevationIndex, KeyBinding, Tooltip};
|
use ui::{
|
||||||
|
prelude::*, ButtonLike, CheckboxWithLabel, ElevationIndex, KeyBinding, PopoverMenuHandle,
|
||||||
|
Tooltip,
|
||||||
|
};
|
||||||
use workspace::Workspace;
|
use workspace::Workspace;
|
||||||
|
|
||||||
use crate::assistant_settings::AssistantSettings;
|
use crate::assistant_settings::AssistantSettings;
|
||||||
|
@ -23,6 +26,7 @@ pub struct MessageEditor {
|
||||||
context_store: Model<ContextStore>,
|
context_store: Model<ContextStore>,
|
||||||
context_strip: View<ContextStrip>,
|
context_strip: View<ContextStrip>,
|
||||||
language_model_selector: View<LanguageModelSelector>,
|
language_model_selector: View<LanguageModelSelector>,
|
||||||
|
language_model_selector_menu_handle: PopoverMenuHandle<LanguageModelSelector>,
|
||||||
use_tools: bool,
|
use_tools: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,10 +71,15 @@ impl MessageEditor {
|
||||||
cx,
|
cx,
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
|
language_model_selector_menu_handle: PopoverMenuHandle::default(),
|
||||||
use_tools: false,
|
use_tools: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn toggle_model_selector(&mut self, _: &ToggleModelSelector, cx: &mut ViewContext<Self>) {
|
||||||
|
self.language_model_selector_menu_handle.toggle(cx);
|
||||||
|
}
|
||||||
|
|
||||||
fn chat(&mut self, _: &Chat, cx: &mut ViewContext<Self>) {
|
fn chat(&mut self, _: &Chat, cx: &mut ViewContext<Self>) {
|
||||||
self.send_to_model(RequestKind::Chat, cx);
|
self.send_to_model(RequestKind::Chat, cx);
|
||||||
}
|
}
|
||||||
|
@ -163,6 +172,7 @@ impl MessageEditor {
|
||||||
Tooltip::for_action_in("Change Model", &ToggleModelSelector, &focus_handle, cx)
|
Tooltip::for_action_in("Change Model", &ToggleModelSelector, &focus_handle, cx)
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
.with_handle(self.language_model_selector_menu_handle.clone())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,6 +192,7 @@ impl Render for MessageEditor {
|
||||||
v_flex()
|
v_flex()
|
||||||
.key_context("MessageEditor")
|
.key_context("MessageEditor")
|
||||||
.on_action(cx.listener(Self::chat))
|
.on_action(cx.listener(Self::chat))
|
||||||
|
.on_action(cx.listener(Self::toggle_model_selector))
|
||||||
.size_full()
|
.size_full()
|
||||||
.gap_2()
|
.gap_2()
|
||||||
.p_2()
|
.p_2()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue