private bool CheckDiffToolConfiguration() { DiffTool.Visible = true; string difftool = CommonLogic.GetGlobalDiffTool(); if (string.IsNullOrEmpty(difftool)) { RenderSettingUnset(DiffTool, DiffTool_Fix, _adviceDiffToolConfiguration.Text); return(false); } string cmd = GetGlobalSetting($"difftool.{difftool}.cmd"); if (cmd.IsNullOrWhiteSpace()) { cmd = MergeToolsHelper.DiffToolCmdSuggest(difftool, ""); if (cmd.IsNullOrWhiteSpace()) { RenderSettingUnset(DiffTool, DiffTool_Fix, _adviceDiffToolConfiguration.Text); return(false); } } RenderSettingSet(DiffTool, DiffTool_Fix, string.Format(_diffToolXConfigured.Text, difftool)); return(true); }
private void DiffToolCmdSuggest_Click(object sender, EventArgs e) { if (!EnvUtils.RunningOnWindows()) { return; } var diffToolPath = DifftoolPath.Text.Trim().Trim('"', '\''); CurrentSettings.SetPathValue(string.Format("difftool.{0}.path", _NO_TRANSLATE_GlobalDiffTool.Text.Trim()), diffToolPath ?? ""); string exeName; string exeFile; if (!string.IsNullOrEmpty(diffToolPath)) { exeFile = diffToolPath; exeName = Path.GetFileName(exeFile); } else { exeFile = MergeToolsHelper.FindDiffToolFullPath(ConfigFileSettingsSet, _NO_TRANSLATE_GlobalDiffTool.Text, out exeName); } if (string.IsNullOrEmpty(exeFile)) { DifftoolPath.SelectAll(); DifftoolPath.SelectedText = ""; DifftoolCmd.SelectAll(); DifftoolCmd.SelectedText = ""; if (sender != null) { MessageBox.Show(this, string.Format(_toolSuggestPathText.Text, exeName), _diffToolSuggestCaption.Text); } return; } DifftoolPath.SelectAll(); // allow Undo action DifftoolPath.SelectedText = exeFile; DifftoolCmd.SelectAll(); DifftoolCmd.SelectedText = MergeToolsHelper.DiffToolCmdSuggest(_NO_TRANSLATE_GlobalDiffTool.Text, exeFile); }
private void DiffToolCmdSuggest_Click(object sender, EventArgs e) { if (!EnvUtils.RunningOnWindows()) { return; } CurrentSettings.SetPathValue(string.Format("difftool.{0}.path", GlobalMergeTool.Text.Trim()), MergetoolPath.Text.Trim()); string exeName; string exeFile; if (!String.IsNullOrEmpty(DifftoolPath.Text)) { exeFile = DifftoolPath.Text; exeName = Path.GetFileName(exeFile); } else { exeFile = MergeToolsHelper.FindDiffToolFullPath(ConfigFileSettingsSet, GlobalDiffTool.Text, out exeName); } if (String.IsNullOrEmpty(exeFile)) { DifftoolPath.SelectAll(); DifftoolPath.SelectedText = ""; DifftoolCmd.SelectAll(); DifftoolCmd.SelectedText = ""; if (sender != null) { MessageBox.Show(this, String.Format(CheckSettingsLogic.ToolSuggestPathText.Text, exeName), __diffToolSuggestCaption.Text); } return; } DifftoolPath.SelectAll(); // allow Undo action DifftoolPath.SelectedText = exeFile; DifftoolCmd.SelectAll(); DifftoolCmd.SelectedText = MergeToolsHelper.DiffToolCmdSuggest(GlobalDiffTool.Text, exeFile); }