Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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 = (!itemsSelected || areAllItemsFolders) &&
Commands.OpenTerminal.IsExecutable &&
UserSettingsService.GeneralSettingsService.ShowOpenTerminal
}.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