Flow.Launcher/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
2025-03-13 12:53:26 +08:00

283 lines
13 KiB
XML

<ui:Page
x:Class="Flow.Launcher.SettingPages.Views.SettingsPaneGeneral"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:cc="clr-namespace:Flow.Launcher.Resources.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ext="clr-namespace:Flow.Launcher.Resources.MarkupExtensions"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:settingsViewModels="clr-namespace:Flow.Launcher.SettingPages.ViewModels"
xmlns:ui="http://schemas.modernwpf.com/2019"
xmlns:userSettings="clr-namespace:Flow.Launcher.Infrastructure.UserSettings;assembly=Flow.Launcher.Infrastructure"
Title="General"
d:DataContext="{d:DesignInstance settingsViewModels:SettingsPaneGeneralViewModel}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<ScrollViewer
Margin="0"
CanContentScroll="False"
FontSize="14"
VirtualizingPanel.ScrollUnit="Pixel"
VirtualizingStackPanel.IsVirtualizing="True">
<VirtualizingStackPanel Margin="5 18 25 30" Orientation="Vertical">
<TextBlock
Grid.Row="2"
Margin="0 5"
FontSize="30"
Style="{StaticResource PageTitle}"
Text="{DynamicResource general}"
TextAlignment="left" />
<cc:Card Title="{DynamicResource startFlowLauncherOnSystemStartup}" Icon="&#xe8fc;">
<ui:ToggleSwitch
IsOn="{Binding StartFlowLauncherOnSystemStartup}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<cc:Card Title="{DynamicResource useLogonTaskForStartup}" Sub="{DynamicResource useLogonTaskForStartupTooltip}">
<ui:ToggleSwitch
IsOn="{Binding UseLogonTaskForStartup}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<cc:Card
Title="{DynamicResource hideOnStartup}"
Icon="&#xed1a;"
Sub="{DynamicResource hideOnStartupToolTip}">
<ui:ToggleSwitch
IsOn="{Binding Settings.HideOnStartup}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<cc:Card Title="{DynamicResource hideFlowLauncherWhenLoseFocus}" Margin="0 14 0 0">
<ui:ToggleSwitch
IsOn="{Binding Settings.HideWhenDeactivated}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<cc:Card Title="{DynamicResource hideNotifyIcon}" Sub="{DynamicResource hideNotifyIconToolTip}">
<ui:ToggleSwitch
IsOn="{Binding Settings.HideNotifyIcon}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<cc:CardGroup Margin="0 14 0 0">
<cc:Card Title="{DynamicResource SearchWindowPosition}" Icon="&#xe7f4;">
<StackPanel Orientation="Horizontal">
<ComboBox
MinWidth="220"
VerticalAlignment="Center"
DisplayMemberPath="Display"
FontSize="14"
ItemsSource="{Binding SearchWindowScreens}"
SelectedValue="{Binding Settings.SearchWindowScreen}"
SelectedValuePath="Value" />
<ComboBox
MinWidth="160"
Margin="18 0 0 0"
VerticalAlignment="Center"
FontSize="14"
ItemsSource="{Binding ScreenNumbers}"
SelectedValue="{Binding Settings.CustomScreenNumber}"
Visibility="{ext:VisibleWhen {Binding Settings.SearchWindowScreen},
IsEqualTo={x:Static userSettings:SearchWindowScreens.Custom}}" />
</StackPanel>
</cc:Card>
<cc:Card
Title="{DynamicResource SearchWindowAlign}"
Icon="&#xe7f4;"
Visibility="{ext:CollapsedWhen {Binding Settings.SearchWindowScreen},
IsEqualTo={x:Static userSettings:SearchWindowScreens.RememberLastLaunchLocation}}">
<StackPanel Orientation="Horizontal">
<ComboBox
MinWidth="160"
VerticalAlignment="Center"
DisplayMemberPath="Display"
FontSize="14"
ItemsSource="{Binding SearchWindowAligns}"
SelectedValue="{Binding Settings.SearchWindowAlign}"
SelectedValuePath="Value" />
<StackPanel
Margin="18 0 0 0"
VerticalAlignment="Center"
Orientation="Horizontal"
Visibility="{ext:VisibleWhen {Binding Settings.SearchWindowAlign},
IsEqualTo={x:Static userSettings:SearchWindowAligns.Custom}}">
<TextBox
MinWidth="80"
VerticalAlignment="Center"
Text="{Binding Settings.CustomWindowLeft}" />
<TextBlock
Margin="10"
VerticalAlignment="Center"
Text="x" />
<TextBox
MinWidth="80"
VerticalAlignment="Center"
Text="{Binding Settings.CustomWindowTop}"
TextWrapping="NoWrap" />
</StackPanel>
</StackPanel>
</cc:Card>
</cc:CardGroup>
<cc:Card
Title="{DynamicResource ignoreHotkeysOnFullscreen}"
Margin="0 14 0 0"
Icon="&#xe7fc;"
Sub="{DynamicResource ignoreHotkeysOnFullscreenToolTip}">
<ui:ToggleSwitch
IsOn="{Binding Settings.IgnoreHotkeysOnFullscreen}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<cc:Card
Title="{DynamicResource AlwaysPreview}"
Margin="0 14 0 0"
Icon="&#xe8a1;"
Sub="{Binding AlwaysPreviewToolTip}">
<ui:ToggleSwitch
IsOn="{Binding Settings.AlwaysPreview}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}"
ToolTip="{Binding AlwaysPreviewToolTip}" />
</cc:Card>
<cc:Card
Title="{DynamicResource autoUpdates}"
Margin="0 14 0 0"
Icon="&#xecc5;">
<ui:ToggleSwitch
IsOn="{Binding AutoUpdates}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<cc:Card
Title="{DynamicResource portableMode}"
Icon="&#xe88e;"
Sub="{DynamicResource portableModeToolTIp}">
<ui:ToggleSwitch
IsOn="{Binding PortableMode}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<cc:CardGroup Margin="0 14 0 0">
<cc:Card Title="{DynamicResource querySearchPrecision}" Sub="{DynamicResource querySearchPrecisionToolTip}">
<ComboBox
MaxWidth="200"
DisplayMemberPath="Display"
ItemsSource="{Binding SearchPrecisionScores}"
SelectedValue="{Binding Settings.QuerySearchPrecision}"
SelectedValuePath="Value" />
</cc:Card>
<cc:Card Title="{DynamicResource lastQueryMode}" Sub="{DynamicResource lastQueryModeToolTip}">
<ComboBox
DisplayMemberPath="Display"
ItemsSource="{Binding LastQueryModes}"
SelectedValue="{Binding Settings.LastQueryMode}"
SelectedValuePath="Value" />
</cc:Card>
</cc:CardGroup>
<cc:Card
Title="{DynamicResource defaultFileManager}"
Margin="0 14 0 0"
Icon="&#xe838;"
Sub="{DynamicResource defaultFileManagerToolTip}">
<Button
Width="160"
MaxWidth="250"
Margin="10 0 0 0"
Command="{Binding SelectFileManagerCommand}"
Content="{Binding Settings.CustomExplorer.Name}" />
</cc:Card>
<cc:Card
Title="{DynamicResource defaultBrowser}"
Icon="&#xf6fa;"
Sub="{DynamicResource defaultBrowserToolTip}">
<Button
Width="160"
MaxWidth="250"
Margin="10 0 0 0"
Command="{Binding SelectBrowserCommand}"
Content="{Binding Settings.CustomBrowser.Name}" />
</cc:Card>
<cc:Card Title="{DynamicResource pythonFilePath}" Margin="0 14 0 0">
<StackPanel Orientation="Horizontal">
<TextBox
Width="300"
Height="34"
Text="{Binding Settings.PluginSettings.PythonExecutablePath, TargetNullValue='None'}" />
<Button
Height="34"
Margin="10 0 0 0"
Command="{Binding SelectPythonCommand}"
Content="{DynamicResource select}" />
</StackPanel>
</cc:Card>
<cc:Card Title="{DynamicResource nodeFilePath}">
<StackPanel Orientation="Horizontal">
<TextBox
Width="300"
Height="34"
Text="{Binding Settings.PluginSettings.NodeExecutablePath, TargetNullValue='None'}" />
<Button
Height="34"
Margin="10 0 0 0"
Command="{Binding SelectNodeCommand}"
Content="{DynamicResource select}" />
</StackPanel>
</cc:Card>
<cc:Card
Title="{DynamicResource typingStartEn}"
Margin="0 14 0 0"
Icon="&#xe8d3;"
Sub="{DynamicResource typingStartEnTooltip}">
<ui:ToggleSwitch
IsOn="{Binding Settings.AlwaysStartEn}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}" />
</cc:Card>
<cc:Card
Title="{DynamicResource ShouldUsePinyin}"
Icon="&#xe98a;"
Sub="{DynamicResource ShouldUsePinyinToolTip}">
<ui:ToggleSwitch
IsOn="{Binding Settings.ShouldUsePinyin}"
OffContent="{DynamicResource disable}"
OnContent="{DynamicResource enable}"
ToolTip="{DynamicResource ShouldUsePinyinToolTip}" />
</cc:Card>
<cc:Card
Title="{DynamicResource language}"
Margin="0 14 0 0"
Icon="&#xf2b7;">
<ComboBox
MaxWidth="200"
Margin="10 0 0 0"
DisplayMemberPath="Display"
ItemsSource="{Binding Languages}"
SelectedValue="{Binding Language}"
SelectedValuePath="LanguageCode" />
</cc:Card>
</VirtualizingStackPanel>
</ScrollViewer>
</ui:Page>