Beispiel #1
0
 private static VisualizerSettings GetClone(VisualizerSettings instance)
 {
     lock (_instanceLocker)
     {
         return(Utilities.CreateClone(_instance));
     }
 }
Beispiel #2
0
 public static void CancelClone()
 {
     lock (_cloneLocker)
     {
         _clone = null;
     }
 }
Beispiel #3
0
 public static void PromoteClone()
 {
     lock (_instanceLocker)
     {
         _instance = Clone;
         lock (_cloneLocker)
         {
             _clone = null;
         }
     }
 }
Beispiel #4
0
        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());
            }
        }
Beispiel #5
0
 private void OkButton_Click(object sender, EventArgs e)
 {
     VisualizerSettings.PromoteClone();
     VisualizerSettings.Instance.Save();
     DialogResult = DialogResult.OK;
 }
Beispiel #6
0
 private void CancelButton_Click(object sender, EventArgs e)
 {
     VisualizerSettings.CancelClone();
     DialogResult = DialogResult.Cancel;
 }