diff --git a/src/GitHub.VisualStudio/GitHub.VisualStudio.csproj b/src/GitHub.VisualStudio/GitHub.VisualStudio.csproj
index aa7ba8635f..ea72ecbbf3 100644
--- a/src/GitHub.VisualStudio/GitHub.VisualStudio.csproj
+++ b/src/GitHub.VisualStudio/GitHub.VisualStudio.csproj
@@ -142,6 +142,12 @@
..\..\packages\Microsoft.VisualStudio.Editor.14.3.25407\lib\net45\Microsoft.VisualStudio.Editor.dll
True
+
+ ..\..\packages\Microsoft.VisualStudio.ImageCatalog.14.3.25407\lib\net45\Microsoft.VisualStudio.ImageCatalog.dll
+
+
+ ..\..\packages\Microsoft.VisualStudio.Imaging.14.3.25407\lib\net45\Microsoft.VisualStudio.Imaging.dll
+
True
..\..\packages\Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime.14.3.25407\lib\Microsoft.VisualStudio.Imaging.Interop.14.0.DesignTime.dll
@@ -387,6 +393,8 @@
RepositoryRecloneView.xaml
+
+
LoggedOutView.xaml
diff --git a/src/GitHub.VisualStudio/Views/GitHubPane/DirectoryIsExpandedToImageMonikerConverter.cs b/src/GitHub.VisualStudio/Views/GitHubPane/DirectoryIsExpandedToImageMonikerConverter.cs
new file mode 100644
index 0000000000..e69f4c8568
--- /dev/null
+++ b/src/GitHub.VisualStudio/Views/GitHubPane/DirectoryIsExpandedToImageMonikerConverter.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Diagnostics.CodeAnalysis;
+using System.Globalization;
+using System.Windows.Data;
+using Microsoft.VisualStudio.Imaging;
+
+namespace GitHub.VisualStudio.Views.GitHubPane
+{
+ [SuppressMessage("Microsoft.Performance", "CA1812:AvoidUninstantiatedInternalClasses", Justification = "Used in XAML")]
+ internal sealed class DirectoryIsExpandedToImageMonikerConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ return (bool)value ? KnownMonikers.FolderOpened : KnownMonikers.FolderClosed;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/src/GitHub.VisualStudio/Views/GitHubPane/FileNameToImageMonikerConverter.cs b/src/GitHub.VisualStudio/Views/GitHubPane/FileNameToImageMonikerConverter.cs
new file mode 100644
index 0000000000..f89de42a53
--- /dev/null
+++ b/src/GitHub.VisualStudio/Views/GitHubPane/FileNameToImageMonikerConverter.cs
@@ -0,0 +1,37 @@
+using System;
+using System.ComponentModel;
+using System.Diagnostics.CodeAnalysis;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Data;
+using Microsoft.VisualStudio.Imaging.Interop;
+using Microsoft.VisualStudio.Shell;
+using Microsoft.VisualStudio.Shell.Interop;
+
+namespace GitHub.VisualStudio.Views.GitHubPane
+{
+ [SuppressMessage("Microsoft.Performance", "CA1812:AvoidUninstantiatedInternalClasses", Justification = "Used in XAML")]
+ internal sealed class FileNameToImageMonikerConverter : IValueConverter
+ {
+ private readonly IVsImageService2 imageService;
+
+ public FileNameToImageMonikerConverter()
+ {
+ imageService = (IVsImageService2)Package.GetGlobalService(typeof(SVsImageService));
+ }
+
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ // In design mode, imageService will be null
+ if (DesignerProperties.GetIsInDesignMode(new DependencyObject()))
+ return default(ImageMoniker);
+
+ return imageService.GetImageMonikerForFile((string)value);
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestDetailView.xaml b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestDetailView.xaml
index 67f493c3a5..843158820d 100644
--- a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestDetailView.xaml
+++ b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestDetailView.xaml
@@ -8,8 +8,10 @@
xmlns:prop="clr-namespace:GitHub.VisualStudio.UI;assembly=GitHub.VisualStudio.UI"
xmlns:markdig="clr-namespace:Markdig.Wpf;assembly=Markdig.Wpf"
xmlns:vsui="clr-namespace:Microsoft.VisualStudio.Shell;assembly=Microsoft.VisualStudio.Shell.14.0"
+ xmlns:theming="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Imaging"
Background="{DynamicResource GitHubVsToolWindowBackground}"
Foreground="{DynamicResource GitHubVsWindowText}"
+ theming:ImageThemingUtilities.ImageBackgroundColor="{Binding RelativeSource={RelativeSource Self}, Path=Background.Color}"
DataContext="{Binding ViewModel}"
d:DesignWidth="356"
d:DesignHeight="800"
diff --git a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestFilesView.xaml b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestFilesView.xaml
index b344d21c01..0927db4184 100644
--- a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestFilesView.xaml
+++ b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestFilesView.xaml
@@ -4,7 +4,9 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ghfvs="https://github.com/github/VisualStudio"
+ xmlns:local="clr-namespace:GitHub.VisualStudio.Views.GitHubPane"
xmlns:prop="clr-namespace:GitHub.VisualStudio.UI;assembly=GitHub.VisualStudio.UI"
+ xmlns:imaging="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.Imaging"
mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"
Name="root">
@@ -47,10 +49,14 @@
+
+
+
-
+
@@ -60,27 +66,8 @@
Tag="{Binding DataContext, ElementName=root}"
KeyboardNavigation.DirectionalNavigation="None">
-
-
-
-
-
-
-
+
diff --git a/src/GitHub.VisualStudio/packages.config b/src/GitHub.VisualStudio/packages.config
index dfdd36c63a..c5bc58b2e2 100644
--- a/src/GitHub.VisualStudio/packages.config
+++ b/src/GitHub.VisualStudio/packages.config
@@ -9,6 +9,8 @@
+
+