settings menue 4h total
This commit is contained in:
@@ -66,7 +66,7 @@
|
||||
</StackPanel>
|
||||
|
||||
<!-- MAIN CONTENT -->
|
||||
<Grid Grid.Column="1" Grid.Row="1" KeyboardNavigation.DirectionalNavigation="None">
|
||||
<Grid Grid.Column="1" Grid.Row="1" KeyboardNavigation.DirectionalNavigation="None" >
|
||||
<ScrollViewer x:Name="ScrollContentHome" Background="#444" Panel.ZIndex="0"
|
||||
KeyboardNavigation.DirectionalNavigation="None" Focusable="False">
|
||||
<StackPanel Margin="10" KeyboardNavigation.DirectionalNavigation="None">
|
||||
@@ -106,11 +106,45 @@
|
||||
Focusable="False" KeyboardNavigation.DirectionalNavigation="None">
|
||||
<StackPanel x:Name="PlaylistContentPanel" KeyboardNavigation.DirectionalNavigation="None"/>
|
||||
</ScrollViewer>
|
||||
<ScrollViewer x:Name="scrowlsettings" Background="#444" Panel.ZIndex="0" Visibility="Collapsed">
|
||||
<GroupBox Header="Scan locations" Foreground="White" Margin="10">
|
||||
<StackPanel>
|
||||
<!-- Static RadioButton -->
|
||||
<RadioButton Content="scan all drives" Foreground="White" GroupName="DirsGroup"
|
||||
Checked="StaticRadioButton_Checked"/>
|
||||
|
||||
<!-- Specific option as Label -->
|
||||
<Label Content="specific option" Foreground="White" Margin="5,2,0,5"/>
|
||||
|
||||
<!-- Dynamic RadioButtons -->
|
||||
<StackPanel Name="dirsStack" Margin="5"/>
|
||||
|
||||
<!-- Static direct path RadioButton -->
|
||||
<RadioButton Content="direct path" Foreground="White" GroupName="DirsGroup"
|
||||
Checked="StaticRadioButton_Checked"/>
|
||||
|
||||
<!-- Direct path input -->
|
||||
<StackPanel Orientation="Horizontal" Margin="5">
|
||||
<TextBox x:Name="DirectPathTextBox" Text="{Binding DirectPath, Mode=TwoWay}" Width="150" Height="25" Margin="0,0,5,0"/>
|
||||
<Button Content="Select Path" Click="SelectPathButton_Click" Width="90" Height="25"/>
|
||||
</StackPanel>
|
||||
|
||||
<Separator Height="5" Margin="5"/>
|
||||
|
||||
<!-- Theme ComboBox -->
|
||||
<ComboBox Width="100" HorizontalAlignment="Left" SelectedItem="{Binding Theme, Mode=TwoWay}" Margin="5">
|
||||
<ComboBoxItem Content="dark"/>
|
||||
<ComboBoxItem Content="light"/>
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
</ScrollViewer>
|
||||
|
||||
</Grid>
|
||||
|
||||
<!-- SETTINGS BUTTON -->
|
||||
<Button Focusable="False" Grid.Column="0" Grid.Row="2" Content="Settings" Margin="10" HorizontalAlignment="Left"
|
||||
TabIndex="8" Click="PlayListButton_Click"/>
|
||||
TabIndex="8" Click="OnSettingsBtnClick"/>
|
||||
|
||||
<!-- PLAYER PROGRESS -->
|
||||
<Slider Focusable="False" Name="itemProgress" TabIndex="9" PreviewMouseDown="ItemProgress_OnPreviewMouseDown"
|
||||
|
@@ -20,6 +20,8 @@ using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Threading;
|
||||
using Microsoft.Win32;
|
||||
using YourNamespace;
|
||||
using Brushes = System.Windows.Media.Brushes;
|
||||
using Color = System.Windows.Media.Color;
|
||||
using File = System.IO.File;
|
||||
@@ -43,6 +45,8 @@ public partial class MainWindow : Window
|
||||
|
||||
PlaylistEditor popupWindow;
|
||||
|
||||
private ScanSettingsViewModel vm;
|
||||
|
||||
ObjListBP _playlists = new ObjListBP();
|
||||
|
||||
private Catagory Muvie = new Catagory("Muvie");
|
||||
@@ -165,6 +169,11 @@ public partial class MainWindow : Window
|
||||
}
|
||||
|
||||
#endregion
|
||||
vm = new ScanSettingsViewModel();
|
||||
DataContext = vm;
|
||||
|
||||
|
||||
AddRadioButtons();
|
||||
|
||||
}
|
||||
//Quinn
|
||||
@@ -267,7 +276,17 @@ public partial class MainWindow : Window
|
||||
_mediaPlayer.Stop();
|
||||
VideoView.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
|
||||
private void OnSettingsBtnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Close_Player();
|
||||
ScrollContentPlaylist.Visibility = Visibility.Collapsed;
|
||||
ScrollContentCat.Visibility = Visibility.Collapsed;
|
||||
ScrollContentHome.Visibility = Visibility.Collapsed;
|
||||
scrowlsettings.Visibility = Visibility.Visible;
|
||||
MenueItems();
|
||||
SetInitialFocusForCurrentView();
|
||||
}
|
||||
|
||||
private async void scanButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
@@ -571,6 +590,7 @@ public partial class MainWindow : Window
|
||||
Close_Player();
|
||||
ScrollContentPlaylist.Visibility = Visibility.Collapsed;
|
||||
ScrollContentCat.Visibility = Visibility.Collapsed;
|
||||
scrowlsettings.Visibility = Visibility.Collapsed;
|
||||
ScrollContentHome.Visibility = Visibility.Visible;
|
||||
MenueItems();
|
||||
SetInitialFocusForCurrentView();
|
||||
@@ -580,7 +600,7 @@ public partial class MainWindow : Window
|
||||
Close_Player();
|
||||
Name_of_Catagory_Text1.Visibility = Visibility.Collapsed;
|
||||
ScrollContentPlaylist.Visibility = Visibility.Collapsed;
|
||||
|
||||
scrowlsettings.Visibility = Visibility.Collapsed;
|
||||
ScrollContentHome.Visibility = Visibility.Collapsed;
|
||||
ScrollContentCat.Visibility = Visibility.Visible;
|
||||
Name_of_Catagory1.Visibility = Visibility.Collapsed;
|
||||
@@ -592,7 +612,7 @@ public partial class MainWindow : Window
|
||||
Close_Player();
|
||||
Name_of_Catagory_Text1.Visibility = Visibility.Collapsed;
|
||||
ScrollContentPlaylist.Visibility = Visibility.Collapsed;
|
||||
|
||||
scrowlsettings.Visibility = Visibility.Collapsed;
|
||||
ScrollContentHome.Visibility = Visibility.Collapsed;
|
||||
ScrollContentCat.Visibility = Visibility.Visible;
|
||||
Name_of_Catagory1.Visibility = Visibility.Collapsed;
|
||||
@@ -605,6 +625,7 @@ public partial class MainWindow : Window
|
||||
Name_of_Catagory_Text1.Visibility = Visibility.Visible;
|
||||
ScrollContentPlaylist.Visibility = Visibility.Collapsed;
|
||||
ScrollContentHome.Visibility = Visibility.Collapsed;
|
||||
scrowlsettings.Visibility = Visibility.Collapsed;
|
||||
ScrollContentCat.Visibility = Visibility.Visible;
|
||||
Name_of_Catagory1.Visibility = Visibility.Visible;
|
||||
MenueItems(ref Muvie,ref Serie);
|
||||
@@ -614,7 +635,7 @@ public partial class MainWindow : Window
|
||||
{
|
||||
Close_Player();
|
||||
Name_of_Catagory_Text1.Visibility = Visibility.Collapsed;
|
||||
|
||||
scrowlsettings.Visibility = Visibility.Collapsed;
|
||||
ScrollContentHome.Visibility = Visibility.Collapsed;
|
||||
ScrollContentCat.Visibility = Visibility.Collapsed;
|
||||
Name_of_Catagory1.Visibility = Visibility.Collapsed;
|
||||
@@ -1994,6 +2015,68 @@ public void SetInitialFocusForCurrentView()
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region settings menue
|
||||
private void Vm_StateChanged(object sender, EventArgs e)
|
||||
{
|
||||
// Update owner variables whenever selection changes
|
||||
option = vm.Option;
|
||||
specificOption = vm.SpecificOption;
|
||||
rootPath = vm.RootPath;
|
||||
}
|
||||
|
||||
private void AddRadioButtons()
|
||||
{
|
||||
foreach (string optionName in vm.Dirs)
|
||||
{
|
||||
RadioButton rb = new RadioButton
|
||||
{
|
||||
Content = optionName,
|
||||
GroupName = "DirsGroup",
|
||||
Margin = new Thickness(5),
|
||||
Foreground = Brushes.White
|
||||
};
|
||||
|
||||
rb.Checked += (s, e) => { vm.SelectedOption = optionName; };
|
||||
|
||||
dirsStack.Children.Add(rb);
|
||||
}
|
||||
}
|
||||
|
||||
private void StaticRadioButton_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (sender is RadioButton rb)
|
||||
{
|
||||
vm.SelectedOption = rb.Content.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectPathButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// WPF native OpenFileDialog trick to select folder
|
||||
var dialog = new Microsoft.Win32.OpenFileDialog
|
||||
{
|
||||
CheckFileExists = false, // allow selecting folder
|
||||
CheckPathExists = true,
|
||||
FileName = "Select folder",
|
||||
ValidateNames = false
|
||||
};
|
||||
|
||||
if (dialog.ShowDialog() == true)
|
||||
{
|
||||
string folderPath = System.IO.Path.GetDirectoryName(dialog.FileName);
|
||||
|
||||
// Update ViewModel, which triggers StateChanged to update owner variables
|
||||
vm.RootPath = folderPath;
|
||||
|
||||
// Also update TextBox explicitly if needed
|
||||
DirectPathTextBox.Text = folderPath;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user