aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-17 14:09:35 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-17 14:09:35 -0400
commitfb88e4d5fcd02ada0999a09b68a49617f4a35309 (patch)
treefe80be1bbd5e4a3436a5ca31725738bf332ca614 /MediaBrowser.ServerApplication
parentf1770605eab46608fcee1abec04eb5ead2b27ab6 (diff)
Added the ability to reload the server and created a Plugins solution
Diffstat (limited to 'MediaBrowser.ServerApplication')
-rw-r--r--MediaBrowser.ServerApplication/MainWindow.xaml25
-rw-r--r--MediaBrowser.ServerApplication/MainWindow.xaml.cs65
-rw-r--r--MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj9
-rw-r--r--MediaBrowser.ServerApplication/Resources/Images/Icon.icobin32038 -> 146168 bytes
-rw-r--r--MediaBrowser.ServerApplication/Resources/Images/icon16.icobin1150 -> 0 bytes
-rw-r--r--MediaBrowser.ServerApplication/Resources/Images/loadingIcon1-16.icobin1150 -> 0 bytes
-rw-r--r--MediaBrowser.ServerApplication/Resources/Images/loadingIcon1.icobin0 -> 179144 bytes
-rw-r--r--MediaBrowser.ServerApplication/Resources/Images/loadingIcon2-16.icobin1150 -> 0 bytes
-rw-r--r--MediaBrowser.ServerApplication/Resources/Images/loadingIcon2.icobin0 -> 176716 bytes
-rw-r--r--MediaBrowser.ServerApplication/Resources/Images/loadingIcon3.icobin0 -> 175427 bytes
-rw-r--r--MediaBrowser.ServerApplication/Resources/Images/loadingIcon4.icobin0 -> 176666 bytes
11 files changed, 90 insertions, 9 deletions
diff --git a/MediaBrowser.ServerApplication/MainWindow.xaml b/MediaBrowser.ServerApplication/MainWindow.xaml
index e5c848752..ade1caee9 100644
--- a/MediaBrowser.ServerApplication/MainWindow.xaml
+++ b/MediaBrowser.ServerApplication/MainWindow.xaml
@@ -4,16 +4,37 @@
xmlns:tb="http://www.hardcodet.net/taskbar"
Title="MainWindow" Height="350" Width="525" AllowsTransparency="True" Background="Transparent" WindowStyle="None" ShowInTaskbar="False">
<Grid>
- <tb:TaskbarIcon Name="MbTaskbarIcon" IconSource="/Resources/Images/Icon.ico" ToolTipText="MediaBrowser Server">
+ <tb:TaskbarIcon Name="MbTaskbarIcon" ToolTipText="MediaBrowser Server">
<tb:TaskbarIcon.ContextMenu>
<ContextMenu Background="White">
<MenuItem Name="cmOpenDashboard" Header="Open Dashboard" Click="cmOpenDashboard_click"/>
+ <MenuItem Name="cmdReloadServer" Header="Reload Server" Click="cmdReloadServer_click"/>
<MenuItem Name="cmVisitCT" Header="Visit Community Tracker" Click="cmVisitCT_click"/>
<Separator/>
<MenuItem Name="cmExit" Header="Exit" Click="cmExit_click"/>
</ContextMenu>
- </tb:TaskbarIcon.ContextMenu>
+ </tb:TaskbarIcon.ContextMenu>
+
+ <tb:TaskbarIcon.Style>
+ <Style TargetType="{x:Type tb:TaskbarIcon}">
+ <Setter Property="IconSource" Value="/Resources/Images/icon.ico" />
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding LoadingImageIndex}" Value="1">
+ <Setter Property="IconSource" Value="/Resources/Images/loadingIcon1.ico" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding LoadingImageIndex}" Value="2">
+ <Setter Property="IconSource" Value="/Resources/Images/loadingIcon2.ico" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding LoadingImageIndex}" Value="3">
+ <Setter Property="IconSource" Value="/Resources/Images/loadingIcon3.ico" />
+ </DataTrigger>
+ <DataTrigger Binding="{Binding LoadingImageIndex}" Value="4">
+ <Setter Property="IconSource" Value="/Resources/Images/loadingIcon4.ico" />
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </tb:TaskbarIcon.Style>
</tb:TaskbarIcon>
</Grid>
diff --git a/MediaBrowser.ServerApplication/MainWindow.xaml.cs b/MediaBrowser.ServerApplication/MainWindow.xaml.cs
index 04da97a2b..3839dc52e 100644
--- a/MediaBrowser.ServerApplication/MainWindow.xaml.cs
+++ b/MediaBrowser.ServerApplication/MainWindow.xaml.cs
@@ -1,4 +1,7 @@
-using System.Diagnostics;
+using Hardcodet.Wpf.TaskbarNotification;
+using System;
+using System.ComponentModel;
+using System.Threading;
using System.Windows;
namespace MediaBrowser.ServerApplication
@@ -6,12 +9,38 @@ namespace MediaBrowser.ServerApplication
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
- public partial class MainWindow : Window
+ public partial class MainWindow : Window, INotifyPropertyChanged
{
public MainWindow()
{
InitializeComponent();
- //LoadKernel();
+ Loaded += MainWindow_Loaded;
+ }
+
+ void MainWindow_Loaded(object sender, RoutedEventArgs e)
+ {
+ DataContext = this;
+ }
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ public void OnPropertyChanged(String info)
+ {
+ if (PropertyChanged != null)
+ {
+ PropertyChanged(this, new PropertyChangedEventArgs(info));
+ }
+ }
+
+ private int _loadingImageIndex;
+ public int LoadingImageIndex
+ {
+ get { return _loadingImageIndex; }
+ set
+ {
+ _loadingImageIndex = value;
+ OnPropertyChanged("LoadingImageIndex");
+ }
}
#region Context Menu events
@@ -31,6 +60,36 @@ namespace MediaBrowser.ServerApplication
Close();
}
+ private async void cmdReloadServer_click(object sender, RoutedEventArgs e)
+ {
+ MbTaskbarIcon.ShowBalloonTip("Media Browser is reloading", "Please wait...", BalloonIcon.Info);
+
+ LoadingImageIndex = 0;
+
+ Timer timer = new Timer(LoadingIconTimerCallback, null, 0, 250);
+
+ await (Application.Current as App).ReloadKernel().ConfigureAwait(false);
+
+ timer.Dispose();
+
+ LoadingImageIndex = 0;
+ }
+
+ private void LoadingIconTimerCallback(object stateInfo)
+ {
+ const int numImages = 4;
+
+ if (LoadingImageIndex < numImages)
+ {
+ LoadingImageIndex++;
+ }
+ else
+ {
+ LoadingImageIndex = 1;
+ }
+ }
+
#endregion
+
}
}
diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
index 4843f024a..de20c9256 100644
--- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
+++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
@@ -122,14 +122,15 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
- <Resource Include="Resources\Images\icon16.ico" />
+ <Resource Include="Resources\Images\icon.ico" />
</ItemGroup>
<ItemGroup>
- <Resource Include="Resources\Images\icon.ico" />
+ <Resource Include="Resources\Images\loadingIcon1.ico" />
+ <Resource Include="Resources\Images\loadingIcon2.ico" />
</ItemGroup>
<ItemGroup>
- <Resource Include="Resources\Images\loadingIcon1-16.ico" />
- <Resource Include="Resources\Images\loadingIcon2-16.ico" />
+ <Resource Include="Resources\Images\loadingIcon3.ico" />
+ <Resource Include="Resources\Images\loadingIcon4.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
diff --git a/MediaBrowser.ServerApplication/Resources/Images/Icon.ico b/MediaBrowser.ServerApplication/Resources/Images/Icon.ico
index f8accfab2..1541dabdc 100644
--- a/MediaBrowser.ServerApplication/Resources/Images/Icon.ico
+++ b/MediaBrowser.ServerApplication/Resources/Images/Icon.ico
Binary files differ
diff --git a/MediaBrowser.ServerApplication/Resources/Images/icon16.ico b/MediaBrowser.ServerApplication/Resources/Images/icon16.ico
deleted file mode 100644
index bd1b788d8..000000000
--- a/MediaBrowser.ServerApplication/Resources/Images/icon16.ico
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.ServerApplication/Resources/Images/loadingIcon1-16.ico b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon1-16.ico
deleted file mode 100644
index 76588068e..000000000
--- a/MediaBrowser.ServerApplication/Resources/Images/loadingIcon1-16.ico
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.ServerApplication/Resources/Images/loadingIcon1.ico b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon1.ico
new file mode 100644
index 000000000..f7c2f2783
--- /dev/null
+++ b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon1.ico
Binary files differ
diff --git a/MediaBrowser.ServerApplication/Resources/Images/loadingIcon2-16.ico b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon2-16.ico
deleted file mode 100644
index 4d986a85b..000000000
--- a/MediaBrowser.ServerApplication/Resources/Images/loadingIcon2-16.ico
+++ /dev/null
Binary files differ
diff --git a/MediaBrowser.ServerApplication/Resources/Images/loadingIcon2.ico b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon2.ico
new file mode 100644
index 000000000..0f20c2b7a
--- /dev/null
+++ b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon2.ico
Binary files differ
diff --git a/MediaBrowser.ServerApplication/Resources/Images/loadingIcon3.ico b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon3.ico
new file mode 100644
index 000000000..bc915ea9f
--- /dev/null
+++ b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon3.ico
Binary files differ
diff --git a/MediaBrowser.ServerApplication/Resources/Images/loadingIcon4.ico b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon4.ico
new file mode 100644
index 000000000..183049b06
--- /dev/null
+++ b/MediaBrowser.ServerApplication/Resources/Images/loadingIcon4.ico
Binary files differ