Added a touch of metro to the Library Explorer

This commit is contained in:
ScottIsAFool 2013-05-04 16:03:38 +01:00
parent 061a0c6f55
commit 68bc39fe4e
6 changed files with 171 additions and 40 deletions

View File

@ -1,23 +1,46 @@
<Window x:Class="MediaBrowser.ServerApplication.LibraryExplorer" <controls:MetroWindow x:Class="MediaBrowser.ServerApplication.LibraryExplorer"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MediaBrowser.ServerApplication" xmlns:local="clr-namespace:MediaBrowser.ServerApplication"
Title="Library Explorer" Height="733.75" Width="893"> xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
Title="Library Explorer"
Height="733.75"
Width="893">
<controls:MetroWindow.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colours.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Green.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</controls:MetroWindow.Resources>
<Grid Margin="0,0,0,10"> <Grid Margin="0,0,0,10">
<TreeView x:Name="tvwLibrary" HorizontalAlignment="Left" Margin="10,54,0,0" Width="399" SelectedItemChanged="tvwLibrary_SelectedItemChanged" Height="417" VerticalAlignment="Top"> <TreeView x:Name="tvwLibrary"
HorizontalAlignment="Left"
Margin="10,54,0,0"
Width="399"
SelectedItemChanged="tvwLibrary_SelectedItemChanged"
Height="417"
VerticalAlignment="Top">
<TreeView.Resources> <TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}"> <Style TargetType="{x:Type TreeViewItem}">
<Setter Property="HeaderTemplate"> <Setter Property="HeaderTemplate">
<Setter.Value> <Setter.Value>
<DataTemplate> <DataTemplate>
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<Image Name="img" Width="20" Height="20" Stretch="Fill" <Image Name="img"
Source="{Binding RelativeSource={RelativeSource Mode=FindAncestor, Width="20"
Height="20"
Stretch="Fill"
Source="{Binding RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type TreeViewItem}}, AncestorType={x:Type TreeViewItem}},
Path=Tag, Path=Tag,
Converter={x:Static local:ItemToImageConverter.Instance}}" Converter={x:Static local:ItemToImageConverter.Instance}}" />
/> <TextBlock Text="{Binding}"
<TextBlock Text="{Binding}" Margin="5,0" /> Margin="5,0" />
</StackPanel> </StackPanel>
</DataTemplate> </DataTemplate>
</Setter.Value> </Setter.Value>
@ -25,41 +48,143 @@
</Style> </Style>
</TreeView.Resources> </TreeView.Resources>
</TreeView> </TreeView>
<Button x:Name="btnLoad" Content="Load" HorizontalAlignment="Left" Margin="218,25,0,0" VerticalAlignment="Top" Width="75" RenderTransformOrigin="0.373,0.045" Click="btnLoad_Click" Visibility="Hidden"/> <Button x:Name="btnLoad"
<TextBox x:Name="txtData" Margin="427,54,0,0" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Height="417" Width="444" VerticalScrollBarVisibility="Auto" /> Content="Load"
HorizontalAlignment="Left"
<Label Content="Contents&#xD;&#xA;" HorizontalAlignment="Left" Margin="440,23,0,0" VerticalAlignment="Top" Height="26" Width="74" FontWeight="Bold"/> Margin="218,25,0,0"
<ListView x:Name="lstPreviews" HorizontalAlignment="Left" Margin="10,476,0,10" Width="861"> VerticalAlignment="Top"
Width="75"
RenderTransformOrigin="0.373,0.045"
Click="btnLoad_Click"
Visibility="Hidden" />
<TextBox x:Name="txtData"
Margin="427,54,0,0"
HorizontalAlignment="Left"
TextWrapping="Wrap"
VerticalAlignment="Top"
Height="417"
Width="444"
VerticalScrollBarVisibility="Auto" />
<Label Content="Contents&#xD;&#xA;"
HorizontalAlignment="Left"
Margin="440,23,0,0"
VerticalAlignment="Top"
Height="26"
Width="74"
FontWeight="Bold" />
<ListView x:Name="lstPreviews"
HorizontalAlignment="Left"
Margin="10,476,0,10"
Width="861">
<ListView.ItemsPanel> <ListView.ItemsPanel>
<ItemsPanelTemplate> <ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" MinWidth="100" /> <WrapPanel Orientation="Horizontal"
MinWidth="100" />
</ItemsPanelTemplate> </ItemsPanelTemplate>
</ListView.ItemsPanel> </ListView.ItemsPanel>
<ListView.ItemTemplate> <ListView.ItemTemplate>
<DataTemplate > <DataTemplate>
<Grid > <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="150" /> <RowDefinition Height="150" />
<RowDefinition Height="25" /> <RowDefinition Height="25" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Image Source="{Binding Preview}" Height="140" MaxWidth="300" Grid.Row="0"/> <Image Source="{Binding Preview}"
<TextBlock Text="{Binding Name}" Grid.Row="1" FontFamily="Segoe Media Center" FontSize="14" FontWeight="Bold" HorizontalAlignment="Center"/> Height="140"
MaxWidth="300"
Grid.Row="0" />
<TextBlock Text="{Binding Name}"
Grid.Row="1"
FontFamily="Segoe Media Center"
FontSize="14"
FontWeight="Bold"
HorizontalAlignment="Center" />
</Grid> </Grid>
</DataTemplate> </DataTemplate>
</ListView.ItemTemplate> </ListView.ItemTemplate>
</ListView> </ListView>
<ComboBox x:Name="ddlProfile" HorizontalAlignment="Left" Margin="10,25,0,0" VerticalAlignment="Top" Width="191" SelectionChanged="ddlProfile_SelectionChanged"/> <ComboBox x:Name="ddlProfile"
<Label Content="View;" HorizontalAlignment="Left" Margin="10,1,0,0" VerticalAlignment="Top" Height="24" Width="119" FontWeight="Bold" /> HorizontalAlignment="Left"
<Label x:Name="lblLoading" Content="Loading..." HorizontalAlignment="Left" Margin="140,150,0,0" VerticalAlignment="Top" FontSize="18" Foreground="LightGray" Visibility="Hidden" FontStyle="Italic" FontWeight="Bold" RenderTransformOrigin="0.258,0.5"/> Margin="10,25,0,0"
<Label x:Name="lblObjType" Content="Type:&#xA;" HorizontalAlignment="Left" Margin="534,23,0,0" VerticalAlignment="Top" Height="26" Width="158" FontWeight="Bold"/> VerticalAlignment="Top"
<Button x:Name="btnRefresh" Content="Refresh" HorizontalAlignment="Left" Margin="712,25,0,0" VerticalAlignment="Top" Width="82" Click="btnRefresh_Click"/> Width="191"
<CheckBox x:Name="cbxForce" Content="Force" HorizontalAlignment="Left" Margin="816,28,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.14,-0.562" Width="51"/> SelectionChanged="ddlProfile_SelectionChanged" />
<ComboBox x:Name="ddlIndexBy" HorizontalAlignment="Left" Margin="218,25,0,0" VerticalAlignment="Top" Width="92" SelectionChanged="ddlIndexBy_SelectionChanged"/> <Label Content="View;"
<Label x:Name="lblIndexBy" Content="Index By" HorizontalAlignment="Left" Margin="218,0,0,0" VerticalAlignment="Top" Height="34" Width="75" FontWeight="Bold" /> HorizontalAlignment="Left"
<ComboBox x:Name="ddlSortBy" HorizontalAlignment="Left" Margin="315,25,0,0" VerticalAlignment="Top" Width="94" SelectionChanged="ddlSortBy_SelectionChanged"/> Margin="10,1,0,0"
<Label x:Name="lblSortBy" Content="Sort By" HorizontalAlignment="Left" Margin="314,0,0,0" VerticalAlignment="Top" Height="34" Width="75" FontWeight="Bold" /> VerticalAlignment="Top"
<Label x:Name="lblVersion" Content="Version: " HorizontalAlignment="Left" Margin="729,-6,0,0" VerticalAlignment="Top" Width="138"/> Height="24"
Width="119"
FontWeight="Bold" />
<Label x:Name="lblLoading"
Content="Loading..."
HorizontalAlignment="Left"
Margin="140,150,0,0"
VerticalAlignment="Top"
FontSize="18"
Foreground="LightGray"
Visibility="Hidden"
FontStyle="Italic"
FontWeight="Bold"
RenderTransformOrigin="0.258,0.5" />
<Label x:Name="lblObjType"
Content="Type:&#xA;"
HorizontalAlignment="Left"
Margin="534,23,0,0"
VerticalAlignment="Top"
Height="26"
Width="158"
FontWeight="Bold" />
<Button x:Name="btnRefresh"
Content="Refresh"
HorizontalAlignment="Left"
Margin="712,25,0,0"
VerticalAlignment="Top"
Width="82"
Click="btnRefresh_Click" />
<CheckBox x:Name="cbxForce"
Content="Force"
HorizontalAlignment="Left"
Margin="816,28,0,0"
VerticalAlignment="Top"
RenderTransformOrigin="-0.14,-0.562"
Width="51" />
<ComboBox x:Name="ddlIndexBy"
HorizontalAlignment="Left"
Margin="218,25,0,0"
VerticalAlignment="Top"
Width="92"
SelectionChanged="ddlIndexBy_SelectionChanged" />
<Label x:Name="lblIndexBy"
Content="Index By"
HorizontalAlignment="Left"
Margin="218,0,0,0"
VerticalAlignment="Top"
Height="34"
Width="75"
FontWeight="Bold" />
<ComboBox x:Name="ddlSortBy"
HorizontalAlignment="Left"
Margin="315,25,0,0"
VerticalAlignment="Top"
Width="94"
SelectionChanged="ddlSortBy_SelectionChanged" />
<Label x:Name="lblSortBy"
Content="Sort By"
HorizontalAlignment="Left"
Margin="314,0,0,0"
VerticalAlignment="Top"
Height="34"
Width="75"
FontWeight="Bold" />
<Label x:Name="lblVersion"
Content="Version: "
HorizontalAlignment="Left"
Margin="729,-6,0,0"
VerticalAlignment="Top"
Width="138" />
</Grid> </Grid>
</Window> </controls:MetroWindow>

View File

@ -1,4 +1,5 @@
using MediaBrowser.Common; using MahApps.Metro.Controls;
using MediaBrowser.Common;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Entities.TV;
@ -27,7 +28,7 @@ namespace MediaBrowser.ServerApplication
/// <summary> /// <summary>
/// Interaction logic for LibraryExplorer.xaml /// Interaction logic for LibraryExplorer.xaml
/// </summary> /// </summary>
public partial class LibraryExplorer : Window public partial class LibraryExplorer : MetroWindow
{ {
private readonly ILogger _logger; private readonly ILogger _logger;

View File

@ -1,4 +1,5 @@
using MediaBrowser.Common; using MahApps.Metro.Controls;
using MediaBrowser.Common;
using MediaBrowser.Controller; using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;

View File

@ -123,6 +123,9 @@
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\DotNetZip.1.9.1.8\lib\net20\Ionic.Zip.dll</HintPath> <HintPath>..\packages\DotNetZip.1.9.1.8\lib\net20\Ionic.Zip.dll</HintPath>
</Reference> </Reference>
<Reference Include="MahApps.Metro">
<HintPath>..\packages\MahApps.Metro.0.11.0.17-ALPHA\lib\net45\MahApps.Metro.dll</HintPath>
</Reference>
<Reference Include="MediaBrowser.IsoMounter, Version=1.0.4827.21973, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="MediaBrowser.IsoMounter, Version=1.0.4827.21973, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\MediaBrowser.IsoMounting.3.0.51\lib\net45\MediaBrowser.IsoMounter.dll</HintPath> <HintPath>..\packages\MediaBrowser.IsoMounting.3.0.51\lib\net45\MediaBrowser.IsoMounter.dll</HintPath>
@ -157,6 +160,9 @@
<Reference Include="System.Net" /> <Reference Include="System.Net" />
<Reference Include="System.Runtime.Remoting" /> <Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\MahApps.Metro.0.11.0.17-ALPHA\lib\net45\System.Windows.Interactivity.dll</HintPath>
</Reference>
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />

View File

@ -2,6 +2,7 @@
<packages> <packages>
<package id="DotNetZip" version="1.9.1.8" targetFramework="net45" /> <package id="DotNetZip" version="1.9.1.8" targetFramework="net45" />
<package id="Hardcodet.Wpf.TaskbarNotification" version="1.0.4.0" targetFramework="net45" /> <package id="Hardcodet.Wpf.TaskbarNotification" version="1.0.4.0" targetFramework="net45" />
<package id="MahApps.Metro" version="0.11.0.17-ALPHA" targetFramework="net45" />
<package id="MediaBrowser.IsoMounting" version="3.0.51" targetFramework="net45" /> <package id="MediaBrowser.IsoMounting" version="3.0.51" targetFramework="net45" />
<package id="NLog" version="2.0.1.2" targetFramework="net45" /> <package id="NLog" version="2.0.1.2" targetFramework="net45" />
<package id="ServiceStack.Common" version="3.9.43" targetFramework="net45" /> <package id="ServiceStack.Common" version="3.9.43" targetFramework="net45" />

View File

@ -173,7 +173,4 @@ Global
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
EndGlobal EndGlobal