MessageBox.Show("Unable to load the presets.dat file. Please select \"Update Built-in Presets\" from the Presets Menu \nMake sure you are running the program in Admin mode if running on Vista. See Windows FAQ for details!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
else\r
MessageBox.Show("Presets have been updated!", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Information);\r
+\r
+ treeView_presets.ExpandAll();\r
}\r
private void mnu_delete_preset_Click(object sender, EventArgs e)\r
{\r
}\r
private void btn_new_preset_Click(object sender, EventArgs e)\r
{\r
+ // Remember each nodes expanded status so we can reload it\r
+ List<Boolean> nodeStatus = saveTreeViewState();\r
+ nodeStatus.Add(true);\r
+\r
Form preset = new frmAddPreset(this, queryGen.GenerateTheQuery(this), presetHandler);\r
preset.ShowDialog();\r
+\r
+ // Now reload the TreeView states\r
+ loadTreeViewStates(nodeStatus);\r
}\r
#endregion\r
\r
presetHandler.remove(treeView_presets.SelectedNode.Text);\r
\r
// Remember each nodes expanded status so we can reload it\r
- List<Boolean> nodeStatus = new List<Boolean>();\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
- {\r
- nodeStatus.Add(node.IsExpanded);\r
- }\r
+ List<Boolean> nodeStatus = saveTreeViewState();\r
\r
+ // Now reload the preset panel\r
loadPresetPanel();\r
\r
- int i = 0;\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
- {\r
- if (nodeStatus[i] == true)\r
- node.Expand();\r
-\r
- i++;\r
- }\r
+ // Now reload the TreeView states\r
+ loadTreeViewStates(nodeStatus);\r
}\r
treeView_presets.Select();\r
}\r
#endregion\r
\r
-\r
// MainWindow Components, Actions and Functions ***********************\r
-\r
#region Actions\r
\r
// ToolBar\r
private void btn_addPreset_Click(object sender, EventArgs e)\r
{\r
// Remember each nodes expanded status so we can reload it\r
- List<Boolean> nodeStatus = new List<Boolean>();\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
- nodeStatus.Add(node.IsExpanded);\r
+ List<Boolean> nodeStatus = saveTreeViewState();\r
nodeStatus.Add(true);\r
\r
// Now add the new preset\r
Form preset = new frmAddPreset(this, queryGen.GenerateTheQuery(this), presetHandler);\r
preset.ShowDialog();\r
\r
- // And finally, re-expand any of the nodes if required\r
- int i = 0;\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
- {\r
- if (nodeStatus[i] == true)\r
- node.Expand();\r
-\r
- i++;\r
- }\r
+ // Now reload the TreeView states\r
+ loadTreeViewStates(nodeStatus);\r
}\r
private void btn_removePreset_Click(object sender, EventArgs e)\r
{\r
presetHandler.remove(treeView_presets.SelectedNode.Text);\r
\r
// Remember each nodes expanded status so we can reload it\r
- List<Boolean> nodeStatus = new List<Boolean>();\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
- nodeStatus.Add(node.IsExpanded);\r
+ List<Boolean> nodeStatus = saveTreeViewState();\r
\r
// Now reload the preset panel\r
loadPresetPanel();\r
\r
- // And finally, re-expand any of the nodes if required\r
- int i = 0;\r
- foreach (TreeNode node in treeView_presets.Nodes)\r
- {\r
- if (nodeStatus[i] == true)\r
- node.Expand();\r
-\r
- i++;\r
- }\r
+ // Now reload the TreeView states\r
+ loadTreeViewStates(nodeStatus);\r
}\r
treeView_presets.Select();\r
}\r
\r
#endregion\r
\r
+ #region Preset Expand / Collaspe\r
+ private List<Boolean> saveTreeViewState()\r
+ {\r
+ // Remember each nodes expanded status so we can reload it\r
+ List<Boolean> nodeStatus = new List<Boolean>();\r
+ foreach (TreeNode node in treeView_presets.Nodes)\r
+ {\r
+ nodeStatus.Add(node.IsExpanded);\r
+ foreach (TreeNode subNode in node.Nodes)\r
+ nodeStatus.Add(node.IsExpanded);\r
+ }\r
+ return nodeStatus;\r
+ }\r
+\r
+ private void loadTreeViewStates(List<Boolean> nodeStatus)\r
+ {\r
+ // And finally, re-expand any of the nodes if required\r
+ int i = 0;\r
+ foreach (TreeNode node in treeView_presets.Nodes)\r
+ {\r
+ if (nodeStatus[i] == true)\r
+ node.Expand();\r
+\r
+ foreach (TreeNode subNode in node.Nodes)\r
+ {\r
+ if (nodeStatus[i] == true)\r
+ subNode.Expand();\r
+ }\r
+\r
+ i++;\r
+ }\r
+ }\r
+ #endregion\r
+\r
#region Functions\r
private void loadNormalPreset()\r
{\r