From 3f52fc89ad7c2b53cc0898956c9e53505dbd1c8c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bellai=20=C3=81d=C3=A1m?= Date: Fri, 29 Sep 2017 13:14:32 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30488 --- client/OctopusClient/OctopusIDSelector.cs | 30 +++++++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/client/OctopusClient/OctopusIDSelector.cs b/client/OctopusClient/OctopusIDSelector.cs index 122ce86e..93705fc7 100644 --- a/client/OctopusClient/OctopusIDSelector.cs +++ b/client/OctopusClient/OctopusIDSelector.cs @@ -11,6 +11,7 @@ namespace OctopusClient { public partial class OctopusIDSelector : UserControl { + private string id; public ClearCheckBox clearCheckBox { get; set; } public bool Disposeabel { get; set; } @@ -105,6 +106,7 @@ namespace OctopusClient { bindingRundowns.Add(actualRundown); bindingRundown.DataSource = bindingRundowns; comboRudowns.SelectedIndex = selectedRundownIndex == -1 ? 0 : selectedRundownIndex; + InitCheckID(treeContent.Nodes); } private void refreshStoryFolders() { @@ -120,12 +122,28 @@ namespace OctopusClient { bindingStoryFolders.Add(actualStoryFolder); bindingStoryFolder.DataSource = bindingStoryFolders; comboStoryFolder.SelectedIndex = selectedStoryFolderIndex == -1 ? 0 : selectedStoryFolderIndex; + InitCheckID(treeContent.Nodes); + } + + private void InitCheckID(TreeNodeCollection collection) { + if (!String.IsNullOrEmpty(id)) { + foreach (TreeNode actual in collection) { + if (actual.Text.StartsWith(id)) { + actual.Checked = true; + break; + } else + InitCheckID(actual.Nodes); + + } + } } private void treeContent_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { if (String.IsNullOrEmpty(e.Node.Name)) return; - IDChangedEvent?.Invoke(e.Node.Name); + TreeNode node = e.Node; + //meghívódik az InnerAfterCheck + e.Node.Checked = !e.Node.Checked; } public void IDChangeEventCalledFromOutside(string id) { @@ -191,14 +209,16 @@ namespace OctopusClient { if (checkFromCode) return; TreeNode node = e.Node; + InnerAfterCheck(node); + } + + private void InnerAfterCheck(TreeNode node) { string text = node.Name; checkFromCode = false; clearCheckBox?.Invoke(); ClearSelectionSource(node, treeContent.Nodes); - if (node.Checked) - IDChangedEvent?.Invoke(text); - else - IDChangedEvent?.Invoke(string.Empty); + id = node.Checked ? text : string.Empty; + IDChangedEvent?.Invoke(id); checkFromCode = false; } -- 2.54.0