From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs |  189 +++++++++++++++++++++++++++++++----------------
 1 files changed, 125 insertions(+), 64 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
index fb1d954..083fb29 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayInfoEditorForm.cs
@@ -70,23 +70,28 @@
             string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
             string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
             var btnNote = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2);
+            btnNote.txtInput.MaxByte = 32;//闄愬埗鍙兘杈撳叆32涓瓧鑺�
             listview.AddChidren(btnNote);
             btnNote.InitControl();
             //鍒掔嚎
             btnNote.AddBottomLine();
-            btnNote.txtInput.FinishInputEvent += () =>
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == false)
             {
-                string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
-                if (btnNote.Text == string.Empty)
+                btnNote.txtInput.FinishInputEvent += () =>
                 {
-                    btnNote.Text = oldName;
-                }
-                if (oldName != btnNote.Text)
-                {
-                    //淇敼鍚嶅瓧
-                    this.SetGatewayName(btnNote.Text, false);
-                }
-            };
+                    string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
+                    if (btnNote.Text == string.Empty)
+                    {
+                        btnNote.Text = oldName;
+                    }
+                    if (oldName != btnNote.Text)
+                    {
+                        //淇敼鍚嶅瓧
+                        this.SetGatewayName(btnNote.Text, false);
+                    }
+                };
+            }
 
             //璁惧绫诲瀷 (鍥哄畾鏅鸿兘缃戝叧)
             caption = Language.StringByID(R.MyInternationalizationString.uDeviceType);
@@ -107,8 +112,13 @@
             rowBeloneArea.SelectRoomEvent += (roomKeys) =>
             {
                 //鍙樻洿缃戝叧鎴块棿
-                HdlGatewayLogic.Current.ChangedGatewayRoom(this.zbGateway.GwId, roomKeys);
+                HdlRoomLogic.Current.ChangedGatewayRoom(this.zbGateway.GwId, roomKeys);
             };
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == true)
+            {
+                rowBeloneArea.CanClick = false;
+            }
 
             //鎵�灞炰綇瀹�
             caption = Language.StringByID(R.MyInternationalizationString.uBelongResidence);
@@ -120,8 +130,7 @@
             btnBeloneArea.AddBottomLine();
 
             //mini缃戝叧鏈変釜鍔熻兘璁剧疆
-            var linuxImageType = this.zbGateway.LinuxImageType;
-            if (linuxImageType == 11)
+            if (HdlGatewayLogic.Current.IsMiniGateway(this.zbGateway) == true)
             {
                 var listDevice = Common.LocalDevice.Current.GetDeviceByGatewayID(this.zbGateway.GwId);
                 CommonDevice miniDevice = null;
@@ -145,11 +154,15 @@
                     rowFunction.frameTable.AddRightArrow();
                     //搴曠嚎
                     rowFunction.frameTable.AddBottomLine();
-                    rowFunction.frameTable.ButtonClickEvent += (sender, e) =>
+                    //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+                    if (Common.Config.Instance.Home.IsShowTemplate == false)
                     {
-                        var form = new DeviceLight.MiniNightLightFunctionSettionForm();
-                        form.AddForm(miniDevice);
-                    };
+                        rowFunction.frameTable.ButtonClickEvent += (sender, e) =>
+                        {
+                            var form = new DeviceLight.MiniNightLightFunctionSettionForm();
+                            form.AddForm(miniDevice);
+                        };
+                    }
                 }
             }
 
@@ -161,11 +174,15 @@
             rowData.frameTable.AddRightArrow();
             //搴曠嚎
             rowData.frameTable.AddBottomLine();
-            rowData.frameTable.ButtonClickEvent += (sender, e) =>
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == false)
             {
-                var form = new GatewayUploadAndDownLoadForm();
-                form.AddForm(this.zbGateway.GwId);
-            };
+                rowData.frameTable.ButtonClickEvent += (sender, e) =>
+                {
+                    var form = new GatewayUploadAndDownLoadForm();
+                    form.AddForm(this.zbGateway.GwId);
+                };
+            }
 
             //閫氱敤淇℃伅
             var btnGeneral = new FrameRowControl(listview.rowSpace / 2);
@@ -211,6 +228,11 @@
             var btnFinish = new BottomClickButton();
             btnFinish.TextID = R.MyInternationalizationString.uSave;
             bodyFrameLayout.AddChidren(btnFinish);
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == true)
+            {
+                btnFinish.CanClick = false;
+            }
             btnFinish.ButtonClickEvent += (sender, e) =>
             {
                 string oldName = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
@@ -230,11 +252,15 @@
                 }
             };
 
-            HdlThreadLogic.Current.RunThread(() =>
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶉渶瑕佹娴�
+            if (Common.Config.Instance.Home.IsShowTemplate == false)
             {
-                //妫�娴嬫柊鐗堟湰
-                this.CheckNewVersion(btnNewVersion);
-            });
+                HdlThreadLogic.Current.RunThread(() =>
+                {
+                    //妫�娴嬫柊鐗堟湰
+                    this.CheckNewVersion(btnNewVersion);
+                });
+            }
         }
 
         #endregion
@@ -246,6 +272,11 @@
         /// </summary>
         private void InitTopRightMenu()
         {
+            //濡傛灉鏄睍绀烘ā鏉跨殑璇�,涓嶈兘缂栬緫
+            if (Common.Config.Instance.Home.IsShowTemplate == true)
+            {
+                return;
+            }
             var btnIcon = new MostRightIconControl(69, 69);
             btnIcon.UnSelectedImagePath = "Item/More.png";
             topFrameLayout.AddChidren(btnIcon);
@@ -262,8 +293,29 @@
         /// </summary>
         private void ShowTopRightMenu()
         {
-            bool flage = UserCenterResourse.DicActionForm.ContainsKey("NewGateWayMenuSelectForm");
-            var frame = new TopRightMenuControl(flage == true ? 1 : 3, 1);
+            //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹�,鍙湁瀹氫綅鍔熻兘
+            bool isSearchGw = UserCenterResourse.DicActionForm.ContainsKey("NewGateWayMenuSelectForm");
+            int menuCount = isSearchGw == true ? 1 : 3;
+
+            bool canAddReplaceMenu = false;
+            //鑾峰彇鏈湴缃戝叧
+            var listGateway = HdlGatewayLogic.Current.GetAllLocalGateway();
+            foreach (var gw in listGateway)
+            {
+                if (gw.GwId != this.zbGateway.GwId && gw.LinuxImageType == this.zbGateway.LinuxImageType)
+                {
+                    //濡傛灉鏄悓涓�绉嶇被鍨嬬殑缃戝叧,鍏佽鍑虹幇鏇挎崲鑿滃崟
+                    canAddReplaceMenu = true;
+                    break;
+                }
+            }
+            if (canAddReplaceMenu == true
+                && Common.Config.Instance.Home.IsShowTemplate == false
+                && Common.Config.Instance.Home.IsVirtually == false)
+            {
+                menuCount++;
+            }
+            var frame = new TopRightMenuControl(menuCount, 1);
             //瀹氫綅
             string MenuName = Language.StringByID(R.MyInternationalizationString.uFixedPosition);
             frame.AddRowMenu(MenuName, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
@@ -271,53 +323,62 @@
                 //鍙戦�佸畾浣嶅姛鑳�
                 HdlGatewayLogic.Current.SetFixedPositionCommand(zbGateway);
             });
-            if (flage == true)
-            {
-                //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹�
-                return;
-            }
 
-            //鍒囨崲
-            MenuName = Language.StringByID(R.MyInternationalizationString.uSwitch1);
-            string strWayId = this.zbGateway.GwId;
-            if (strWayId == GatewayResourse.AppOldSelectGatewayId)
+            //鎼滅储缃戝叧鐨勬椂鍊�,涓嶈兘鍒犻櫎,涓嶇粰浠栧垏鎹�
+            if (isSearchGw == false)
             {
-                MenuName = Language.StringByID(R.MyInternationalizationString.uRefresh);
-            }
-            frame.AddRowMenu(MenuName, "Item/GwSwitchIcon.png", "Item/GwSwitchIconSelected.png", () =>
-            {
-                string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
-                //鏄惁鍒囨崲鍒皗0}缃戝叧?
-                string msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToSwitchTheGateway), "[" + nameValue + "]");
+                //鍒囨崲
+                MenuName = Language.StringByID(R.MyInternationalizationString.uSwitch1);
+                string strWayId = this.zbGateway.GwId;
                 if (strWayId == GatewayResourse.AppOldSelectGatewayId)
                 {
-                    //鏄惁閲嶆柊鍒锋柊{0}缃戝叧?
-                    msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToRefreshTheGateway), "[" + nameValue + "]");
+                    MenuName = Language.StringByID(R.MyInternationalizationString.uRefresh);
                 }
-                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                frame.AddRowMenu(MenuName, "Item/GwSwitchIcon.png", "Item/GwSwitchIconSelected.png", () =>
                 {
-                    HdlThreadLogic.Current.RunThread(() =>
+                    string nameValue = HdlGatewayLogic.Current.GetGatewayName(zbGateway);
+                    //鏄惁鍒囨崲鍒皗0}缃戝叧?
+                    string msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToSwitchTheGateway), "[" + nameValue + "]");
+                    if (strWayId == GatewayResourse.AppOldSelectGatewayId)
                     {
-                        //鎵ц鍒囨崲缃戝叧鎿嶄綔
-                        this.DoSwitchGateway();
+                        //鏄惁閲嶆柊鍒锋柊{0}缃戝叧?
+                        msg = string.Format(Language.StringByID(R.MyInternationalizationString.uConfirmWantToRefreshTheGateway), "[" + nameValue + "]");
+                    }
+                    this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                    {
+                        HdlThreadLogic.Current.RunThread(() =>
+                        {
+                            //鎵ц鍒囨崲缃戝叧鎿嶄綔
+                            this.DoSwitchGateway();
+                        });
                     });
                 });
-            });
-            //鍒犻櫎
-            MenuName = Language.StringByID(R.MyInternationalizationString.uDelete);
-            frame.AddRowMenu(MenuName, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
-            {
-                //濡傜Щ闄ょ綉鍏筹紝璇ョ綉鍏崇粦瀹氱殑璁惧鍒楄〃{0}灏嗘竻绌猴紝纭缁х画鎵ц璇ユ搷浣滐紵
-                string msg = Language.StringByID(R.MyInternationalizationString.uUnBindedMsg);
-                if (msg.Contains("{0}") == true)
+                //鍒犻櫎
+                MenuName = Language.StringByID(R.MyInternationalizationString.uDelete);
+                frame.AddRowMenu(MenuName, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
                 {
-                    msg = string.Format(msg, "\r\n");
-                }
-                this.ShowMassage(ShowMsgType.Confirm, msg, () =>
-                {
-                    this.DeleteGateway(strWayId);
+                    //濡傜Щ闄ょ綉鍏筹紝璇ョ綉鍏崇粦瀹氱殑璁惧鍒楄〃{0}灏嗘竻绌猴紝纭缁х画鎵ц璇ユ搷浣滐紵
+                    string msg = Language.StringByID(R.MyInternationalizationString.uUnBindedMsg);
+                    if (msg.Contains("{0}") == true)
+                    {
+                        msg = string.Format(msg, "\r\n");
+                    }
+                    this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+                    {
+                        this.DeleteGateway(strWayId);
+                    });
                 });
-            });
+            }
+            if (canAddReplaceMenu == true)
+            {
+                //鏇挎崲
+                MenuName = Language.StringByID(R.MyInternationalizationString.uReplace);
+                frame.AddRowMenu(MenuName, null, "Item/ReplaceIconSelected.png", () =>
+                {
+                    var form = new GatewayReplaceForm();
+                    form.AddForm(this.zbGateway);
+                });
+            }
         }
         #endregion
 

--
Gitblit v1.8.0