diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 1d0f20ff..afa88d72 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -320,8 +320,28 @@ namespace VEPROMS } SetupFolder(1); tc.VersionID = 0; + tv.PauseRefresh += tv_PauseRefresh; + tv.UnPauseRefresh += tv_UnPauseRefresh; + } + private bool _PauseRefresh = false; + public bool PauseRefresh + { + get { return _PauseRefresh; } + set { + //_MyLog.WarnFormat(value ? "=== Pause" : "=== UnPause"); + _PauseRefresh = value; + } + } + void tv_UnPauseRefresh(object sender, vlnTreeSectionInfoEventArgs args) + { + //_MyLog.WarnFormat("Unpause"); + PauseRefresh = false; + } + void tv_PauseRefresh(object sender, vlnTreeSectionInfoEventArgs args) + { + //_MyLog.WarnFormat("Pause"); + PauseRefresh = true; } - private void SetupFolder(int folderID) { VETreeNode tn = VETreeNode.GetFolder(folderID); @@ -1045,6 +1065,7 @@ namespace VEPROMS if (RefreshTimerActive) { RefreshTimerActive = false; + if (PauseRefresh) return; RefreshChanged(this); } } @@ -1131,7 +1152,7 @@ namespace VEPROMS //_MyLog.Debug("StartRefreshChanged"); //if (SkipRefresh) return; MySemaphore.WaitOne(); - RefreshTimerActive = true; + RefreshTimerActive = !PauseRefresh; MySemaphore.Release(); } private void RefreshChanged(Object obj) @@ -1139,7 +1160,7 @@ namespace VEPROMS //if (SkipRefresh) return; //MySemaphore.WaitOne(); Int64 lastChanged = 0; - + //_MyLog.WarnFormat(">>> RefreshChanged"); try { //Int64 lastChanged = 0; @@ -2903,6 +2924,7 @@ namespace VEPROMS private StepRTB _LastStepRTB = null; private void tc_ItemSelectedChanged(object sender, ItemSelectedChangedEventArgs args) { + tc.HideCaret(); if (args != null && args.MyEditItem != null && !args.MyEditItem.MyStepPanel.ContainsFocus) return; btnFixMSWord.Visible = (args != null && ( args.MyItemInfo != null && args.MyEditItem == null)); if (_LastStepRTB != null && !_LastStepRTB.Disposing && !_LastStepRTB.Closed)