Ejemplo n.º 1
0
        public async Task Load()
        {
            try
            {
                IsProcessing = true;
                var tools = await Task.Run(() => _compareToolSettingsPersist.Load());

                _orgContainer = tools;
                CompareTools.Assign(tools.GetCompareTools());
                SelectedComapreToolSettings = CompareTools.ElementAtOrDefault(tools.CurrentActiveIndex);
            }
            finally
            {
                IsProcessing = false;
            }
        }
        public void Setup()
        {
            _compareTools = new List <CompareToolSettings>
            {
                new CompareToolSettings
                {
                    Name    = "Beyond Compare3",
                    ExePath = "dummyPath"
                },
                new CompareToolSettings
                {
                    Name    = "KDiff3",
                    ExePath = "dummyPath"
                }
            };

            _compareToolsContainer = new CompareToolSettingsContainer(_compareTools, -1);

            _compareToolSettingsPersist = Substitute.For <ICompareToolSettingsPersist>();
            _compareToolSettingsPersist.Load().Returns(_compareToolsContainer);
            _viewModel = new CompareToolSettingsVm(_compareToolSettingsPersist);
        }
Ejemplo n.º 3
0
        public void Open(string @base, string head)
        {
            var toolContainer = _compareToolSettingsPersist.Load();
            var tool          = toolContainer.GetCompareTools().ElementAt(toolContainer.CurrentActiveIndex);
            var p             = new Process
            {
                StartInfo = new ProcessStartInfo
                {
                    FileName         = tool.ExePath,
                    Arguments        = _diffToolParamBuilder.Build(tool.Parameters, @base, head),
                    WorkingDirectory = Path.GetDirectoryName(tool.ExePath),
                }
            };

            try
            {
                p.Start();
            }
            catch (Exception ex)
            {
                throw new InvalidDiffToolSettings(ex);
            }
        }