private static VisualizerSettings GetClone(VisualizerSettings instance) { lock (_instanceLocker) { return(Utilities.CreateClone(_instance)); } }
public static void CancelClone() { lock (_cloneLocker) { _clone = null; } }
public static void PromoteClone() { lock (_instanceLocker) { _instance = Clone; lock (_cloneLocker) { _clone = null; } } }
private static VisualizerSettings Load() { if (File.Exists(_xmlFileName) == false || _userSettingsOverwriteDecline == true) { return(new VisualizerSettings()); } try { using (FileStream stream = new FileStream(_xmlFileName, FileMode.Open, FileAccess.Read, FileShare.Read)) { DataContractSerializer serializer = new DataContractSerializer(typeof(VisualizerSettings)); VisualizerSettings settings = serializer.ReadObject(stream) as VisualizerSettings; return(settings); } } catch (Exception ex) { string lineSpacing = Environment.NewLine + Environment.NewLine; string message = string.Format( "The system was not able to load the current settings. The specific error is: {0}." + lineSpacing + "Do you want to revert to default settings?" + lineSpacing + "Select Yes if you want to revert to the default settings. You will likely lose any custom settings if you choose this option." + lineSpacing + "Select No to end the program and manually correct the problem.", ex.Message); DialogResult result = MessageBox.Show( message, "Unable to load settings", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); if (result == DialogResult.No) { _userSettingsOverwriteDecline = true; Application.Exit(); } return(new VisualizerSettings()); } }
private void OkButton_Click(object sender, EventArgs e) { VisualizerSettings.PromoteClone(); VisualizerSettings.Instance.Save(); DialogResult = DialogResult.OK; }
private void CancelButton_Click(object sender, EventArgs e) { VisualizerSettings.CancelClone(); DialogResult = DialogResult.Cancel; }