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
|
@ -7,7 +7,10 @@ use language_model::{LanguageModelRegistry, LanguageModelRequestTool};
|
|||
use language_model_selector::{LanguageModelSelector, LanguageModelSelectorPopoverMenu};
|
||||
use settings::{update_settings_file, Settings};
|
||||
use theme::ThemeSettings;
|
||||
use ui::{prelude::*, ButtonLike, CheckboxWithLabel, ElevationIndex, KeyBinding, Tooltip};
|
||||
use ui::{
|
||||
prelude::*, ButtonLike, CheckboxWithLabel, ElevationIndex, KeyBinding, PopoverMenuHandle,
|
||||
Tooltip,
|
||||
};
|
||||
use workspace::Workspace;
|
||||
|
||||
use crate::assistant_settings::AssistantSettings;
|
||||
|
@ -23,6 +26,7 @@ pub struct MessageEditor {
|
|||
context_store: Model<ContextStore>,
|
||||
context_strip: View<ContextStrip>,
|
||||
language_model_selector: View<LanguageModelSelector>,
|
||||
language_model_selector_menu_handle: PopoverMenuHandle<LanguageModelSelector>,
|
||||
use_tools: bool,
|
||||
}
|
||||
|
||||
|
@ -67,10 +71,15 @@ impl MessageEditor {
|
|||
cx,
|
||||
)
|
||||
}),
|
||||
language_model_selector_menu_handle: PopoverMenuHandle::default(),
|
||||
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>) {
|
||||
self.send_to_model(RequestKind::Chat, cx);
|
||||
}
|
||||
|
@ -163,6 +172,7 @@ impl MessageEditor {
|
|||
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()
|
||||
.key_context("MessageEditor")
|
||||
.on_action(cx.listener(Self::chat))
|
||||
.on_action(cx.listener(Self::toggle_model_selector))
|
||||
.size_full()
|
||||
.gap_2()
|
||||
.p_2()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue