public static UserPreferences LoadFromFile(String path) { if (!File.Exists(path)) { UserPreferences prefs = new UserPreferences(); prefs.SaveToFile(DefaultFileName); return prefs; } else { UserPreferences objectToSerialize; try { Stream stream = File.Open(path, FileMode.Open); BinaryFormatter bFormatter = new BinaryFormatter(); objectToSerialize = (UserPreferences)bFormatter.Deserialize(stream); stream.Close(); } catch (Exception) { objectToSerialize = new UserPreferences(); } return objectToSerialize; } }
private void préférencesUtilisateurToolStripMenuItem_Click(object sender, EventArgs e) { PreferencesDialog dlg = new PreferencesDialog(GlobalPreferences.Prefs, this); UserPreferences oldPrefs = new UserPreferences( GlobalPreferences.Prefs ); switch (dlg.ShowDialog()) { case System.Windows.Forms.DialogResult.OK: { Prefs = dlg.GeneratePreferences(); GlobalPreferences.Prefs = Prefs; Prefs.SaveToFile(UserPreferences.DefaultFileName); ShowPopup("Sauvegarde des préférences", "Les préférences ont été sauvegardées avec succèes."); } break; case System.Windows.Forms.DialogResult.Retry: { Prefs = dlg.GeneratePreferences(); Prefs.SaveToFile(UserPreferences.DefaultFileName); Application.Restart(); } break; case System.Windows.Forms.DialogResult.Ignore: { GlobalPreferences.Prefs = oldPrefs; History.Clear(); ShowPopup("Historique", "L'historique a été nettoyé avec succèes."); } break; case System.Windows.Forms.DialogResult.Yes: { GlobalPreferences.Prefs = oldPrefs; importerToolStripMenuItem_Click(sender, e); } break; case System.Windows.Forms.DialogResult.No: { GlobalPreferences.Prefs = oldPrefs; exporterToolStripMenuItem_Click(sender, e); } break; default: GlobalPreferences.Prefs = oldPrefs; break; } Refresh(); }