/// <summary> /// Open the Settings Dialog (User Preferences) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SettingsButton_Click(object sender, RoutedEventArgs e) { foreach (PreferenceName n in _model.GetAppPreferenceCollection().Keys) { Preference s = _model.GetAppPreferenceCollection()[n]; } var sDialog = new PreferenceDialog(_model.GetAppPreferenceCollection()); sDialog.Owner = this; sDialog.ShowDialog(); // If the dialog was submitted if (sDialog.WasDialogSubmitted) { if (sDialog.WasSaveWindowCoordinatesSelected) { string coords = $"{this.Left},{this.Top},{this.Width},{this.Height}"; _model.FireUpdateAppPreference(PreferenceName.APPLICATION_WINDOW_COORDS, coords); } if (sDialog.WasApplyDefaultsSelected) { _controller.ResetAllPreferences(); } else { // Apply changes Dictionary <PreferenceName, string> settingChanges = sDialog.GetChanges; foreach (PreferenceName name in settingChanges.Keys) { _model.FireUpdateAppPreference(name, settingChanges[name]); } } } }