|
|
|
@ -9,12 +9,28 @@ namespace ICSharpCode.PackageManagement
@@ -9,12 +9,28 @@ namespace ICSharpCode.PackageManagement
|
|
|
|
|
{ |
|
|
|
|
public class FileConflictResolver : ServiceWithWorkbenchOwner, IFileConflictResolver |
|
|
|
|
{ |
|
|
|
|
IPackageManagementWorkbench workbench; |
|
|
|
|
|
|
|
|
|
public FileConflictResolver() |
|
|
|
|
: this(new PackageManagementWorkbench()) |
|
|
|
|
{ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public FileConflictResolver(IPackageManagementWorkbench workbench) |
|
|
|
|
{ |
|
|
|
|
this.workbench = workbench; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public FileConflictResolution ResolveFileConflict(string message) |
|
|
|
|
{ |
|
|
|
|
var viewModel = new FileConflictViewModel(message); |
|
|
|
|
FileConflictView view = CreateFileConflictView(viewModel); |
|
|
|
|
view.ShowDialog(); |
|
|
|
|
return viewModel.GetResolution(); |
|
|
|
|
if (workbench.InvokeRequired) { |
|
|
|
|
return workbench.SafeThreadFunction(() => ResolveFileConflict(message)); |
|
|
|
|
} else { |
|
|
|
|
var viewModel = new FileConflictViewModel(message); |
|
|
|
|
FileConflictView view = CreateFileConflictView(viewModel); |
|
|
|
|
view.ShowDialog(); |
|
|
|
|
return viewModel.GetResolution(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
FileConflictView CreateFileConflictView(FileConflictViewModel viewModel) |
|
|
|
|