Use split direction preferences more (#16679)
Use new split direction preferences in more places (#16345) Release Notes: - N/A
This commit is contained in:
parent
93642c9c51
commit
c697eaba82
6 changed files with 54 additions and 41 deletions
|
@ -5,10 +5,7 @@ use crate::{
|
|||
},
|
||||
notifications::NotifyResultExt,
|
||||
toolbar::Toolbar,
|
||||
workspace_settings::{
|
||||
AutosaveSetting, PaneSplitDirectionHorizontal, PaneSplitDirectionVertical, TabBarSettings,
|
||||
WorkspaceSettings,
|
||||
},
|
||||
workspace_settings::{AutosaveSetting, TabBarSettings, WorkspaceSettings},
|
||||
CloseWindow, CopyPath, CopyRelativePath, NewFile, NewTerminal, OpenInTerminal, OpenTerminal,
|
||||
OpenVisible, SplitDirection, ToggleFileFinder, ToggleProjectSymbols, ToggleZoom, Workspace,
|
||||
};
|
||||
|
@ -2251,21 +2248,10 @@ impl Render for Pane {
|
|||
.on_action(cx.listener(|pane, _: &SplitLeft, cx| pane.split(SplitDirection::Left, cx)))
|
||||
.on_action(cx.listener(|pane, _: &SplitUp, cx| pane.split(SplitDirection::Up, cx)))
|
||||
.on_action(cx.listener(|pane, _: &SplitHorizontal, cx| {
|
||||
let split_direction =
|
||||
WorkspaceSettings::get(None, cx).pane_split_direction_horizontal;
|
||||
match split_direction {
|
||||
PaneSplitDirectionHorizontal::Down => pane.split(SplitDirection::Down, cx),
|
||||
_ => pane.split(SplitDirection::Up, cx),
|
||||
}
|
||||
pane.split(SplitDirection::horizontal(cx), cx)
|
||||
}))
|
||||
.on_action(cx.listener(|pane, _: &SplitVertical, cx| {
|
||||
let split_direction =
|
||||
WorkspaceSettings::get(None, cx).pane_split_direction_vertical;
|
||||
|
||||
match split_direction {
|
||||
PaneSplitDirectionVertical::Right => pane.split(SplitDirection::Right, cx),
|
||||
_ => pane.split(SplitDirection::Left, cx),
|
||||
}
|
||||
pane.split(SplitDirection::vertical(cx), cx)
|
||||
}))
|
||||
.on_action(
|
||||
cx.listener(|pane, _: &SplitRight, cx| pane.split(SplitDirection::Right, cx)),
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
use crate::{pane_group::element::pane_axis, AppState, FollowerState, Pane, Workspace};
|
||||
use crate::{
|
||||
pane_group::element::pane_axis,
|
||||
workspace_settings::{PaneSplitDirectionHorizontal, PaneSplitDirectionVertical},
|
||||
AppState, FollowerState, Pane, Workspace, WorkspaceSettings,
|
||||
};
|
||||
use anyhow::{anyhow, Result};
|
||||
use call::{ActiveCall, ParticipantLocation};
|
||||
use client::proto::PeerId;
|
||||
|
@ -10,6 +14,7 @@ use gpui::{
|
|||
use parking_lot::Mutex;
|
||||
use project::Project;
|
||||
use serde::Deserialize;
|
||||
use settings::Settings;
|
||||
use std::sync::Arc;
|
||||
use ui::prelude::*;
|
||||
|
||||
|
@ -561,6 +566,20 @@ impl SplitDirection {
|
|||
[Self::Up, Self::Down, Self::Left, Self::Right]
|
||||
}
|
||||
|
||||
pub fn vertical(cx: &WindowContext) -> Self {
|
||||
match WorkspaceSettings::get_global(cx).pane_split_direction_vertical {
|
||||
PaneSplitDirectionVertical::Left => SplitDirection::Left,
|
||||
PaneSplitDirectionVertical::Right => SplitDirection::Right,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn horizontal(cx: &WindowContext) -> Self {
|
||||
match WorkspaceSettings::get_global(cx).pane_split_direction_horizontal {
|
||||
PaneSplitDirectionHorizontal::Down => SplitDirection::Down,
|
||||
PaneSplitDirectionHorizontal::Up => SplitDirection::Up,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn edge(&self, rect: Bounds<Pixels>) -> Pixels {
|
||||
match self {
|
||||
Self::Up => rect.origin.y,
|
||||
|
|
|
@ -136,6 +136,8 @@ actions!(
|
|||
FollowNextCollaborator,
|
||||
NewCenterTerminal,
|
||||
NewFile,
|
||||
NewFileSplitVertical,
|
||||
NewFileSplitHorizontal,
|
||||
NewSearch,
|
||||
NewTerminal,
|
||||
NewWindow,
|
||||
|
@ -168,9 +170,6 @@ pub struct ActivatePaneInDirection(pub SplitDirection);
|
|||
#[derive(Clone, Deserialize, PartialEq)]
|
||||
pub struct SwapPaneInDirection(pub SplitDirection);
|
||||
|
||||
#[derive(Clone, Deserialize, PartialEq)]
|
||||
pub struct NewFileInDirection(pub SplitDirection);
|
||||
|
||||
#[derive(Clone, PartialEq, Debug, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct SaveAll {
|
||||
|
@ -220,7 +219,6 @@ impl_actions!(
|
|||
ActivatePaneInDirection,
|
||||
CloseAllItemsAndPanes,
|
||||
CloseInactiveTabsAndPanes,
|
||||
NewFileInDirection,
|
||||
OpenTerminal,
|
||||
Reload,
|
||||
Save,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue