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 @@ + +