/// <summary> /// Saves the user settings. /// </summary> private void SaveUserSettings() { CCNetConfigSettings settings = new CCNetConfigSettings(); settings.Components = new ComponentSettingsList(); foreach (ListViewItem lvi in this.componentsList.Items) { settings.Components.Add(new ComponentSettings(string.Format("{0}.{1}", lvi.SubItems[chNamespace.Index].Text, lvi.SubItems[chName.Index].Text), lvi.Checked)); } settings.UpdateSettings.CheckOnStartup = this.updatesCheckAtStartup.Checked; if (this.updateTypeCombo.SelectedItem != null) { settings.UpdateSettings.UpdateCheckType = (UpdateCheckType)this.updateTypeCombo.SelectedItem; } settings.UpdateSettings.ProxySettings.UseProxy = this.useProxy.Checked; settings.UpdateSettings.ProxySettings.Username = this.proxyUser.Text.Trim(); settings.UpdateSettings.ProxySettings.Password = this.proxyPassword.Text; settings.UpdateSettings.ProxySettings.ProxyPort = (int)this.proxyPort.Value; settings.UpdateSettings.ProxySettings.ProxyServer = this.proxyServerAddress.Text.Trim(); settings.BackupSettings.Enabled = this.backupWhenSaving.Checked; settings.BackupSettings.SavePath = new DirectoryInfo(this.backupSavePath.Text); settings.BackupSettings.NumberOfBackupsToKeep = (int)this.backupFilesToKeep.Value; settings.ExternalViewer = this.externalFileViewer.Text.Trim(); settings.ExternalViewerArguments = this.externalViewerArguments.Text.Trim(); settings.WatchForFileChanges = this.generalMonitorForChanges.Checked; settings.SortProject = this.sortProjectsAlphabetically.Checked; CCNetConfigSettingsConfigurationSectionHandler.SaveSettings(settings); CCNetConfig.Core.Util.RefreshUserSettings(); }
private void LoadBackupsToListView() { CCNetConfigSettings settings = CCNetConfig.Core.Util.UserSettings; if (this.InvokeRequired) { this.Invoke(new ListViewGenericHandler(this.ClearListViewItems), new object[] { backupFilesList }); } else { ClearListViewItems(backupFilesList); } List <FileInfo> files = new List <FileInfo> (); if (settings.BackupSettings.SavePath.Exists) { files.AddRange(settings.BackupSettings.SavePath.GetFiles()); foreach (FileInfo file in files) { if (this.InvokeRequired) { this.Invoke(new AddBackupFileToListViewHandler(this.AddBackupFileToListView), new object[] { file }); } else { this.AddBackupFileToListView(file); } } } }
/// <summary> /// Creates a configuration section handler. /// </summary> /// <param name="parent">Parent object.</param> /// <param name="configContext">Configuration context object.</param> /// <param name="stream">The stream.</param> /// <returns>The created section handler object.</returns> public CCNetConfigSettings Create(object parent, object configContext, Stream stream) { try { CCNetConfigSettings settings = null; using ( stream ) { XmlSerializer serializer = new XmlSerializer(typeof(CCNetConfigSettings)); settings = serializer.Deserialize(stream) as CCNetConfigSettings; } return(settings); } catch { throw; } }
/// <summary> /// Creates a configuration section handler. /// </summary> /// <param name="parent">Parent object.</param> /// <param name="configContext">Configuration context object.</param> /// <param name="doc">The XML document.</param> /// <returns>The created section handler object.</returns> public CCNetConfigSettings Create(object parent, object configContext, XmlDocument doc) { try { MemoryStream ms = new MemoryStream( ); CCNetConfigSettings settings = null; using ( ms ) { doc.Save(ms); ms.Position = 0; settings = this.Create(parent, configContext, ms); } return(settings); } catch { throw; } }
/// <summary> /// Saves the settings. /// </summary> /// <param name="settings">The settings.</param> public static void SaveSettings(CCNetConfigSettings settings) { try { FileInfo file = CCNetConfig.Core.Util.UserSettingsFile; if (file.Exists && file.IsReadOnly) { file.IsReadOnly = false; } XmlSerializer serializer = new XmlSerializer(typeof(CCNetConfigSettings)); FileStream fs = new FileStream(file.FullName, FileMode.Create, FileAccess.Write); using ( fs ) { serializer.Serialize(fs, settings); } } catch { throw; } }
/// <summary> /// Handles the Click event of the deleteBackupFilesButton control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void deleteBackupFilesButton_Click(object sender, EventArgs e) { if (MessageBox.Show(this, Properties.Strings.ConfirmDeleteBackupsMessage, Properties.Strings.ConfirmDeleteBackupsTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { CCNetConfigSettings settings = CCNetConfig.Core.Util.UserSettings; this.backupFilesList.Items.Clear(); if (settings.BackupSettings.SavePath.Exists) { FileInfo[] files = settings.BackupSettings.SavePath.GetFiles(); if (files.Length > 0) { foreach (FileInfo file in files) { file.Delete(); } } } } }
/// <summary> /// Loads the user settings. /// </summary> private void LoadUserSettings() { CCNetConfigSettings settings = CCNetConfig.Core.Util.UserSettings; updateTypeCombo.DataSource = Enum.GetValues(typeof(UpdateCheckType)); //Thread threadLoadComponents = new Thread ( new ThreadStart ( LoadComponentsToListView ) ); //threadLoadComponents.Start (); LoadComponentsToListView(); //Thread threadLoadBackupFiles = new Thread ( new ThreadStart ( LoadBackupsToListView ) ); //threadLoadBackupFiles.Start (); LoadBackupsToListView(); LoadPluginAssembliesInToListView(); this.useProxy.Checked = settings.UpdateSettings.ProxySettings.UseProxy; this.proxyServerAddress.Text = settings.UpdateSettings.ProxySettings.ProxyServer; this.proxyPort.Value = settings.UpdateSettings.ProxySettings.ProxyPort; this.proxyPassword.Text = settings.UpdateSettings.ProxySettings.Password; this.proxyUser.Text = settings.UpdateSettings.ProxySettings.Username; updateTypeCombo.SelectedIndex = updateTypeCombo.Items.IndexOf(settings.UpdateSettings.UpdateCheckType); this.updatesCheckAtStartup.Checked = settings.UpdateSettings.CheckOnStartup; this.backupSavePath.Text = settings.BackupSettings.SavePath.FullName; this.backupWhenSaving.Checked = settings.BackupSettings.Enabled; this.backupFilesToKeep.Value = settings.BackupSettings.NumberOfBackupsToKeep; this.generalMonitorForChanges.Checked = settings.WatchForFileChanges; this.externalViewerArguments.Text = settings.ExternalViewerArguments; this.externalFileViewer.Text = settings.ExternalViewer; this.sortProjectsAlphabetically.Checked = settings.SortProject; }