Make outline modal work in channel notes (#39481)
This fixes an issue where the outline modal would not work in editors that had no explicit workspace attached to them. Release Notes: - Enabled the outline modal to work in channel notes.
This commit is contained in:
@@ -20,7 +20,7 @@ use settings::Settings;
|
||||
use theme::{ActiveTheme, ThemeSettings};
|
||||
use ui::{ListItem, ListItemSpacing, prelude::*};
|
||||
use util::ResultExt;
|
||||
use workspace::{DismissDecision, ModalView};
|
||||
use workspace::{DismissDecision, ModalView, Workspace};
|
||||
|
||||
pub fn init(cx: &mut App) {
|
||||
cx.observe_new(OutlineView::register).detach();
|
||||
@@ -48,7 +48,8 @@ pub fn toggle(
|
||||
.snapshot(cx)
|
||||
.outline(Some(cx.theme().syntax()));
|
||||
|
||||
if let Some((workspace, outline)) = editor.read(cx).workspace().zip(outline) {
|
||||
let workspace = window.root::<Workspace>().flatten();
|
||||
if let Some((workspace, outline)) = workspace.zip(outline) {
|
||||
workspace.update(cx, |workspace, cx| {
|
||||
workspace.toggle_modal(window, cx, |window, cx| {
|
||||
OutlineView::new(outline, editor, window, cx)
|
||||
|
||||
Reference in New Issue
Block a user