Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/Files.App/Data/Contracts/IGeneralSettingsService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,11 @@ public interface IGeneralSettingsService : IBaseSettingsService, INotifyProperty
/// </summary>
bool ShowOpenInNewPane { get; set; }

/// <summary>
/// Gets or sets a value indicating whether or not to show the option to open folders in Windows Terminal.
/// </summary>
bool ShowOpenTerminal { get; set; }

/// <summary>
/// Gets or sets a value indicating whether or not to show the option to copy an items path.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -612,14 +612,16 @@ public static List<ContextMenuFlyoutItemViewModel> GetBaseItemMenuItems(
new ContextMenuFlyoutItemViewModel()
{
ItemType = ContextMenuFlyoutItemType.Separator,
ShowItem = (!itemsSelected && Commands.OpenTerminal.IsExecutable) ||
(areAllItemsFolders && Commands.OpenTerminal.IsExecutable) ||
ShowItem = (!itemsSelected && Commands.OpenTerminal.IsExecutable && UserSettingsService.GeneralSettingsService.ShowOpenTerminal) ||
(areAllItemsFolders && Commands.OpenTerminal.IsExecutable && UserSettingsService.GeneralSettingsService.ShowOpenTerminal) ||
Commands.OpenStorageSense.IsExecutable ||
Commands.FormatDrive.IsExecutable
},
new ContextMenuFlyoutItemViewModelBuilder(Commands.OpenTerminal)
{
IsVisible = (!itemsSelected && Commands.OpenTerminal.IsExecutable) || (areAllItemsFolders && Commands.OpenTerminal.IsExecutable)
IsVisible = UserSettingsService.GeneralSettingsService.ShowOpenTerminal &&
Commands.OpenTerminal.IsExecutable &&
(!itemsSelected || areAllItemsFolders)
}.Build(),
new ContextMenuFlyoutItemViewModelBuilder(Commands.OpenStorageSense).Build(),
new ContextMenuFlyoutItemViewModelBuilder(Commands.FormatDrive).Build(),
Expand Down
6 changes: 6 additions & 0 deletions src/Files.App/Services/Settings/GeneralSettingsService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,12 @@ public bool ShowOpenInNewPane
set => Set(value);
}

public bool ShowOpenTerminal
{
get => Get(true);
set => Set(value);
}

public bool ShowCopyPath
{
get => Get(true);
Expand Down
3 changes: 3 additions & 0 deletions src/Files.App/Strings/en-US/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -4273,4 +4273,7 @@
<data name="Filename" xml:space="preserve">
<value>Filename</value>
</data>
<data name="ShowOpenTerminal" xml:space="preserve">
<value>Show option to open folders in Windows Terminal</value>
</data>
</root>
13 changes: 13 additions & 0 deletions src/Files.App/ViewModels/Settings/GeneralViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,19 @@ public bool ShowOpenInNewWindow
}
}

public bool ShowOpenTerminal
{
get => UserSettingsService.GeneralSettingsService.ShowOpenTerminal;
set
{
if (value != UserSettingsService.GeneralSettingsService.ShowOpenTerminal)
{
UserSettingsService.GeneralSettingsService.ShowOpenTerminal = value;
OnPropertyChanged();
}
}
}

private string selectedShellPaneArrangementType;
public string SelectedShellPaneArrangementType
{
Expand Down
7 changes: 5 additions & 2 deletions src/Files.App/ViewModels/UserControls/SidebarViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1043,11 +1043,14 @@ private List<ContextMenuFlyoutItemViewModel> GetLocationItemMenuItems(INavigatio
new ContextMenuFlyoutItemViewModel()
{
ItemType = ContextMenuFlyoutItemType.Separator,
ShowItem = Commands.OpenTerminalFromSidebar.IsExecutable ||
ShowItem = (UserSettingsService.GeneralSettingsService.ShowOpenTerminal && Commands.OpenTerminalFromSidebar.IsExecutable) ||
Commands.OpenStorageSenseFromSidebar.IsExecutable ||
Commands.FormatDriveFromSidebar.IsExecutable
},
new ContextMenuFlyoutItemViewModelBuilder(Commands.OpenTerminalFromSidebar).Build(),
new ContextMenuFlyoutItemViewModelBuilder(Commands.OpenTerminalFromSidebar)
{
IsVisible = UserSettingsService.GeneralSettingsService.ShowOpenTerminal && Commands.OpenTerminalFromSidebar.IsExecutable
}.Build(),
new ContextMenuFlyoutItemViewModelBuilder(Commands.OpenStorageSenseFromSidebar).Build(),
new ContextMenuFlyoutItemViewModelBuilder(Commands.FormatDriveFromSidebar).Build(),
new ContextMenuFlyoutItemViewModel()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,11 +153,14 @@ public override List<ContextMenuFlyoutItemViewModel> GetItemMenuItems(WidgetCard
new ContextMenuFlyoutItemViewModel()
{
ItemType = ContextMenuFlyoutItemType.Separator,
ShowItem = CommandManager.OpenTerminalFromHome.IsExecutable ||
ShowItem = (UserSettingsService.GeneralSettingsService.ShowOpenTerminal && CommandManager.OpenTerminalFromHome.IsExecutable) ||
CommandManager.OpenStorageSenseFromHome.IsExecutable ||
CommandManager.FormatDriveFromHome.IsExecutable
},
new ContextMenuFlyoutItemViewModelBuilder(CommandManager.OpenTerminalFromHome).Build(),
new ContextMenuFlyoutItemViewModelBuilder(CommandManager.OpenTerminalFromHome)
{
IsVisible = UserSettingsService.GeneralSettingsService.ShowOpenTerminal && CommandManager.OpenTerminalFromHome.IsExecutable
}.Build(),
new ContextMenuFlyoutItemViewModelBuilder(CommandManager.OpenStorageSenseFromHome).Build(),
new ContextMenuFlyoutItemViewModelBuilder(CommandManager.FormatDriveFromHome).Build(),
new()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,9 +154,12 @@ public override List<ContextMenuFlyoutItemViewModel> GetItemMenuItems(WidgetCard
new ContextMenuFlyoutItemViewModel()
{
ItemType = ContextMenuFlyoutItemType.Separator,
ShowItem = CommandManager.OpenTerminalFromHome.IsExecutable
ShowItem = UserSettingsService.GeneralSettingsService.ShowOpenTerminal && CommandManager.OpenTerminalFromHome.IsExecutable,
},
new ContextMenuFlyoutItemViewModelBuilder(CommandManager.OpenTerminalFromHome).Build(),
new ContextMenuFlyoutItemViewModelBuilder(CommandManager.OpenTerminalFromHome)
{
IsVisible = UserSettingsService.GeneralSettingsService.ShowOpenTerminal && CommandManager.OpenTerminalFromHome.IsExecutable
}.Build(),
new()
{
ItemType = ContextMenuFlyoutItemType.Separator,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,12 @@ public override List<ContextMenuFlyoutItemViewModel> GetItemMenuItems(WidgetCard
new ContextMenuFlyoutItemViewModel()
{
ItemType = ContextMenuFlyoutItemType.Separator,
ShowItem = CommandManager.OpenTerminalFromHome.IsExecutable
ShowItem = UserSettingsService.GeneralSettingsService.ShowOpenTerminal && CommandManager.OpenTerminalFromHome.IsExecutable
},
new ContextMenuFlyoutItemViewModelBuilder(CommandManager.OpenTerminalFromHome).Build(),
new ContextMenuFlyoutItemViewModelBuilder(CommandManager.OpenTerminalFromHome)
{
IsVisible = UserSettingsService.GeneralSettingsService.ShowOpenTerminal && CommandManager.OpenTerminalFromHome.IsExecutable
}.Build(),
new()
{
ItemType = ContextMenuFlyoutItemType.Separator,
Expand Down
5 changes: 5 additions & 0 deletions src/Files.App/Views/Settings/GeneralPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,11 @@
<ToggleSwitch AutomationProperties.Name="{helpers:ResourceString Name=ShowSendToMenu}" IsOn="{x:Bind ViewModel.ShowSendToMenu, Mode=TwoWay}" />
</wctcontrols:SettingsCard>

<!-- Open in Windows Terminal -->
<wctcontrols:SettingsCard Header="{helpers:ResourceString Name=ShowOpenTerminal}">
<ToggleSwitch AutomationProperties.Name="{helpers:ResourceString Name=ShowOpenTerminal}" IsOn="{x:Bind ViewModel.ShowOpenTerminal, Mode=TwoWay}" />
</wctcontrols:SettingsCard>

<!-- Edit tags -->
<wctcontrols:SettingsCard Header="{helpers:ResourceString Name=ShowEditTagsMenu}">
<ToggleSwitch AutomationProperties.Name="{helpers:ResourceString Name=ShowEditTagsMenu}" IsOn="{x:Bind ViewModel.ShowEditTagsMenu, Mode=TwoWay}" />
Expand Down
Loading