laptop->pc
This commit is contained in:
parent
9a8ad0bb2f
commit
739e5ccfa6
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("NotVPR_Remote")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+654af164ab4489c774208e885e281885e008210b")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a8ad0bb2fd16c90755afdfb8d7218362d6b667b")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("NotVPR_Remote")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("NotVPR_Remote")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
b514a04c750ec160bf4b9410f5a30998919de0ec1c4b73c997afa9f6c13170c7
|
||||
3d15d74596a8970912a8dabdafafc0d6d5790369f74eec627a1983fd3c47a6be
|
||||
|
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("NotVPR_SideProjecktForVpr_FreeTime")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+654af164ab4489c774208e885e281885e008210b")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a8ad0bb2fd16c90755afdfb8d7218362d6b667b")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("NotVPR_SideProjecktForVpr_FreeTime")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("NotVPR_SideProjecktForVpr_FreeTime")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
a85a0ab2a07bbb710c1b5ca87c0627824f06d465e0548477032474c6284c068b
|
||||
8f3d74393500effb2738998a78a667ef4e6938d33d9e57fe382365afa07103b1
|
||||
|
@ -61,7 +61,9 @@ namespace ShadowStream.Obejeckte
|
||||
{
|
||||
Content = isFoto ? "Show" : "Play",
|
||||
HorizontalAlignment = HorizontalAlignment.Center,
|
||||
Tag = path + "||" + type // Store path or any identifier
|
||||
Tag = path + "||" + type,// Store path or any identifier
|
||||
Focusable = true
|
||||
|
||||
};
|
||||
|
||||
if (clickHandler != null)
|
||||
|
@ -6,171 +6,129 @@
|
||||
xmlns:vlc="clr-namespace:LibVLCSharp.WPF;assembly=LibVLCSharp.WPF"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="450" Width="800"
|
||||
KeyUp="Key_Up">
|
||||
<Grid>
|
||||
<!-- Layout Definitions -->
|
||||
KeyUp="Key_Up"
|
||||
PreviewKeyDown="MainWindow_PreviewKeyDown"
|
||||
Loaded="MainWindow_Loaded"
|
||||
KeyboardNavigation.DirectionalNavigation="None">
|
||||
|
||||
<Window.Resources>
|
||||
<Style TargetType="Button">
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsKeyboardFocused" Value="True">
|
||||
<Setter Property="BorderBrush" Value="Red"/>
|
||||
<Setter Property="BorderThickness" Value="2"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Window.Resources>
|
||||
|
||||
<Grid KeyboardNavigation.DirectionalNavigation="None">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="200"/>
|
||||
<ColumnDefinition/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="60"/> <!-- Top bar -->
|
||||
<RowDefinition/> <!-- Content -->
|
||||
<RowDefinition Height="70"/> <!-- Bottom player -->
|
||||
<RowDefinition Height="60"/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition Height="70"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<!-- TOP BAR -->
|
||||
<Grid Grid.ColumnSpan="2" Grid.Row="0" Background="#333">
|
||||
<Button Content="Login"
|
||||
Width="80"
|
||||
Margin="10,10,0,10"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"/>
|
||||
|
||||
<Grid Grid.ColumnSpan="2" Grid.Row="0" Background="#333" KeyboardNavigation.DirectionalNavigation="None">
|
||||
<Button Content="Login" TabIndex="0" Focusable="True" Width="80" Margin="10,10,0,10"
|
||||
HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Width="300">
|
||||
<TextBox Name="SearchBox"
|
||||
Padding="8"
|
||||
FontSize="14"
|
||||
Background="White"
|
||||
Foreground="Black"/>
|
||||
<TextBlock Text="Search..."
|
||||
Margin="12,0,0,0"
|
||||
VerticalAlignment="Center"
|
||||
Foreground="Gray"
|
||||
IsHitTestVisible="False"/>
|
||||
<TextBox Name="SearchBox" TabIndex="1" Focusable="True" Padding="8" FontSize="14"
|
||||
Background="White" Foreground="Black"/>
|
||||
<TextBlock Text="Search..." Margin="12,0,0,0" VerticalAlignment="Center"
|
||||
Foreground="Gray" IsHitTestVisible="False"/>
|
||||
</Grid>
|
||||
|
||||
<StackPanel Orientation="Horizontal"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="0,0,20,0"
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,20,0"
|
||||
VerticalAlignment="Center">
|
||||
<Button Content="scann"
|
||||
Width="40"
|
||||
Height="40"
|
||||
Margin="0,0,10,0"
|
||||
Click="scanButton_Click"/>
|
||||
<Button Content="scann" TabIndex="2" Focusable="True" Width="40" Height="40"
|
||||
Margin="0,0,10,0" Click="scanButton_Click"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<!-- LEFT NAVIGATION -->
|
||||
<StackPanel Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Background="#222"
|
||||
VerticalAlignment="Stretch">
|
||||
<Button Content="Home" Height="60" Foreground="White" Background="Transparent" Click="Home_OnClick" />
|
||||
<Button Content="Musik" Height="60" Foreground="White" Background="Transparent" Click="Musik_OnClick"/>
|
||||
<Button Content="Photos" Height="60" Foreground="White" Background="Transparent" Click="Photo_OnClick"/>
|
||||
<Button Content="Video" Height="60" Foreground="White" Background="Transparent" Click="Video_OnClick" />
|
||||
<Button Content="Playlist" Height="60" Foreground="White" Background="Transparent" Click="PlayListButton_OnClick" />
|
||||
<StackPanel Name="catPan" Grid.Row="1" Grid.Column="0" Background="#222" VerticalAlignment="Stretch"
|
||||
KeyboardNavigation.DirectionalNavigation="None">
|
||||
<Button Name="FirstCat" Content="Home" Height="60" TabIndex="3" Focusable="True"
|
||||
Foreground="White" Background="Transparent" Click="Home_OnClick"/>
|
||||
<Button Content="Musik" Height="60" TabIndex="4" Focusable="True"
|
||||
Foreground="White" Background="Transparent" Click="Musik_OnClick"/>
|
||||
<Button Content="Photos" Height="60" TabIndex="5" Focusable="True"
|
||||
Foreground="White" Background="Transparent" Click="Photo_OnClick"/>
|
||||
<Button Content="Video" Height="60" TabIndex="6" Focusable="True"
|
||||
Foreground="White" Background="Transparent" Click="Video_OnClick"/>
|
||||
<Button Content="Playlist" Height="60" TabIndex="7" Focusable="True"
|
||||
Foreground="White" Background="Transparent" Click="PlayListButton_OnClick"/>
|
||||
</StackPanel>
|
||||
|
||||
<!-- MAIN CONTENT WRAPPED IN A GRID FOR LAYERING -->
|
||||
<Grid Grid.Column="1" Grid.Row="1">
|
||||
<!-- ScrollViewer (Background) -->
|
||||
<ScrollViewer x:Name="ScrollContentHome" Background="#444" Panel.ZIndex="0">
|
||||
<StackPanel Margin="10">
|
||||
<!-- Favorites -->
|
||||
<!-- MAIN CONTENT -->
|
||||
<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">
|
||||
<TextBlock Text="Favorites" FontSize="18" Foreground="White" Margin="0,10"/>
|
||||
<WrapPanel Name="Favorites_Home">
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Name="Favorites_Home" KeyboardNavigation.DirectionalNavigation="None"/>
|
||||
|
||||
<!-- Movies -->
|
||||
<TextBlock Text="Movies" FontSize="18" Foreground="White" Margin="0,20,0,10"/>
|
||||
<WrapPanel Name="Muvies_Home">
|
||||
<Rectangle Fill="LightGreen" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightGreen" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightGreen" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightGreen" Width="150" Height="100" Margin="5"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Name="Muvies_Home" KeyboardNavigation.DirectionalNavigation="None"/>
|
||||
|
||||
<!-- Series -->
|
||||
<TextBlock Text="Series" FontSize="18" Foreground="White" Margin="0,20,0,10"/>
|
||||
<WrapPanel Name="Series_Home">
|
||||
<Rectangle Fill="LightGreen" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightGreen" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightGreen" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightGreen" Width="150" Height="100" Margin="5"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Name="Series_Home" KeyboardNavigation.DirectionalNavigation="None"/>
|
||||
|
||||
<!-- Music -->
|
||||
<TextBlock Text="Music" FontSize="18" Foreground="White" Margin="0,20,0,10"/>
|
||||
<WrapPanel Name="Music_Home">
|
||||
<Rectangle Fill="LightCoral" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightCoral" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightCoral" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightCoral" Width="150" Height="100" Margin="5"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Name="Music_Home" KeyboardNavigation.DirectionalNavigation="None"/>
|
||||
|
||||
<!-- Photos -->
|
||||
<TextBlock Text="Photos" FontSize="18" Foreground="White" Margin="0,20,0,10"/>
|
||||
<WrapPanel Name="Photos_Home">
|
||||
<Rectangle Fill="DarkRed" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="DarkRed" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="DarkRed" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="DarkRed" Width="150" Height="100" Margin="5"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Name="Photos_Home" KeyboardNavigation.DirectionalNavigation="None"/>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
|
||||
<!-- Video Player (Foreground) -->
|
||||
<vlc:VideoView x:Name="VideoView"
|
||||
Panel.ZIndex="1"
|
||||
Visibility="Collapsed"
|
||||
Background="Black" />
|
||||
<!-- VIDEO PLAYER -->
|
||||
<vlc:VideoView x:Name="VideoView" Panel.ZIndex="1" Visibility="Collapsed" Background="Black"/>
|
||||
|
||||
<!--Catagory-->
|
||||
<ScrollViewer x:Name="ScrollContentCat" Background="#444" Panel.ZIndex="0" Visibility="Collapsed">
|
||||
<StackPanel Margin="10">
|
||||
<!-- Cat-name -->
|
||||
<!-- CATEGORY VIEW -->
|
||||
<ScrollViewer x:Name="ScrollContentCat" Background="#444" Panel.ZIndex="0" Visibility="Collapsed"
|
||||
Focusable="False" KeyboardNavigation.DirectionalNavigation="None">
|
||||
<StackPanel Margin="10" KeyboardNavigation.DirectionalNavigation="None">
|
||||
<TextBlock Name="Name_of_Catagory_Text" Text="Name_of_Catagory" FontSize="18" Foreground="White" Margin="0,10"/>
|
||||
<WrapPanel Name="Name_of_Catagory">
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Name="Name_of_Catagory" KeyboardNavigation.DirectionalNavigation="None"/>
|
||||
<TextBlock Name="Name_of_Catagory_Text1" Text="Name_of_Catagory1" FontSize="18" Foreground="White" Margin="0,10"/>
|
||||
<WrapPanel Name="Name_of_Catagory1" Visibility="Collapsed">
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
<Rectangle Fill="LightBlue" Width="150" Height="100" Margin="5"/>
|
||||
</WrapPanel>
|
||||
<WrapPanel Name="Name_of_Catagory1" Visibility="Collapsed" KeyboardNavigation.DirectionalNavigation="None"/>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
<!--Playlists-->
|
||||
<ScrollViewer x:Name="ScrollContentPlaylist" Background="#444" Panel.ZIndex="0" Visibility="Collapsed">
|
||||
<StackPanel x:Name="PlaylistContentPanel">
|
||||
<Button Content="New Playlist" Background="Black" Foreground="White" Click="PlayListButton_Click"></Button>
|
||||
</StackPanel>
|
||||
|
||||
<!-- PLAYLIST VIEW -->
|
||||
<ScrollViewer x:Name="ScrollContentPlaylist" Background="#444" Panel.ZIndex="0" Visibility="Collapsed"
|
||||
Focusable="False" KeyboardNavigation.DirectionalNavigation="None">
|
||||
<StackPanel x:Name="PlaylistContentPanel" KeyboardNavigation.DirectionalNavigation="None"/>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
|
||||
<!-- SETTINGS BUTTON -->
|
||||
<Button Grid.Column="0" Grid.Row="2"
|
||||
Content="Settings"
|
||||
Margin="10"
|
||||
HorizontalAlignment="Left"
|
||||
Click="PlayListButton_Click"/>
|
||||
<Button Grid.Column="0" Grid.Row="2" Content="Settings" Margin="10" HorizontalAlignment="Left"
|
||||
TabIndex="8" Focusable="True" Click="PlayListButton_Click"/>
|
||||
|
||||
<!-- PLAYER PROGRESS -->
|
||||
<Slider Name="itemProgress" TabIndex="9" Focusable="True" PreviewMouseDown="ItemProgress_OnPreviewMouseDown"
|
||||
Panel.ZIndex="2" VerticalAlignment="Top" ValueChanged="ItemProgress_OnValueChanged"
|
||||
Grid.Row="2" Grid.Column="1" Padding="10"/>
|
||||
<ProgressBar Name="itemProgressVisual" Panel.ZIndex="1" Height="20" VerticalAlignment="Top"
|
||||
Grid.Row="2" Grid.Column="1" Padding="10"/>
|
||||
|
||||
<!-- PLAYER CONTROLS -->
|
||||
<Slider Name="itemProgress" PreviewMouseDown="ItemProgress_OnPreviewMouseDown" Panel.ZIndex="2" VerticalAlignment="Top" ValueChanged="ItemProgress_OnValueChanged" Grid.Row="2" Grid.Column="1" Padding="10"></Slider>
|
||||
<ProgressBar Name="itemProgressVisual" Panel.ZIndex="1" Height="20" VerticalAlignment="Top" Grid.Row="2" Grid.Column="1" Padding="10"></ProgressBar>
|
||||
<StackPanel Grid.Column="1" Grid.Row="2"
|
||||
Orientation="Horizontal"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
Background="#222">
|
||||
<StackPanel Grid.Column="1" Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom" Background="#222" KeyboardNavigation.DirectionalNavigation="None">
|
||||
<TextBlock Name="title" Text="Titel" Foreground="White" FontSize="16" Margin="10"/>
|
||||
<Button Content="⏮" Width="40" Margin="10" Click="OnItemPriorButtonClick"/>
|
||||
<Button Content="▶" Width="40" Margin="10" Click="OnItemPauseBtn_Click"/>
|
||||
<Button Content="⏭" Width="40" Margin="10" Click="OnItemNextButtonClick"/>
|
||||
<Button Content="⏮" Width="40" Margin="10" TabIndex="10" Focusable="True" Click="OnItemPriorButtonClick"/>
|
||||
<Button Content="▶" Width="40" Margin="10" TabIndex="11" Focusable="True" Click="OnItemPauseBtn_Click"/>
|
||||
<Button Content="⏭" Width="40" Margin="10" TabIndex="12" Focusable="True" Click="OnItemNextButtonClick"/>
|
||||
<TextBlock Text="🔊" Foreground="White" VerticalAlignment="Center" Margin="10,0"/>
|
||||
<Slider Name="vol" Width="100" Minimum="0" Maximum="100" Value="50" Margin="10" ValueChanged="RangeBase_OnValueChanged"/>
|
||||
<Slider Name="vol" Width="100" Minimum="0" Maximum="100" Value="50" Margin="10"
|
||||
TabIndex="13" Focusable="True" ValueChanged="RangeBase_OnValueChanged"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Window>
|
||||
|
@ -82,6 +82,11 @@ public partial class MainWindow : Window
|
||||
|
||||
#endregion
|
||||
//code start
|
||||
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
FirstCat?.Focus();
|
||||
}
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
#region Init wpf
|
||||
@ -464,9 +469,11 @@ public partial class MainWindow : Window
|
||||
ScrollContentHome.Visibility = Visibility.Collapsed;
|
||||
ScrollContentCat.Visibility = Visibility.Collapsed;
|
||||
Name_of_Catagory1.Visibility = Visibility.Collapsed;
|
||||
PopulateAllCategoriesFromPlaylists();
|
||||
|
||||
PopulateAllCategoriesFromPlaylists(); // <-- This needs to set ScrollContentPlaylist visible
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
@ -841,6 +848,8 @@ public partial class MainWindow : Window
|
||||
|
||||
// Make the ScrollViewer visible
|
||||
ScrollContentPlaylist.Visibility = Visibility.Visible;
|
||||
|
||||
PopulatePlaylistsWithButtons();
|
||||
}
|
||||
|
||||
#region tvRemote
|
||||
@ -854,6 +863,7 @@ public partial class MainWindow : Window
|
||||
Dispatcher.Invoke(() =>
|
||||
{
|
||||
MessageBox.Show("🔗 Client connected!");
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
@ -862,8 +872,26 @@ public partial class MainWindow : Window
|
||||
Dispatcher.Invoke(() =>
|
||||
{
|
||||
MessageBox.Show($"📨 Message: {msg.Trim()}");
|
||||
switch (msg.Trim())
|
||||
{
|
||||
//arrow up
|
||||
case "\u2191": MessageBox.Show("case 1"); break;
|
||||
//arrow down
|
||||
case "\u2193": MessageBox.Show("case 2"); break;
|
||||
//arrow left
|
||||
//arrow right
|
||||
//double left
|
||||
//double right
|
||||
//enter
|
||||
//home
|
||||
//vol +
|
||||
//vol -
|
||||
//mute
|
||||
//time stamp
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Optional: echo back the message
|
||||
Server1.SendMessage("Echo: " + msg.Trim());
|
||||
};
|
||||
@ -1004,12 +1032,113 @@ public partial class MainWindow : Window
|
||||
|
||||
}
|
||||
}
|
||||
private void PopulatePlaylistsWithButtons()
|
||||
{
|
||||
// Make sure the playlist ScrollViewer is visible
|
||||
ScrollContentHome.Visibility = Visibility.Collapsed;
|
||||
ScrollContentCat.Visibility = Visibility.Collapsed;
|
||||
ScrollContentPlaylist.Visibility = Visibility.Visible;
|
||||
|
||||
// Clear previous content
|
||||
PlaylistContentPanel.Children.Clear();
|
||||
|
||||
// Add "New Playlist" button
|
||||
var newPlaylistBtn = new Button
|
||||
{
|
||||
Content = "New Playlist",
|
||||
Background = Brushes.Black,
|
||||
Foreground = Brushes.White,
|
||||
Margin = new Thickness(5)
|
||||
};
|
||||
newPlaylistBtn.Click += PlayListButton_Click;
|
||||
PlaylistContentPanel.Children.Add(newPlaylistBtn);
|
||||
|
||||
// Guard: If there are no playlists, show a message
|
||||
if (_playlists?.SharedRefs == null || !_playlists.SharedRefs.Any())
|
||||
{
|
||||
PlaylistContentPanel.Children.Add(new TextBlock
|
||||
{
|
||||
Text = "No playlists available.",
|
||||
Foreground = Brushes.White,
|
||||
Margin = new Thickness(10)
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Add playlist sections
|
||||
foreach (var playlistCategory in _playlists.SharedRefs)
|
||||
{
|
||||
var container = new StackPanel
|
||||
{
|
||||
Margin = new Thickness(10),
|
||||
Orientation = Orientation.Vertical,
|
||||
HorizontalAlignment = HorizontalAlignment.Stretch
|
||||
};
|
||||
|
||||
// Header row with playlist name and ">>" button
|
||||
var headerRow = new DockPanel
|
||||
{
|
||||
LastChildFill = true, // Let the title take remaining space
|
||||
HorizontalAlignment = HorizontalAlignment.Stretch
|
||||
};
|
||||
|
||||
// Button (goes first, docked right)
|
||||
var btn = new Button
|
||||
{
|
||||
Content = ">>",
|
||||
Width = 30,
|
||||
Height = 25,
|
||||
Margin = new Thickness(10, 0, 0, 0),
|
||||
VerticalAlignment = VerticalAlignment.Center
|
||||
};
|
||||
DockPanel.SetDock(btn, Dock.Right);
|
||||
btn.Click += (s, e) => ShowFullCategoryView(playlistCategory);
|
||||
headerRow.Children.Add(btn);
|
||||
|
||||
// Playlist name
|
||||
var title = new TextBlock
|
||||
{
|
||||
Text = playlistCategory.name,
|
||||
FontSize = 18,
|
||||
FontWeight = FontWeights.Bold,
|
||||
Foreground = Brushes.White,
|
||||
VerticalAlignment = VerticalAlignment.Center,
|
||||
Margin = new Thickness(5)
|
||||
};
|
||||
headerRow.Children.Add(title);
|
||||
|
||||
container.Children.Add(headerRow);
|
||||
|
||||
// Preview items in WrapPanel
|
||||
var wrap = new WrapPanel();
|
||||
PopulatePanelWithItems(playlistCategory.getAllItems().Take(9).ToList(), wrap);
|
||||
container.Children.Add(wrap);
|
||||
|
||||
PlaylistContentPanel.Children.Add(container);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void ShowFullCategoryView(Catagory category)
|
||||
{
|
||||
ScrollContentHome.Visibility = Visibility.Collapsed;
|
||||
ScrollContentPlaylist.Visibility = Visibility.Collapsed;
|
||||
|
||||
ScrollContentCat.Visibility = Visibility.Visible;
|
||||
|
||||
Name_of_Catagory_Text.Text = category.name;
|
||||
Name_of_Catagory1.Visibility = Visibility.Collapsed;
|
||||
|
||||
PopulatePanelWithItems(category.getAllItems(), Name_of_Catagory);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region load saved data
|
||||
|
||||
private async void LoadSavedData()
|
||||
{
|
||||
{
|
||||
try
|
||||
{
|
||||
Jason_Writer jason_Writer = new Jason_Writer(); // Uses default "Temp Data" folder
|
||||
@ -1099,7 +1228,7 @@ public partial class MainWindow : Window
|
||||
MessageBox.Show($"Failed to load saved data:\n{ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
log.Error($"LoadSavedData error: {ex}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<Item> CreateItemsFromJson(List<locJason> jsonItems)
|
||||
{
|
||||
@ -1245,14 +1374,6 @@ public partial class MainWindow : Window
|
||||
{
|
||||
switch (e.Key)
|
||||
{
|
||||
case Key.Left:_mediaPlayer.Time=_mediaPlayer.Time-10000;break;
|
||||
case Key.Right:_mediaPlayer.Time=_mediaPlayer.Time+10000;break;
|
||||
case Key.Space:
|
||||
if (_mediaPlayer.IsPlaying)
|
||||
_mediaPlayer.Pause();
|
||||
else
|
||||
_mediaPlayer.Play();
|
||||
break;
|
||||
case Key.Escape:
|
||||
var result = MessageBox.Show(
|
||||
"Do you want to quit?",
|
||||
@ -1268,8 +1389,223 @@ public partial class MainWindow : Window
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (VideoView.IsVisible)
|
||||
{
|
||||
switch (e.Key)
|
||||
{
|
||||
case Key.Left:_mediaPlayer.Time=_mediaPlayer.Time-10000;break;
|
||||
case Key.Right:_mediaPlayer.Time=_mediaPlayer.Time+10000;break;
|
||||
case Key.Space:
|
||||
if (_mediaPlayer.IsPlaying)
|
||||
_mediaPlayer.Pause();
|
||||
else
|
||||
_mediaPlayer.Play();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region arrow nav
|
||||
private void MainWindow_PreviewKeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (Keyboard.FocusedElement is not DependencyObject focusedElement)
|
||||
return;
|
||||
|
||||
var wrapPanel = FindAncestor<WrapPanel>(focusedElement);
|
||||
|
||||
if (wrapPanel != null && wrapPanel.Children.Count > 0)
|
||||
{
|
||||
int focusedIndex = FindFocusedIndexInWrapPanel(wrapPanel, focusedElement);
|
||||
if (focusedIndex == -1)
|
||||
return;
|
||||
|
||||
int columns = CalculateColumns(wrapPanel);
|
||||
|
||||
switch (e.Key)
|
||||
{
|
||||
case Key.Left:
|
||||
e.Handled = true;
|
||||
if (IsLeftmostInRow(focusedIndex, columns))
|
||||
{
|
||||
FirstCat?.Focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
MoveFocusInWrapPanel(wrapPanel, focusedIndex - 1);
|
||||
}
|
||||
break;
|
||||
|
||||
case Key.Right:
|
||||
e.Handled = true;
|
||||
MoveFocusInWrapPanel(wrapPanel, focusedIndex + 1);
|
||||
break;
|
||||
|
||||
case Key.Up:
|
||||
e.Handled = true;
|
||||
MoveFocusInWrapPanel(wrapPanel, focusedIndex - columns);
|
||||
break;
|
||||
|
||||
case Key.Down:
|
||||
e.Handled = true;
|
||||
MoveFocusInWrapPanel(wrapPanel, focusedIndex + columns);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (FirstCat.IsFocused && e.Key == Key.Right)
|
||||
{
|
||||
// Find the first visible WrapPanel child in your current visible ScrollViewer
|
||||
var firstFocusable = FindFirstFocusableInVisibleWrapPanel();
|
||||
if (firstFocusable != null)
|
||||
{
|
||||
firstFocusable.Focus();
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Finds the first focusable control in the first visible WrapPanel child of your main ScrollViewer content
|
||||
private Control FindFirstFocusableInVisibleWrapPanel()
|
||||
{
|
||||
ScrollViewer currentScrollViewer = null;
|
||||
|
||||
if (ScrollContentHome.Visibility == Visibility.Visible)
|
||||
{
|
||||
currentScrollViewer = ScrollContentHome;
|
||||
}
|
||||
else if (ScrollContentCat.Visibility == Visibility.Visible)
|
||||
{
|
||||
currentScrollViewer = ScrollContentCat;
|
||||
}
|
||||
else if (ScrollContentPlaylist.Visibility == Visibility.Visible)
|
||||
{
|
||||
currentScrollViewer = ScrollContentPlaylist;
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("No visible ScrollViewer found");
|
||||
return null;
|
||||
}
|
||||
|
||||
Panel mainPanel = currentScrollViewer.Content as Panel;
|
||||
if (mainPanel != null)
|
||||
{
|
||||
for (int i = 0; i < mainPanel.Children.Count; i++)
|
||||
{
|
||||
var child = mainPanel.Children[i];
|
||||
WrapPanel wp = child as WrapPanel;
|
||||
if (wp != null && wp.Visibility == Visibility.Visible && wp.Children.Count > 0)
|
||||
{
|
||||
Control firstFocusable = FindFirstFocusableChild(wp);
|
||||
if (firstFocusable != null)
|
||||
{
|
||||
return firstFocusable;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("ScrollViewer content is not a Panel");
|
||||
}
|
||||
|
||||
Control fallback = FindFirstFocusableChild(currentScrollViewer.Content as DependencyObject);
|
||||
if (fallback != null)
|
||||
return fallback;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
// ... rest of your helpers remain unchanged ...
|
||||
|
||||
private int CalculateColumns(WrapPanel panel)
|
||||
{
|
||||
if (panel.Children.Count == 0) return 1;
|
||||
|
||||
var firstChild = panel.Children[0] as FrameworkElement;
|
||||
if (firstChild == null) return 1;
|
||||
|
||||
double itemWidth = firstChild.ActualWidth + firstChild.Margin.Left + firstChild.Margin.Right;
|
||||
if (itemWidth <= 1) itemWidth = 150; // fallback
|
||||
|
||||
double panelWidth = panel.ActualWidth;
|
||||
int columns = Math.Max(1, (int)(panelWidth / itemWidth));
|
||||
return columns;
|
||||
}
|
||||
|
||||
private bool IsLeftmostInRow(int index, int columns) => (index % columns) == 0;
|
||||
|
||||
private void MoveFocusInWrapPanel(WrapPanel panel, int index)
|
||||
{
|
||||
if (index < 0 || index >= panel.Children.Count) return;
|
||||
|
||||
if (panel.Children[index] is Control ctrl && ctrl.Focusable)
|
||||
ctrl.Focus();
|
||||
else if (panel.Children[index] is Panel container)
|
||||
{
|
||||
var focusable = FindFirstFocusableChild(container);
|
||||
focusable?.Focus();
|
||||
}
|
||||
}
|
||||
|
||||
private int FindFocusedIndexInWrapPanel(WrapPanel panel, DependencyObject focusedElement)
|
||||
{
|
||||
for (int i = 0; i < panel.Children.Count; i++)
|
||||
{
|
||||
var container = panel.Children[i];
|
||||
if (IsOrContains(container, focusedElement))
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
private bool IsOrContains(DependencyObject parent, DependencyObject child)
|
||||
{
|
||||
if (parent == child) return true;
|
||||
|
||||
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++)
|
||||
{
|
||||
var sub = VisualTreeHelper.GetChild(parent, i);
|
||||
if (IsOrContains(sub, child))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private Control FindFirstFocusableChild(DependencyObject parent)
|
||||
{
|
||||
if (parent is Control c && c.Focusable)
|
||||
return c;
|
||||
|
||||
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++)
|
||||
{
|
||||
var found = FindFirstFocusableChild(VisualTreeHelper.GetChild(parent, i));
|
||||
if (found != null)
|
||||
return found;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static T FindAncestor<T>(DependencyObject child) where T : DependencyObject
|
||||
{
|
||||
DependencyObject current = child;
|
||||
while (current != null)
|
||||
{
|
||||
if (current is T match)
|
||||
return match;
|
||||
current = VisualTreeHelper.GetParent(current);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,72 @@
|
||||
[
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E18-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E18-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E2-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E2-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E10-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E10-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E1-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E1-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E13-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E13-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E15-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E15-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E12-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E12-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E3-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E3-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E7-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E7-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E23-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E23-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E24-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E24-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E21-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E21-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E19-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E19-720p.mp4"
|
||||
},
|
||||
{
|
||||
"name": "Great_Teacher_Onizuka-E5-720p.mp4",
|
||||
"type": "Serie",
|
||||
"path": "G:/Great Teacher Onizuka\\EP 1-24\\Great_Teacher_Onizuka-E5-720p.mp4"
|
||||
}
|
||||
]
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("ShadowStream")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+654af164ab4489c774208e885e281885e008210b")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a8ad0bb2fd16c90755afdfb8d7218362d6b667b")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("ShadowStream")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("ShadowStream")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
96a31703dd7ce1e308583d51d779021c43249d047cd73861027603eab0658335
|
||||
64a6903ed00f5523561e9e538efb1a80387ebb1b672284765ef27c836d1c356d
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
#pragma checksum "..\..\..\..\Views\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "02D83F6CF7A1CE05E7F06B523353C42B3794759A"
|
||||
#pragma checksum "..\..\..\..\Views\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "3C6357FEE810548F6E83EABFE636E916E4C2FAE0"
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
@ -41,7 +41,7 @@ namespace ModuleManager {
|
||||
public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {
|
||||
|
||||
|
||||
#line 31 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 41 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.TextBox SearchBox;
|
||||
|
||||
@ -49,6 +49,22 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 54 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.StackPanel catPan;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 56 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.Button FirstCat;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 70 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.ScrollViewer ScrollContentHome;
|
||||
@ -65,7 +81,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 83 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 77 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.WrapPanel Muvies_Home;
|
||||
|
||||
@ -73,7 +89,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 92 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 80 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.WrapPanel Series_Home;
|
||||
|
||||
@ -81,7 +97,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 101 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 83 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.WrapPanel Music_Home;
|
||||
|
||||
@ -89,7 +105,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 110 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 86 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.WrapPanel Photos_Home;
|
||||
|
||||
@ -97,7 +113,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 120 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 91 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal LibVLCSharp.WPF.VideoView VideoView;
|
||||
|
||||
@ -105,7 +121,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 126 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 94 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.ScrollViewer ScrollContentCat;
|
||||
|
||||
@ -113,7 +129,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 129 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 97 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.TextBlock Name_of_Catagory_Text;
|
||||
|
||||
@ -121,7 +137,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 130 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 98 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.WrapPanel Name_of_Catagory;
|
||||
|
||||
@ -129,7 +145,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 136 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 99 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.TextBlock Name_of_Catagory_Text1;
|
||||
|
||||
@ -137,7 +153,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 137 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 100 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.WrapPanel Name_of_Catagory1;
|
||||
|
||||
@ -145,7 +161,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 146 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 105 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.ScrollViewer ScrollContentPlaylist;
|
||||
|
||||
@ -153,7 +169,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 147 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 107 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.StackPanel PlaylistContentPanel;
|
||||
|
||||
@ -161,7 +177,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 161 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 116 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.Slider itemProgress;
|
||||
|
||||
@ -169,7 +185,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 162 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 119 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.ProgressBar itemProgressVisual;
|
||||
|
||||
@ -177,7 +193,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 168 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 125 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.TextBlock title;
|
||||
|
||||
@ -185,7 +201,7 @@ namespace ModuleManager {
|
||||
#line hidden
|
||||
|
||||
|
||||
#line 173 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 130 "..\..\..\..\Views\MainWindow.xaml"
|
||||
[System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
|
||||
internal System.Windows.Controls.Slider vol;
|
||||
|
||||
@ -227,6 +243,18 @@ namespace ModuleManager {
|
||||
#line 9 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((ModuleManager.MainWindow)(target)).KeyUp += new System.Windows.Input.KeyEventHandler(this.Key_Up);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 10 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((ModuleManager.MainWindow)(target)).PreviewKeyDown += new System.Windows.Input.KeyEventHandler(this.MainWindow_PreviewKeyDown);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 11 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((ModuleManager.MainWindow)(target)).Loaded += new System.Windows.RoutedEventHandler(this.MainWindow_Loaded);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
return;
|
||||
@ -235,105 +263,101 @@ namespace ModuleManager {
|
||||
return;
|
||||
case 3:
|
||||
|
||||
#line 51 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 49 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.scanButton_Click);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
return;
|
||||
case 4:
|
||||
|
||||
#line 60 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Home_OnClick);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
this.catPan = ((System.Windows.Controls.StackPanel)(target));
|
||||
return;
|
||||
case 5:
|
||||
this.FirstCat = ((System.Windows.Controls.Button)(target));
|
||||
|
||||
#line 61 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Musik_OnClick);
|
||||
#line 57 "..\..\..\..\Views\MainWindow.xaml"
|
||||
this.FirstCat.Click += new System.Windows.RoutedEventHandler(this.Home_OnClick);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
return;
|
||||
case 6:
|
||||
|
||||
#line 62 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Photo_OnClick);
|
||||
#line 59 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Musik_OnClick);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
return;
|
||||
case 7:
|
||||
|
||||
#line 61 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Photo_OnClick);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
return;
|
||||
case 8:
|
||||
|
||||
#line 63 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Video_OnClick);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
return;
|
||||
case 8:
|
||||
case 9:
|
||||
|
||||
#line 64 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 65 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.PlayListButton_OnClick);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
return;
|
||||
case 9:
|
||||
case 10:
|
||||
this.ScrollContentHome = ((System.Windows.Controls.ScrollViewer)(target));
|
||||
return;
|
||||
case 10:
|
||||
case 11:
|
||||
this.Favorites_Home = ((System.Windows.Controls.WrapPanel)(target));
|
||||
return;
|
||||
case 11:
|
||||
case 12:
|
||||
this.Muvies_Home = ((System.Windows.Controls.WrapPanel)(target));
|
||||
return;
|
||||
case 12:
|
||||
case 13:
|
||||
this.Series_Home = ((System.Windows.Controls.WrapPanel)(target));
|
||||
return;
|
||||
case 13:
|
||||
case 14:
|
||||
this.Music_Home = ((System.Windows.Controls.WrapPanel)(target));
|
||||
return;
|
||||
case 14:
|
||||
case 15:
|
||||
this.Photos_Home = ((System.Windows.Controls.WrapPanel)(target));
|
||||
return;
|
||||
case 15:
|
||||
case 16:
|
||||
this.VideoView = ((LibVLCSharp.WPF.VideoView)(target));
|
||||
return;
|
||||
case 16:
|
||||
case 17:
|
||||
this.ScrollContentCat = ((System.Windows.Controls.ScrollViewer)(target));
|
||||
return;
|
||||
case 17:
|
||||
case 18:
|
||||
this.Name_of_Catagory_Text = ((System.Windows.Controls.TextBlock)(target));
|
||||
return;
|
||||
case 18:
|
||||
case 19:
|
||||
this.Name_of_Catagory = ((System.Windows.Controls.WrapPanel)(target));
|
||||
return;
|
||||
case 19:
|
||||
case 20:
|
||||
this.Name_of_Catagory_Text1 = ((System.Windows.Controls.TextBlock)(target));
|
||||
return;
|
||||
case 20:
|
||||
case 21:
|
||||
this.Name_of_Catagory1 = ((System.Windows.Controls.WrapPanel)(target));
|
||||
return;
|
||||
case 21:
|
||||
case 22:
|
||||
this.ScrollContentPlaylist = ((System.Windows.Controls.ScrollViewer)(target));
|
||||
return;
|
||||
case 22:
|
||||
this.PlaylistContentPanel = ((System.Windows.Controls.StackPanel)(target));
|
||||
return;
|
||||
case 23:
|
||||
|
||||
#line 148 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.PlayListButton_Click);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
this.PlaylistContentPanel = ((System.Windows.Controls.StackPanel)(target));
|
||||
return;
|
||||
case 24:
|
||||
|
||||
#line 158 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 113 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.PlayListButton_Click);
|
||||
|
||||
#line default
|
||||
@ -342,13 +366,13 @@ namespace ModuleManager {
|
||||
case 25:
|
||||
this.itemProgress = ((System.Windows.Controls.Slider)(target));
|
||||
|
||||
#line 161 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 116 "..\..\..\..\Views\MainWindow.xaml"
|
||||
this.itemProgress.PreviewMouseDown += new System.Windows.Input.MouseButtonEventHandler(this.ItemProgress_OnPreviewMouseDown);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 161 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 117 "..\..\..\..\Views\MainWindow.xaml"
|
||||
this.itemProgress.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler<double>(this.ItemProgress_OnValueChanged);
|
||||
|
||||
#line default
|
||||
@ -362,7 +386,7 @@ namespace ModuleManager {
|
||||
return;
|
||||
case 28:
|
||||
|
||||
#line 169 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 126 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.OnItemPriorButtonClick);
|
||||
|
||||
#line default
|
||||
@ -370,7 +394,7 @@ namespace ModuleManager {
|
||||
return;
|
||||
case 29:
|
||||
|
||||
#line 170 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 127 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.OnItemPauseBtn_Click);
|
||||
|
||||
#line default
|
||||
@ -378,7 +402,7 @@ namespace ModuleManager {
|
||||
return;
|
||||
case 30:
|
||||
|
||||
#line 171 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 128 "..\..\..\..\Views\MainWindow.xaml"
|
||||
((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.OnItemNextButtonClick);
|
||||
|
||||
#line default
|
||||
@ -387,7 +411,7 @@ namespace ModuleManager {
|
||||
case 31:
|
||||
this.vol = ((System.Windows.Controls.Slider)(target));
|
||||
|
||||
#line 173 "..\..\..\..\Views\MainWindow.xaml"
|
||||
#line 131 "..\..\..\..\Views\MainWindow.xaml"
|
||||
this.vol.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler<double>(this.RangeBase_OnValueChanged);
|
||||
|
||||
#line default
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("file finder test")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+654af164ab4489c774208e885e281885e008210b")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a8ad0bb2fd16c90755afdfb8d7218362d6b667b")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("file finder test")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("file finder test")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
56f52912c137b40320f8746d58c03b940fa0d8ec5ceba306cb1526abf606d929
|
||||
e92e270ed67f58a7b859d0d7fe2bbac7f7dc3a982926ac43573b8c03f4fb747d
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user