Ensure disable_ai
is properly respected (#34941)
Quick follow up to #34896 which ensures that the Agent Panel cannot be caught by actions like `workspace: toggle left dock` when `disable_ai` is set to true. Also removes a method that was introduced but unused in the workspace because `first_enabled_panel_idx` already covers all cases this method could be useful for. Release Notes: - N/A
This commit is contained in:
parent
c2c2264a60
commit
2bc6e18ac9
2 changed files with 3 additions and 12 deletions
|
@ -1,5 +1,5 @@
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
use std::ops::Range;
|
use std::ops::{Not, Range};
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
@ -1666,10 +1666,7 @@ impl Panel for AgentPanel {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn icon(&self, _window: &Window, cx: &App) -> Option<IconName> {
|
fn icon(&self, _window: &Window, cx: &App) -> Option<IconName> {
|
||||||
(self.enabled(cx)
|
(self.enabled(cx) && AgentSettings::get_global(cx).button).then_some(IconName::ZedAssistant)
|
||||||
&& AgentSettings::get_global(cx).button
|
|
||||||
&& !DisableAiSettings::get_global(cx).disable_ai)
|
|
||||||
.then_some(IconName::ZedAssistant)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn icon_tooltip(&self, _window: &Window, _cx: &App) -> Option<&'static str> {
|
fn icon_tooltip(&self, _window: &Window, _cx: &App) -> Option<&'static str> {
|
||||||
|
@ -1685,7 +1682,7 @@ impl Panel for AgentPanel {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn enabled(&self, cx: &App) -> bool {
|
fn enabled(&self, cx: &App) -> bool {
|
||||||
AgentSettings::get_global(cx).enabled
|
DisableAiSettings::get_global(cx).disable_ai.not() && AgentSettings::get_global(cx).enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_zoomed(&self, _window: &Window, _cx: &App) -> bool {
|
fn is_zoomed(&self, _window: &Window, _cx: &App) -> bool {
|
||||||
|
|
|
@ -374,12 +374,6 @@ impl Dock {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn first_enabled_panel_idx_excluding(&self, exclude_name: &str, cx: &App) -> Option<usize> {
|
|
||||||
self.panel_entries.iter().position(|entry| {
|
|
||||||
entry.panel.persistent_name() != exclude_name && entry.panel.enabled(cx)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
fn active_panel_entry(&self) -> Option<&PanelEntry> {
|
fn active_panel_entry(&self) -> Option<&PanelEntry> {
|
||||||
self.active_panel_index
|
self.active_panel_index
|
||||||
.and_then(|index| self.panel_entries.get(index))
|
.and_then(|index| self.panel_entries.get(index))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue