private void btnOk_Click(object sender, EventArgs e) { DialogResult = System.Windows.Forms.DialogResult.OK; Properties.Settings.Default.ProxyClient = GeneralUtils.ObjectToString(proxyClientControl.Client); foreach (ScriptEngineConfig config in comboBoxScriptType.Items) { DocumentControl.SetConfigItem(ScriptDocumentControl.GetConfigForEngine(config.EngineName), config.Config); } Properties.Settings.Default.Compressed = checkBoxCompress.Checked; Properties.Settings.Default.MakeBackup = checkBoxBackup.Checked; Properties.Settings.Default.DontShowSplash = !checkBoxShowSplash.Checked; Properties.Settings.Default.CheckForUpdates = checkBoxCheckUpdates.Checked; Properties.Settings.Default.ShowStartupForm = checkBoxShowStartupForm.Checked; Properties.Settings.Default.NetServicePacketLogMutable = checkBoxPacketLogMutable.Checked; Properties.Settings.Default.ConfirmOnExit = checkBoxConfirmClose.Checked; Properties.Settings.Default.EventLogClearConfirm = checkBoxRequireEventLogClearConfirm.Checked; Properties.Settings.Default.PacketLogClearConfirm = checkBoxRequirePacketLogClearConfirm.Checked; Properties.Settings.Default.NewStyleLogViewer = checkBoxNewStyle.Checked; Properties.Settings.Default.PacketLogConfirmMode = (PacketLogConfirmMode)comboBoxLogConfirm.SelectedIndex; Properties.Settings.Default.OpenFindWindowsInDialog = checkBoxOpenFindInDialog.Checked; Properties.Settings.Default.AutoSaveEnabled = checkBoxAutoSave.Checked; Properties.Settings.Default.AutoSaveTimerMins = (int)numericUpDownAutoSaveTimer.Value; Properties.Settings.Default.ScriptEditorFont = _scriptFont; CultureInfo culture = comboBoxLanguage.SelectedItem as CultureInfo; if (culture != null) { string currentLanguage = Properties.Settings.Default.CurrentLanguage ?? String.Empty; if (currentLanguage != culture.Name) { Properties.Settings.Default.CurrentLanguage = culture.Name; MessageBox.Show(this, Properties.Resources.ConfigurationForm_MustRestartToChangeLanguage, Properties.Resources.ConfigurationForm_MustRestartToChangeLanguageCaption, MessageBoxButtons.OK, MessageBoxIcon.Information); } } Program.SaveSettings(); Close(); }
private void SetupType() { if (_visibleControl != null) { _visibleControl.Visible = false; } if (!_controls.ContainsKey(_currentType)) { Control c = new ScriptDocumentControl(new DummyScriptDocument(_currentType.Script), true); _controls.Add(_currentType, c); Controls.Add(c); c.Dock = DockStyle.Fill; } _visibleControl = _controls[_currentType]; _visibleControl.Visible = true; }
private void frmMain_Load(object sender, EventArgs e) { bool loaded = false; if (!String.IsNullOrEmpty(Properties.Settings.Default.ScriptConfig)) { try { ScriptDocumentControlConfig config = (ScriptDocumentControlConfig)GeneralUtils.StringToObject(Properties.Settings.Default.ScriptConfig); foreach (string engine in ScriptEngineFactory.Engines) { SetConfigItem(ScriptDocumentControl.GetConfigForEngine(engine), config); } } catch { } Properties.Settings.Default.ScriptConfig = null; Program.SaveSettings(); } SetConfigFromProperties(); if (!loaded) { _projectExplorer.Show(dockPanel); _projectExplorer.DockState = DockState.DockRight; } if (_fileName == null) { if (Properties.Settings.Default.ShowStartupForm) { using (StartupForm newProject = new StartupForm()) { if (newProject.ShowDialog(this) == DialogResult.OK) { if (newProject.FileName == null) { NewDocument(true); } else { LoadProject(newProject.FileName, true, true); } } else { NewDocument(false); } } } } else { LoadProject(_fileName, true, true); } if (Properties.Settings.Default.AutoSaveEnabled) { timerAutoSaveTimer.Interval = Properties.Settings.Default.AutoSaveTimerMins * 60 * 1000; timerAutoSaveTimer.Enabled = true; } }
private void ConfigFromSettings() { if (Properties.Settings.Default.ProxyClient != null) { try { proxyClientControl.Client = (IProxyClientFactory)GeneralUtils.StringToObject(Properties.Settings.Default.ProxyClient); } catch { Properties.Settings.Default.ProxyClient = null; proxyClientControl.Client = null; } } comboBoxScriptType.Items.Clear(); foreach (string engine in ScriptEngineFactory.Engines) { ScriptEngineConfig config = new ScriptEngineConfig() { EngineName = engine, Description = ScriptEngineFactory.GetDescriptionForEngine(engine), Config = DocumentControl.GetConfigItem <ScriptDocumentControlConfig>(ScriptDocumentControl.GetConfigForEngine(engine), true) }; comboBoxScriptType.Items.Add(config); } comboBoxScriptType.SelectedIndex = 0; checkBoxCompress.Checked = Properties.Settings.Default.Compressed; checkBoxBackup.Checked = Properties.Settings.Default.MakeBackup; checkBoxShowSplash.Checked = !Properties.Settings.Default.DontShowSplash; checkBoxCheckUpdates.Checked = Properties.Settings.Default.CheckForUpdates; checkBoxShowStartupForm.Checked = Properties.Settings.Default.ShowStartupForm; checkBoxPacketLogMutable.Checked = Properties.Settings.Default.NetServicePacketLogMutable; checkBoxConfirmClose.Checked = Properties.Settings.Default.ConfirmOnExit; checkBoxRequireEventLogClearConfirm.Checked = Properties.Settings.Default.EventLogClearConfirm; checkBoxRequirePacketLogClearConfirm.Checked = Properties.Settings.Default.PacketLogClearConfirm; checkBoxNewStyle.Checked = Properties.Settings.Default.NewStyleLogViewer; checkBoxOpenFindInDialog.Checked = Properties.Settings.Default.OpenFindWindowsInDialog; checkBoxAutoSave.Checked = Properties.Settings.Default.AutoSaveEnabled; numericUpDownAutoSaveTimer.Value = Properties.Settings.Default.AutoSaveTimerMins; _scriptFont = Properties.Settings.Default.ScriptEditorFont; UpdateFontLabel(); if (Enum.IsDefined(typeof(PacketLogConfirmMode), Properties.Settings.Default.PacketLogConfirmMode)) { comboBoxLogConfirm.SelectedIndex = (int)Properties.Settings.Default.PacketLogConfirmMode; } else { comboBoxLogConfirm.SelectedIndex = 0; } ReadOnlyCollection <CultureInfo> languages = GetAvailableCultures(); string currentLanguage = Properties.Settings.Default.CurrentLanguage; CultureInfo currentCulture = null; comboBoxLanguage.Items.Clear(); foreach (CultureInfo culture in languages) { comboBoxLanguage.Items.Add(culture); if (culture.Name == Properties.Settings.Default.CurrentLanguage) { currentCulture = culture; } } // English should always be the first culture if (currentCulture != null) { comboBoxLanguage.SelectedItem = currentCulture; } else { comboBoxLanguage.SelectedIndex = 0; } }