diff --git a/src/GitHub.App/ViewModels/GitHubPane/PullRequestCheckViewModel.cs b/src/GitHub.App/ViewModels/GitHubPane/PullRequestCheckViewModel.cs index 6b02dd634c..3938125c1b 100644 --- a/src/GitHub.App/ViewModels/GitHubPane/PullRequestCheckViewModel.cs +++ b/src/GitHub.App/ViewModels/GitHubPane/PullRequestCheckViewModel.cs @@ -20,9 +20,6 @@ public class PullRequestCheckViewModel: ViewModelBase, IPullRequestCheckViewMode private readonly IUsageTracker usageTracker; const string DefaultAvatar = "pack://application:,,,/GitHub.App;component/Images/default_user_avatar.png"; - [Import] - public IVisualStudioBrowser VisualStudioBrowser { get; set; } - private string title; private string description; private PullRequestCheckStatusEnum status; @@ -30,8 +27,7 @@ public class PullRequestCheckViewModel: ViewModelBase, IPullRequestCheckViewMode private string avatarUrl; private BitmapImage avatar; - public static IEnumerable Build(IViewViewModelFactory viewViewModelFactory, - PullRequestDetailModel pullRequest) + public static IEnumerable Build(IViewViewModelFactory viewViewModelFactory, PullRequestDetailModel pullRequest) { return pullRequest.Statuses?.Select(model => { @@ -79,7 +75,6 @@ public PullRequestCheckViewModel(IUsageTracker usageTracker) private void DoOpenDetailsUrl(object obj) { - VisualStudioBrowser.OpenUrl(DetailsUrl); usageTracker.IncrementCounter(x => x.NumberOfPRCheckStatusesOpenInGitHub).Forget(); } diff --git a/src/GitHub.App/ViewModels/GitHubPane/PullRequestDetailViewModel.cs b/src/GitHub.App/ViewModels/GitHubPane/PullRequestDetailViewModel.cs index 12d74c0065..a3eeda83cd 100644 --- a/src/GitHub.App/ViewModels/GitHubPane/PullRequestDetailViewModel.cs +++ b/src/GitHub.App/ViewModels/GitHubPane/PullRequestDetailViewModel.cs @@ -125,9 +125,7 @@ public PullRequestDetailViewModel( SyncSubmodules.Subscribe(_ => Refresh().ToObservable()); SubscribeOperationError(SyncSubmodules); - OpenOnGitHub = ReactiveCommand.Create().OnExecuteCompleted(o => { - usageTracker.IncrementCounter(x => x.NumberOfPRDetailsOpenInGitHub).Forget(); - }); + OpenOnGitHub = ReactiveCommand.Create(); ShowReview = ReactiveCommand.Create().OnExecuteCompleted(DoShowReview); } diff --git a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestCheckView.xaml b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestCheckView.xaml index 7005193bf3..5c1146858a 100644 --- a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestCheckView.xaml +++ b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestCheckView.xaml @@ -1,4 +1,5 @@ -Details - + diff --git a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestCheckView.xaml.cs b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestCheckView.xaml.cs index 6549bfdcb4..0bb8fe8d92 100644 --- a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestCheckView.xaml.cs +++ b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestCheckView.xaml.cs @@ -1,12 +1,36 @@ -using System.Windows.Controls; +using System; +using System.ComponentModel.Composition; +using GitHub.Exports; +using GitHub.Services; +using GitHub.UI; +using GitHub.ViewModels.GitHubPane; +using ReactiveUI; namespace GitHub.VisualStudio.Views.GitHubPane { - public partial class PullRequestCheckView : UserControl + public class GenericPullRequestCheckView : ViewBase { } + + [ExportViewFor(typeof(IPullRequestCheckViewModel))] + [PartCreationPolicy(CreationPolicy.NonShared)] + public partial class PullRequestCheckView : GenericPullRequestCheckView { public PullRequestCheckView() { InitializeComponent(); + + this.WhenActivated(d => + { + d(ViewModel.OpenDetailsUrl.Subscribe(_ => DoOpenDetailsUrl())); + }); + } + + [Import] + IVisualStudioBrowser VisualStudioBrowser { get; set; } + + void DoOpenDetailsUrl() + { + var browser = VisualStudioBrowser; + browser.OpenUrl(ViewModel.DetailsUrl); } } } diff --git a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestDetailView.xaml b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestDetailView.xaml index d2c221ad99..d96a1fd2d8 100644 --- a/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestDetailView.xaml +++ b/src/GitHub.VisualStudio/Views/GitHubPane/PullRequestDetailView.xaml @@ -43,6 +43,8 @@ + + @@ -257,8 +259,8 @@ - - + +