private static TSetting GetSettings <TEmulator, TSetting>() where TSetting : class, new() where TEmulator : IEmulator { // should we complain if we get a successful object from the config file, but it is the wrong type? object fromcore = null; var settable = new SettingsAdapter(Global.Emulator); if (settable.HasSettings) { fromcore = settable.GetSettings(); } return(fromcore as TSetting ?? Global.Config.GetCoreSettings <TEmulator>() as TSetting ?? new TSetting()); // guaranteed to give sensible defaults }
private GenericCoreConfig( IMainFormForConfig mainForm, bool isMovieActive, bool ignoreSettings = false, bool ignoreSyncSettings = false) { InitializeComponent(); _mainForm = mainForm; var settable = new SettingsAdapter(_mainForm.Emulator); if (settable.HasSettings && !ignoreSettings) { _s = settable.GetSettings(); } if (settable.HasSyncSettings && !ignoreSyncSettings) { _ss = settable.GetSyncSettings(); } if (_s != null) { propertyGrid1.SelectedObject = _s; propertyGrid1.AdjustDescriptionHeightToFit(); } else { tabControl1.TabPages.Remove(tabPage1); } if (_ss != null) { propertyGrid2.SelectedObject = _ss; propertyGrid2.AdjustDescriptionHeightToFit(); } else { tabControl1.TabPages.Remove(tabPage2); } if (isMovieActive) { propertyGrid2.Enabled = false; // disable changes to sync setting when movie, so as not to confuse user } }
private GenericCoreConfig(MainForm mainForm, bool ignoreSettings = false, bool ignoreSyncSettings = false) { _mainForm = mainForm; InitializeComponent(); var settable = new SettingsAdapter(Global.Emulator); if (settable.HasSettings && !ignoreSettings) { _s = settable.GetSettings(); } if (settable.HasSyncSettings && !ignoreSyncSettings) { _ss = settable.GetSyncSettings(); } if (_s != null) { propertyGrid1.SelectedObject = _s; ChangeDescriptionHeight(propertyGrid1); } else { tabControl1.TabPages.Remove(tabPage1); } if (_ss != null) { propertyGrid2.SelectedObject = _ss; ChangeDescriptionHeight(propertyGrid2); } else { tabControl1.TabPages.Remove(tabPage2); } if (Global.MovieSession.Movie.IsActive()) { propertyGrid2.Enabled = false; // disable changes to sync setting when movie, so as not to confuse user } }
private void SettingsForm_Load(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; _settingsProxy = SettingsAdapter.GetSettings().FirstOrDefault(); List <PointListProxy> lists = PointListAdapter.GetItems(); pointListProxyBindingSource.DataSource = lists; if (_settingsProxy != null) { pointsSourceComboBox.SelectedItem = (PointsSource)_settingsProxy.PointsSource; countNumeric.Value = _settingsProxy.PointsCount; listComboBox.SelectedItem = (from qr in lists where qr.Id == _settingsProxy.SelectedListId select qr).FirstOrDefault(); controlTypeComboBox.SelectedItem = (PointsSource)_settingsProxy.ControlType; displayTimeNumeric.Value = _settingsProxy.DisplayTime; intervalNumeric.Value = _settingsProxy.Interval; ColorButton.BackColor = Color.FromArgb(_settingsProxy.BackgroundColorArgb); pathToDbTextBox.Text = Properties.Settings.Default.PathToDatabase; } else { _settingsProxy = new SettingsProxy(); } } catch (FileNotFoundException ioEx) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { Properties.Settings.Default.PathToDatabase = openFileDialog1.FileName; Properties.Settings.Default.Save(); } } catch (Exception ex) { MessageBox.Show(ex.StackTrace, ex.Message); } finally { this.Cursor = Cursors.Arrow; } }
private async void SignalForm_Load(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; this._isBusy = true; //this.WindowState = FormWindowState.Maximized; //this.FormBorderStyle = FormBorderStyle.None; //this.TopMost = true; _settings = SettingsAdapter.GetSettings()?.FirstOrDefault(); _graphics = this.CreateGraphics(); this.BackColor = _settings.BackgroundColor; _graphics.Clear(_settings.BackgroundColor); if (_settings.PointsSource == (int)PointsSource.FromDatabase) { _points = PointListAdapter.GetItemProxy(_settings.SelectedListId); } else { _points = await this.CreatePoints(); } } catch (FileNotFoundException ioEx) { MessageBox.Show("Please set database file in settings", ioEx.Message); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.StackTrace, ex.Message); } finally { this.Cursor = Cursors.Arrow; this._isBusy = false; } }
GenericCoreConfig(bool ignoresettings, bool ignoresyncsettings) { InitializeComponent(); var settable = new SettingsAdapter(Global.Emulator); if (settable.HasSettings && !ignoresettings) s = settable.GetSettings(); if (settable.HasSyncSettings && !ignoresyncsettings) ss = settable.GetSyncSettings(); if (s != null) propertyGrid1.SelectedObject = s; else tabControl1.TabPages.Remove(tabPage1); if (ss != null) propertyGrid2.SelectedObject = ss; else tabControl1.TabPages.Remove(tabPage2); if (Global.MovieSession.Movie.IsActive) propertyGrid2.Enabled = false; // disable changes to sync setting when movie, so as not to confuse user }
GenericCoreConfig(bool ignoresettings, bool ignoresyncsettings) { InitializeComponent(); var settable = new SettingsAdapter(Global.Emulator); if (settable.HasSettings && !ignoresettings) { s = settable.GetSettings(); } if (settable.HasSyncSettings && !ignoresyncsettings) { ss = settable.GetSyncSettings(); } if (s != null) { propertyGrid1.SelectedObject = s; } else { tabControl1.TabPages.Remove(tabPage1); } if (ss != null) { propertyGrid2.SelectedObject = ss; } else { tabControl1.TabPages.Remove(tabPage2); } if (Global.MovieSession.Movie.IsActive) { propertyGrid2.Enabled = false; // disable changes to sync setting when movie, so as not to confuse user } }
private static void CommitCoreSettingsToConfig() { // save settings object var t = Global.Emulator.GetType(); var settable = new SettingsAdapter(Global.Emulator); if (settable.HasSettings) { Global.Config.PutCoreSettings(settable.GetSettings(), t); } if (settable.HasSyncSettings && !Global.MovieSession.Movie.IsActive) { // don't trample config with loaded-from-movie settings Global.Config.PutCoreSyncSettings(settable.GetSyncSettings(), t); } }