private void MergeToolFix_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(CommonLogic.GetGlobalMergeTool())) { if ( MessageBox.Show(this, _noMergeToolConfigured.Text, _noMergeToolConfiguredCaption.Text, MessageBoxButtons.YesNo) == DialogResult.Yes) { CommonLogic.SetGlobalMergeTool("kdiff3"); PageHost.LoadAll(); // apply settings to dialog controls (otherwise the later called SaveAndRescan_Click would overwrite settings again) } else { GotoPageGlobalSettings(); return; } } if (CommonLogic.IsMergeTool("kdiff3")) { CheckSettingsLogic.SolveMergeToolPathForKDiff(); } else if (_autoConfigMergeTools.Any(tool => CommonLogic.IsMergeTool(tool))) { CheckSettingsLogic.AutoConfigMergeToolCmd(); SetGlobalPathSetting( string.Format("mergetool.{0}.cmd", CommonLogic.GetGlobalMergeTool()), CheckSettingsLogic.GetMergeToolCmdText()); } if (CommonLogic.IsMergeTool("kdiff3") && string.IsNullOrEmpty(GetGlobalSetting("mergetool.kdiff3.path"))) { MessageBox.Show(this, _kdiff3NotFoundAuto.Text); GotoPageGlobalSettings(); return; } SaveAndRescan_Click(null, null); }