From a383b2288dcfb90e9aa1dcf796e41d9c6be1e429 Mon Sep 17 00:00:00 2001
From: patrick.xu <patrick.xu@broconcentric.com>
Date: 星期一, 02 八月 2021 17:26:56 +0800
Subject: [PATCH] 1. 部分修改

---
 src/Bro.M071.Process/UI/M071_ShortcutFrm.cs |   60 ++++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 44 insertions(+), 16 deletions(-)

diff --git a/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
index d5961a9..34c3426 100644
--- a/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
+++ b/src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
@@ -29,8 +29,8 @@
         M071Config Config => Process?.IConfig as M071Config;
         M071Process Process_M071 => Process as M071Process;
 
-        protected override bool IsLogin 
-        { 
+        protected override bool IsLogin
+        {
             get => base.IsLogin;
             set
             {
@@ -42,7 +42,7 @@
                     {
                         this.Invoke(new Action(() =>
                         {
-                            chkBlockSafetyBeam.Enabled = chkBlockSaftyDoor.Enabled = IsLogin;
+                            chkEnableMESUpload.Enabled = chkBlockSafetyBeam.Enabled = chkBlockSaftyDoor.Enabled = IsLogin;
                         }));
                     }
                 });
@@ -53,19 +53,42 @@
         {
             base.OnProcessUpdated();
 
-            Task.Run(() =>
+            //Task.Run(() =>
+            //{
+            //    if (loadHandle.Wait(1000))
+            //    {
+            //        this.Invoke(new Action(() =>
+            //        {
+            //            chkBlockBeep.Checked = Config.IsBeepBlocked;
+            //            chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
+            //            chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
+            //            chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
+            //            chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
+            //        }));
+            //    }
+            //});
+            this.Invoke(new Action(() =>
             {
-                if (loadHandle.Wait(1000))
-                {
-                    this.Invoke(new Action(() =>
-                    {
-                        chkBlockBeep.Checked = Config.IsBeepBlocked;
-                        chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
-                        chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
-                        chkManualInputForbidden.Checked = Config.IsBarcodeManulInputBlocked;
-                    }));
-                }
-            });
+                chkBlockBeep.Checked = Config.IsBeepBlocked;
+                chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
+                chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
+                chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
+                chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
+            }));
+
+            Config.PropertyChanged -= Config_PropertyChanged;
+            Config.PropertyChanged += Config_PropertyChanged;
+        }
+
+        private async void Config_PropertyChanged(object sender, PropertyChangedEventArgs e)
+        {
+            chkBlockBeep.Checked = Config.IsBeepBlocked;
+            chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
+            chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
+            chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
+            chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
+
+            await Task.Delay(100);
         }
 
         private void chkBlockSaftyDoor_CheckedChanged(object sender, EventArgs e)
@@ -85,7 +108,7 @@
 
         private void chkManualInputForbidden_CheckedChanged(object sender, EventArgs e)
         {
-            Config.IsBarcodeManulInputBlocked = chkManualInputForbidden.Checked;
+            Config.IsBarcodeManualInputBlocked = chkManualInputForbidden.Checked;
         }
 
         bool isLightOn = false;
@@ -94,5 +117,10 @@
             isLightOn = !isLightOn;
             Process_M071.SwitchLight(isLightOn);
         }
+
+        private void chkEnableMESUpload_CheckedChanged(object sender, EventArgs e)
+        {
+            Config.IsEnableMESUpload = chkEnableMESUpload.Checked;
+        }
     }
 }

--
Gitblit v1.8.0