private void SettingsForm_Load(object sender, EventArgs e) { GUIGraphicsContext.form = this; // Asynchronously pre-initialize the music engine if we're using the BassMusicPlayer if (BassMusicPlayer.IsDefaultMusicPlayer) { BassMusicPlayer.CreatePlayerAsync(); } Log.Info("Load settings"); // We load ALL sections - not just those which are visible currently foreach (KeyValuePair <string, ConfigPage> singleConfig in settingSections) { ConfigPage config = singleConfig.Value; TreeNode loadNode = new SectionTreeNode(config.ConfigSection) as TreeNode; if (loadNode != null) { // LoadSectionSettings will recursively load all settings if (loadNode.Parent == null) { LoadSectionSettings(loadNode); } } } Log.Info("Load settings done"); }
private void sectionTree_BeforeSelect(object sender, TreeViewCancelEventArgs e) { SectionTreeNode treeNode = e.Node as SectionTreeNode; if (treeNode != null) { e.Cancel = !treeNode.Section.CanActivate; } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void sectionTree_AfterSelect(object sender, TreeViewEventArgs e) { SectionTreeNode treeNode = e.Node as SectionTreeNode; if (treeNode != null) { if (ActivateSection(treeNode.Section)) { headerLabel.Caption = treeNode.Section.Text; } } }
public static SectionSettings GetSection(string name) { SectionSettings sectionSettings = null; SectionTreeNode sectionTreeNode = null; try { sectionTreeNode = new SectionTreeNode(SettingsForm.SettingSections[name].ConfigSection); } catch (KeyNotFoundException) { MessageBox.Show("Someone broke section handling specifying a non existing name for {0}!", name); } if (sectionTreeNode != null) { sectionSettings = sectionTreeNode.Section; } else { // // Failed to locate the specified section, loop through and try to match // a section against the type name instead, as this is the way the wizard names // its sections. // IDictionaryEnumerator enumerator = SettingsForm.SettingSections.GetEnumerator(); while (enumerator.MoveNext()) { sectionTreeNode = enumerator.Value as SectionTreeNode; if (sectionTreeNode != null) { Type sectionType = sectionTreeNode.Section.GetType(); if (sectionType.Name.Equals(name)) { sectionSettings = sectionTreeNode.Section; break; } } } } return(sectionSettings); }
public static SectionSettings GetSection(string name) { SectionSettings sectionSettings = null; SectionTreeNode sectionTreeNode = null; try { sectionTreeNode = new SectionTreeNode(SettingsForm.SettingSections[name].ConfigSection); } catch (KeyNotFoundException) { MessageBox.Show("Someone broke section handling specifying a non existing name for {0}!", name); } if (sectionTreeNode != null) { sectionSettings = sectionTreeNode.Section; } else { // // Failed to locate the specified section, loop through and try to match // a section against the type name instead, as this is the way the wizard names // its sections. // IDictionaryEnumerator enumerator = SettingsForm.SettingSections.GetEnumerator(); while (enumerator.MoveNext()) { sectionTreeNode = enumerator.Value as SectionTreeNode; if (sectionTreeNode != null) { Type sectionType = sectionTreeNode.Section.GetType(); if (sectionType.Name.Equals(name)) { sectionSettings = sectionTreeNode.Section; break; } } } } return sectionSettings; }
private void SaveSectionSettings(TreeNode currentNode) { if (currentNode != null) { // Save settings for current node SectionTreeNode treeNode = currentNode as SectionTreeNode; if (treeNode != null) { Log.Info("SaveSectionSettings() - {0}", treeNode.Text); treeNode.Section.SaveSettings(); } // Load settings for all child nodes foreach (TreeNode childNode in treeNode.Nodes) { SaveSectionSettings(childNode); } } Log.Info("SaveSectionSettings done()"); }
private void SaveAllSettings() { // We save ALL sections - not just those which are visible currently foreach (KeyValuePair <string, ConfigPage> singleConfig in settingSections) { ConfigPage config = singleConfig.Value; TreeNode saveNode = new SectionTreeNode(config.ConfigSection) as TreeNode; if (saveNode != null) { // SaveSectionSettings recursively saves all subnodes as well if (saveNode.Parent == null) { SaveSectionSettings(saveNode); } } } Settings.SaveCache(); }
private void SettingsForm_Load(object sender, EventArgs e) { GUIGraphicsContext.form = this; // Asynchronously pre-initialize the music engine if we're using the BassMusicPlayer if (BassMusicPlayer.IsDefaultMusicPlayer) { BassMusicPlayer.CreatePlayerAsync(); } Log.Info("Load settings"); // We load ALL sections - not just those which are visible currently foreach (KeyValuePair<string, ConfigPage> singleConfig in settingSections) { ConfigPage config = singleConfig.Value; TreeNode loadNode = new SectionTreeNode(config.ConfigSection) as TreeNode; if (loadNode != null) { // LoadSectionSettings will recursively load all settings if (loadNode.Parent == null) { LoadSectionSettings(loadNode); } } } Log.Info("Load settings done"); }
private void ToggleSectionVisibility(bool aShowAdvancedOptions) { // using property so setter updates values.. AdvancedMode = aShowAdvancedOptions; sectionTree.BeginUpdate(); TreeNode currentSelected = (TreeNode)sectionTree.SelectedNode; sectionTree.Nodes.Clear(); foreach (KeyValuePair<string, ConfigPage> singleConfig in settingSections) { ConfigPage currentSection = singleConfig.Value; // Add all loaded sections to the TreeView if (currentSection.IsVisible) { SectionTreeNode treeNode = new SectionTreeNode(currentSection.ConfigSection); // If not parent is specified we add the section as root node. if (currentSection.Parentsection == null) { // Add to the root sectionTree.Nodes.Add(treeNode); } else { // Find parent section (IndexOfKey is buggy) int parentPos = -1; // This limits usage to one level only - loop subitems if you want to build a tree for (int i = 0; i < sectionTree.Nodes.Count; i++) { if (sectionTree.Nodes[i].Text.CompareTo(currentSection.Parentsection.Text) == 0) { parentPos = i; break; } } if (parentPos > -1) { // Add to the parent node SectionTreeNode parentTreeNode = (SectionTreeNode)sectionTree.Nodes[parentPos]; parentTreeNode.Nodes.Add(treeNode); } } } } if (currentSelected != null) { // Reselect the node we were editing before foreach (TreeNode parentNode in sectionTree.Nodes) { foreach (TreeNode node in parentNode.Nodes) { if (node.Text.CompareTo(currentSelected.Text) == 0) { sectionTree.SelectedNode = node; node.EnsureVisible(); break; } } } } sectionTree.EndUpdate(); }
private void SaveAllSettings() { // We save ALL sections - not just those which are visible currently foreach (KeyValuePair<string, ConfigPage> singleConfig in settingSections) { ConfigPage config = singleConfig.Value; TreeNode saveNode = new SectionTreeNode(config.ConfigSection) as TreeNode; if (saveNode != null) { // SaveSectionSettings recursively saves all subnodes as well if (saveNode.Parent == null) { SaveSectionSettings(saveNode); } } } Settings.SaveCache(); }
private void ToggleSectionVisibility(bool aShowAdvancedOptions) { // using property so setter updates values.. AdvancedMode = aShowAdvancedOptions; sectionTree.BeginUpdate(); TreeNode currentSelected = (TreeNode)sectionTree.SelectedNode; sectionTree.Nodes.Clear(); foreach (KeyValuePair <string, ConfigPage> singleConfig in settingSections) { ConfigPage currentSection = singleConfig.Value; // Add all loaded sections to the TreeView if (currentSection.IsVisible) { SectionTreeNode treeNode = new SectionTreeNode(currentSection.ConfigSection); // If not parent is specified we add the section as root node. if (currentSection.Parentsection == null) { // Add to the root sectionTree.Nodes.Add(treeNode); } else { // Find parent section (IndexOfKey is buggy) int parentPos = -1; // This limits usage to one level only - loop subitems if you want to build a tree for (int i = 0; i < sectionTree.Nodes.Count; i++) { if (sectionTree.Nodes[i].Text.CompareTo(currentSection.Parentsection.Text) == 0) { parentPos = i; break; } } if (parentPos > -1) { // Add to the parent node SectionTreeNode parentTreeNode = (SectionTreeNode)sectionTree.Nodes[parentPos]; parentTreeNode.Nodes.Add(treeNode); } } } } if (currentSelected != null) { // Reselect the node we were editing before foreach (TreeNode parentNode in sectionTree.Nodes) { foreach (TreeNode node in parentNode.Nodes) { if (node.Text.CompareTo(currentSelected.Text) == 0) { sectionTree.SelectedNode = node; node.EnsureVisible(); break; } } } } sectionTree.EndUpdate(); }