mirror of
https://github.com/jayfunc/BetterLyrics.git
synced 2026-01-12 19:08:33 +08:00
173 lines
11 KiB
XML
173 lines
11 KiB
XML
<UserControl
|
|
x:Class="BetterLyrics.WinUI3.Controls.MediaSettingsControl"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:controls="using:CommunityToolkit.WinUI.Controls"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:dev="using:DevWinUI"
|
|
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
|
|
xmlns:local="using:BetterLyrics.WinUI3.Controls"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:models="using:BetterLyrics.WinUI3.Models"
|
|
xmlns:ui="using:CommunityToolkit.WinUI"
|
|
mc:Ignorable="d">
|
|
|
|
<Grid>
|
|
<ScrollViewer Style="{StaticResource SettingsScrollViewerStyle}">
|
|
<Grid Style="{StaticResource SettingsGridStyle}">
|
|
<StackPanel>
|
|
|
|
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" />
|
|
|
|
<dev:SettingsCard x:Uid="SettingsPageMusicLib" HeaderIcon="{ui:FontIcon FontFamily={StaticResource IconFontFamily}, Glyph=}" />
|
|
|
|
<InfoBar
|
|
x:Uid="SettingsPageRemoveInfo"
|
|
BorderThickness="0"
|
|
CornerRadius="0"
|
|
IsClosable="False"
|
|
IsOpen="True"
|
|
Severity="Success">
|
|
<interactivity:Interaction.Behaviors>
|
|
<interactivity:DataTriggerBehavior
|
|
Binding="{x:Bind ViewModel.AppSettings.LocalMediaFolders.Count, Mode=OneWay}"
|
|
ComparisonCondition="Equal"
|
|
Value="0">
|
|
<interactivity:ChangePropertyAction PropertyName="Visibility" Value="Collapsed" />
|
|
</interactivity:DataTriggerBehavior>
|
|
<interactivity:DataTriggerBehavior
|
|
Binding="{x:Bind ViewModel.AppSettings.LocalMediaFolders.Count, Mode=OneWay}"
|
|
ComparisonCondition="NotEqual"
|
|
Value="0">
|
|
<interactivity:ChangePropertyAction PropertyName="Visibility" Value="Visible" />
|
|
</interactivity:DataTriggerBehavior>
|
|
</interactivity:Interaction.Behaviors>
|
|
</InfoBar>
|
|
|
|
<ListView
|
|
ItemContainerStyle="{StaticResource ListViewStretchedItemContainerStyle}"
|
|
ItemsSource="{x:Bind ViewModel.AppSettings.LocalMediaFolders, Mode=OneWay}"
|
|
SelectionMode="None">
|
|
<ListView.ItemTemplate>
|
|
<DataTemplate x:DataType="models:MediaFolder">
|
|
<dev:SettingsExpander Description="{x:Bind ConnectionSummary, Mode=OneWay}" IsExpanded="True">
|
|
|
|
<dev:SettingsExpander.HeaderIcon>
|
|
<FontIcon FontFamily="{StaticResource IconFontFamily}" Glyph="{x:Bind SourceType, Converter={StaticResource FileSourceTypeToIconConverter}, Mode=OneWay}" />
|
|
</dev:SettingsExpander.HeaderIcon>
|
|
<dev:SettingsExpander.Header>
|
|
<HyperlinkButton
|
|
Padding="0"
|
|
Click="LocalFolderHyperlinkButton_Click"
|
|
Content="{x:Bind ConnectionSummary, Mode=OneWay}" />
|
|
</dev:SettingsExpander.Header>
|
|
|
|
<ToggleSwitch IsOn="{x:Bind IsEnabled, Mode=TwoWay}" />
|
|
|
|
<dev:SettingsExpander.Items>
|
|
<dev:SettingsCard x:Uid="MediaSettingsControlLastSyncTime" Description="{x:Bind LastSyncTime.ToString(), Mode=OneWay, TargetNullValue=N/A}">
|
|
<Button
|
|
x:Uid="MediaSettingsControlSyncNow"
|
|
Click="SyncNowButton_Click"
|
|
IsEnabled="{x:Bind IsEnabled, Mode=OneWay}" />
|
|
</dev:SettingsCard>
|
|
<dev:SettingsCard x:Uid="MusicSettingsControlAutoSyncInterval">
|
|
<ComboBox IsEnabled="{x:Bind IsEnabled, Mode=OneWay}" SelectedIndex="{x:Bind ScanInterval, Mode=TwoWay, Converter={StaticResource EnumToIntConverter}}">
|
|
<ComboBoxItem x:Uid="MusicSettingsControlAutoSyncIntervalDisabled" />
|
|
<ComboBoxItem x:Uid="MusicSettingsControlAutoSyncIntervalEveryFifteenMin" />
|
|
<ComboBoxItem x:Uid="MusicSettingsControlAutoSyncIntervalEveryHour" />
|
|
<ComboBoxItem x:Uid="MusicSettingsControlAutoSyncIntervalEverySixHrs" />
|
|
<ComboBoxItem x:Uid="MusicSettingsControlAutoSyncIntervalEveryDay" />
|
|
</ComboBox>
|
|
</dev:SettingsCard>
|
|
<dev:SettingsCard>
|
|
<Button x:Uid="SettingsPageRemovePath" Click="SettingsPageRemovePathButton_Click" />
|
|
</dev:SettingsCard>
|
|
</dev:SettingsExpander.Items>
|
|
|
|
<dev:SettingsExpander.ItemsFooter>
|
|
<StackPanel>
|
|
<!-- Index info -->
|
|
<InfoBar
|
|
IsClosable="False"
|
|
IsOpen="{x:Bind IsIndexing, Mode=OneWay}"
|
|
Message="{x:Bind IndexingStatusText, Mode=OneWay}" />
|
|
<ProgressBar Visibility="{x:Bind IsIndexing, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" Value="{x:Bind IndexingProgress, Mode=OneWay}">
|
|
<interactivity:Interaction.Behaviors>
|
|
<interactivity:DataTriggerBehavior
|
|
Binding="{x:Bind IndexingProgress, Mode=OneWay}"
|
|
ComparisonCondition="Equal"
|
|
Value="0">
|
|
<interactivity:ChangePropertyAction PropertyName="IsIndeterminate" Value="True" />
|
|
</interactivity:DataTriggerBehavior>
|
|
<interactivity:DataTriggerBehavior
|
|
Binding="{x:Bind IndexingProgress, Mode=OneWay}"
|
|
ComparisonCondition="NotEqual"
|
|
Value="0">
|
|
<interactivity:ChangePropertyAction PropertyName="IsIndeterminate" Value="False" />
|
|
</interactivity:DataTriggerBehavior>
|
|
</interactivity:Interaction.Behaviors>
|
|
</ProgressBar>
|
|
<!-- Clean up info -->
|
|
<InfoBar
|
|
IsClosable="False"
|
|
IsOpen="{x:Bind IsCleaningUp, Mode=OneWay}"
|
|
Message="{x:Bind CleaningUpStatusText, Mode=OneWay}" />
|
|
<ProgressBar IsIndeterminate="True" Visibility="{x:Bind IsCleaningUp, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" />
|
|
</StackPanel>
|
|
</dev:SettingsExpander.ItemsFooter>
|
|
|
|
</dev:SettingsExpander>
|
|
</DataTemplate>
|
|
</ListView.ItemTemplate>
|
|
</ListView>
|
|
|
|
<dev:SettingsCard Style="{StaticResource DefaultSettingsExpanderItemStyle}">
|
|
<DropDownButton x:Uid="SettingsPageAddFolderButton">
|
|
<DropDownButton.Flyout>
|
|
<MenuFlyout>
|
|
<MenuFlyoutItem
|
|
x:Uid="SettingsPageLocalFolder"
|
|
Command="{x:Bind ViewModel.SelectAndAddFolderCommand}"
|
|
CommandParameter="{Binding ElementName=RootGrid}"
|
|
Icon="Folder" />
|
|
|
|
<MenuFlyoutSeparator />
|
|
|
|
<MenuFlyoutItem
|
|
Command="{x:Bind ViewModel.AddRemoteSourceCommand}"
|
|
CommandParameter="SMB"
|
|
Text="SMB">
|
|
<MenuFlyoutItem.Icon>
|
|
<FontIcon FontFamily="{StaticResource IconFontFamily}" Glyph="" />
|
|
</MenuFlyoutItem.Icon>
|
|
</MenuFlyoutItem>
|
|
|
|
<MenuFlyoutItem
|
|
Command="{x:Bind ViewModel.AddRemoteSourceCommand}"
|
|
CommandParameter="FTP"
|
|
Text="FTP">
|
|
<MenuFlyoutItem.Icon>
|
|
<FontIcon FontFamily="{StaticResource IconFontFamily}" Glyph="" />
|
|
</MenuFlyoutItem.Icon>
|
|
</MenuFlyoutItem>
|
|
|
|
<MenuFlyoutItem
|
|
Command="{x:Bind ViewModel.AddRemoteSourceCommand}"
|
|
CommandParameter="WebDAV"
|
|
Text="WebDAV">
|
|
<MenuFlyoutItem.Icon>
|
|
<FontIcon FontFamily="{StaticResource IconFontFamily}" Glyph="" />
|
|
</MenuFlyoutItem.Icon>
|
|
</MenuFlyoutItem>
|
|
|
|
</MenuFlyout>
|
|
</DropDownButton.Flyout>
|
|
</DropDownButton>
|
|
</dev:SettingsCard>
|
|
|
|
</StackPanel>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</Grid>
|
|
</UserControl> |