From e7b004756247b04ecfa031424a6c950c6dfbf0ce Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Mon, 25 Nov 2024 16:28:38 -0500 Subject: [PATCH] assistant2: Remove unnecessary `Pane` (#21183) This PR removes an unnecessary `Pane` that was copied over from `assistant::AssistantPanel` to `assistant2::AssistantPanel`. Release Notes: - N/A --- crates/assistant2/src/assistant_panel.rs | 35 ++---------------------- crates/assistant2/src/message_editor.rs | 8 +++++- 2 files changed, 10 insertions(+), 33 deletions(-) diff --git a/crates/assistant2/src/assistant_panel.rs b/crates/assistant2/src/assistant_panel.rs index abbb2f20db..20ce26fc59 100644 --- a/crates/assistant2/src/assistant_panel.rs +++ b/crates/assistant2/src/assistant_panel.rs @@ -7,7 +7,7 @@ use language_model::LanguageModelRegistry; use language_model_selector::LanguageModelSelector; use ui::{prelude::*, ButtonLike, Divider, IconButtonShape, Tab, Tooltip}; use workspace::dock::{DockPosition, Panel, PanelEvent}; -use workspace::{Pane, Workspace}; +use workspace::Workspace; use crate::message_editor::MessageEditor; use crate::thread::Thread; @@ -25,7 +25,6 @@ pub fn init(cx: &mut AppContext) { } pub struct AssistantPanel { - pane: View, thread: Model, message_editor: View, _subscriptions: Vec, @@ -43,27 +42,11 @@ impl AssistantPanel { }) } - fn new(workspace: &Workspace, cx: &mut ViewContext) -> Self { - let pane = cx.new_view(|cx| { - let mut pane = Pane::new( - workspace.weak_handle(), - workspace.project().clone(), - Default::default(), - None, - NewThread.boxed_clone(), - cx, - ); - pane.set_can_split(false, cx); - pane.set_can_navigate(true, cx); - - pane - }); - + fn new(_workspace: &Workspace, cx: &mut ViewContext) -> Self { let thread = cx.new_model(Thread::new); let subscriptions = vec![cx.observe(&thread, |_, _, cx| cx.notify())]; Self { - pane, thread: thread.clone(), message_editor: cx.new_view(|cx| MessageEditor::new(thread, cx)), _subscriptions: subscriptions, @@ -73,7 +56,7 @@ impl AssistantPanel { impl FocusableView for AssistantPanel { fn focus_handle(&self, cx: &AppContext) -> FocusHandle { - self.pane.focus_handle(cx) + self.message_editor.focus_handle(cx) } } @@ -100,20 +83,8 @@ impl Panel for AssistantPanel { fn set_size(&mut self, _size: Option, _cx: &mut ViewContext) {} - fn is_zoomed(&self, cx: &WindowContext) -> bool { - self.pane.read(cx).is_zoomed() - } - - fn set_zoomed(&mut self, zoomed: bool, cx: &mut ViewContext) { - self.pane.update(cx, |pane, cx| pane.set_zoomed(zoomed, cx)); - } - fn set_active(&mut self, _active: bool, _cx: &mut ViewContext) {} - fn pane(&self) -> Option> { - Some(self.pane.clone()) - } - fn remote_id() -> Option { Some(proto::PanelId::AssistantPanel) } diff --git a/crates/assistant2/src/message_editor.rs b/crates/assistant2/src/message_editor.rs index d195682cb3..e1606ff27a 100644 --- a/crates/assistant2/src/message_editor.rs +++ b/crates/assistant2/src/message_editor.rs @@ -1,5 +1,5 @@ use editor::{Editor, EditorElement, EditorStyle}; -use gpui::{AppContext, Model, TextStyle, View}; +use gpui::{AppContext, FocusableView, Model, TextStyle, View}; use language_model::{ LanguageModelRegistry, LanguageModelRequest, LanguageModelRequestMessage, MessageContent, Role, }; @@ -97,6 +97,12 @@ impl MessageEditor { } } +impl FocusableView for MessageEditor { + fn focus_handle(&self, cx: &AppContext) -> gpui::FocusHandle { + self.editor.focus_handle(cx) + } +} + impl Render for MessageEditor { fn render(&mut self, cx: &mut ViewContext) -> impl IntoElement { let font_size = TextSize::Default.rems(cx);