private bool ApplyChangesToSkylineSettings() { if (!SkylineSettings.UpdateSettings(radioButtonUseSkyline.Checked, radioButtonWebBasedSkyline.Checked, textBoxSkylinePath.Text, out var errors)) { ShowWarningDialog( string.Format(Resources.MainForm_ApplyChangesToSkylineSettings_Cannot_Update__0__Settings, SkylineSettings.Skyline), errors); UpdateSkylineTypeAndInstallPathControls(); // Reset controls to saved settings return(false); } else { if (radioButtonWebBasedSkyline.Checked) { textBoxSkylinePath.Text = string.Empty; } ShowInfoDialog( string.Format(Resources.MainForm_ApplyChangesToSkylineSettings__0__Settings_Updated, SkylineSettings.Skyline), string.Format( Resources.MainForm_ApplyChangesToSkylineSettings__0__settings_were_updated_successfully_, SkylineSettings.Skyline)); } return(true); }
private void UpdateSkylineTypeAndInstallPathControls() { if (!SkylineSettings.IsInitialized()) { return; } radioButtonUseSkyline.Checked = SkylineSettings.UseSkyline; radioButtonUseSkylineDaily.Checked = !SkylineSettings.UseSkyline; var useClickOnce = SkylineSettings.UseClickOnceInstall; radioButtonWebBasedSkyline.Checked = useClickOnce; radioButtonSpecifySkylinePath.Checked = !useClickOnce; textBoxSkylinePath.Text = SkylineSettings.SkylineInstallDir; textBoxSkylinePath.Enabled = !useClickOnce; buttonFileDialogSkylineInstall.Enabled = !useClickOnce; }
private void TabMain_Deselecting(object sender, TabControlCancelEventArgs e) { if (e.TabPage.Name.Equals("tabSettings")) { if (!SkylineSettings.IsInitialized()) { // Do not let the user switch to another tab without specifying a valid Skyline installation. ShowErrorDialog( string.Format(Resources.MainForm_TabMain_Deselecting__0__Settings_Not_Initialized, SkylineSettings.Skyline), string.Format( Resources .MainForm_TabMain_Deselecting_An_installation_of__0__or__1__is_required_to_use__2___Please_select__3__installation_details_to_continue_, SkylineSettings.Skyline, SkylineSettings.SkylineDaily, Program.AppName, SkylineSettings.Skyline)); e.Cancel = true; return; } if (SkylineSettings.SettingsChanged(radioButtonUseSkyline.Checked, radioButtonWebBasedSkyline.Checked, textBoxSkylinePath.Text)) { var result = ShowQuestionDialog( string.Format(Resources.MainForm_TabMain_Deselecting_Unsaved__0__Settings, SkylineSettings.Skyline), string.Format( Resources .MainForm_TabMain_Deselecting__0__settings_have_not_been_saved__Would_you_like_to_save_them_, SkylineSettings.Skyline)); if (result == DialogResult.Yes) { if (!ApplyChangesToSkylineSettings()) { e.Cancel = true; } } else { UpdateSkylineTypeAndInstallPathControls(); } } } }
private void UpdateSettingsTab() { cb_minimizeToSysTray.Checked = Settings.Default.MinimizeToSystemTray; cb_keepRunning.Checked = Settings.Default.KeepAutoQcRunning; cb_minimizeToSysTray.CheckedChanged += cb_minimizeToSysTray_CheckedChanged; cb_keepRunning.CheckedChanged += cb_keepRunning_CheckedChanged; if (SkylineSettings.IsInitialized()) { UpdateSkylineTypeAndInstallPathControls(); Program.LogInfo(new StringBuilder("Skyline settings are: ").Append(SkylineSettings.GetSkylineSettingsStr()).ToString()); } else { // If Skyline settings are not initialized (most likely because we could not find a valid Skyline installation at first startup) // show the "Settings" tab for the user to enter the details of the Skyline installation they want to use. // If they try to switch to another tab before saving valid Skyline settings a warning will be displayed. tabMain.SelectedTab = tabSettings; } }
private static void InitSkylineSettings() { if (SkylineSettings.IsInitialized() || SkylineSettings.FindSkyline(out var pathsChecked)) { return; } var message = new StringBuilder(); message.AppendLine( string.Format( Resources.Program_InitSkylineSettings__0__requires__1__or__2__to_be_installed_on_the_computer_, AppName, SkylineSettings.Skyline, SkylineSettings.SkylineDaily)) .AppendLine(string.Format( Resources.Program_InitSkylineSettings_Unable_to_find__0__at_any_of_the_following_locations__, SkylineSettings.Skyline)) .AppendLine(string.Join(Environment.NewLine, pathsChecked)).AppendLine() .AppendLine( string.Format(Resources.Program_InitSkylineSettings_Please_install__0__or__1__to_use__2_, SkylineSettings.Skyline, SkylineSettings.SkylineDaily, AppName)); MessageBox.Show(message.ToString(), string.Format(Resources.Program_InitSkylineSettings_Unable_To_Find__0_, SkylineSettings.Skyline), MessageBoxButtons.OK, MessageBoxIcon.Error); }