git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorBellai Ádám <USER\adam.bellai>
Fri, 29 Sep 2017 13:14:32 +0000 (13:14 +0000)
committerBellai Ádám <USER\adam.bellai>
Fri, 29 Sep 2017 13:14:32 +0000 (13:14 +0000)
client/OctopusClient/OctopusIDSelector.cs

index 122ce86e3970f7678a5c3029e7364da2d4f2d41a..93705fc7687bfca07d6677a9999567d8ecb949af 100644 (file)
@@ -11,6 +11,7 @@ namespace OctopusClient {
 \r
     public partial class OctopusIDSelector : UserControl {\r
 \r
+        private string id;\r
         public ClearCheckBox clearCheckBox { get; set; }\r
 \r
         public bool Disposeabel { get; set; }\r
@@ -105,6 +106,7 @@ namespace OctopusClient {
                 bindingRundowns.Add(actualRundown);\r
             bindingRundown.DataSource = bindingRundowns;\r
             comboRudowns.SelectedIndex = selectedRundownIndex == -1 ? 0 : selectedRundownIndex;\r
+            InitCheckID(treeContent.Nodes);\r
         }\r
 \r
         private void refreshStoryFolders() {\r
@@ -120,12 +122,28 @@ namespace OctopusClient {
                 bindingStoryFolders.Add(actualStoryFolder);\r
             bindingStoryFolder.DataSource = bindingStoryFolders;\r
             comboStoryFolder.SelectedIndex = selectedStoryFolderIndex == -1 ? 0 : selectedStoryFolderIndex;\r
+            InitCheckID(treeContent.Nodes);   \r
+        }\r
+\r
+        private void InitCheckID(TreeNodeCollection collection) {\r
+            if (!String.IsNullOrEmpty(id)) {\r
+                foreach (TreeNode actual in collection) {\r
+                    if (actual.Text.StartsWith(id)) {\r
+                        actual.Checked = true;\r
+                        break;\r
+                    } else\r
+                        InitCheckID(actual.Nodes);\r
+\r
+                }\r
+            }\r
         }\r
 \r
         private void treeContent_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) {\r
             if (String.IsNullOrEmpty(e.Node.Name))\r
                 return;\r
-            IDChangedEvent?.Invoke(e.Node.Name);\r
+            TreeNode node = e.Node;\r
+            //meghívódik az InnerAfterCheck\r
+            e.Node.Checked = !e.Node.Checked;\r
         }\r
 \r
         public void IDChangeEventCalledFromOutside(string id) {\r
@@ -191,14 +209,16 @@ namespace OctopusClient {
             if (checkFromCode)\r
                 return;\r
             TreeNode node = e.Node;\r
+            InnerAfterCheck(node);\r
+        }\r
+\r
+        private void InnerAfterCheck(TreeNode node) {\r
             string text = node.Name;\r
             checkFromCode = false;\r
             clearCheckBox?.Invoke();\r
             ClearSelectionSource(node, treeContent.Nodes);\r
-            if (node.Checked) \r
-                IDChangedEvent?.Invoke(text);\r
-            else\r
-                IDChangedEvent?.Invoke(string.Empty);\r
+            id = node.Checked ? text : string.Empty;\r
+            IDChangedEvent?.Invoke(id);\r
             checkFromCode = false;\r
         }\r
 \r