From d4811b7d34b45ff6b21b97f11da128b5572ec526 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 03 三月 2021 16:03:03 +0800
Subject: [PATCH] 20210303-1

---
 HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs |   77 ++++++++++++++++++++++++--------------
 1 files changed, 48 insertions(+), 29 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index d317393..9a5237a 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -284,7 +284,12 @@
                         btnSceneDelayInfo.Text = FunctionList.List.GetDelayText(obj);
                         scene.EditScene();
                     };
-                    new PublicAssmebly().SetSceneDelayDialog(action,scene.delay);
+                    Dictionary<string, string> items = new Dictionary<string, string>();
+                    items.Add("30", "30s");
+                    items.Add("60", "1min");
+                    items.Add("120", "2min");
+                    items.Add("300", "5min");
+                    new PublicAssmebly().SetSceneDelayDialog(items,action,scene.delay);
                 };
 
                 contentView.AddChidren(new Button()
@@ -373,32 +378,42 @@
 
             var waitPage = new Loading();
             new Thread(() => {
-                Application.RunOnMainThread(() => {
-                    bodyView.AddChidren(waitPage);
-                    waitPage.Start(Language.StringByID(StringId.PleaseWait));
-                });
-                var pm = new HttpServerRequest();
-                var pack = pm.GetSceneInfo(scene.userSceneId);
-                if (pack.Code == StateCode.SUCCESS)
+                try
                 {
-                    var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
-                    var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
-                    if(tempScene!= null)
-                    {
-                        scene.functions = tempScene.functions;
-                    }
                     Application.RunOnMainThread(() =>
                     {
-                        LoadFunctionRow();
-                        waitPage.Hide();
+                        bodyView.AddChidren(waitPage);
+                        waitPage.Start(Language.StringByID(StringId.PleaseWait));
                     });
+                    var pm = new HttpServerRequest();
+                    var pack = pm.GetSceneInfo(scene.userSceneId);
+                    if (pack.Code == StateCode.SUCCESS)
+                    {
+                        var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
+                        var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
+                        if (tempScene != null)
+                        {
+                            scene.functions = tempScene.functions;
+                        }
+                        Application.RunOnMainThread(() =>
+                        {
+                            LoadFunctionRow();
+                            waitPage.Hide();
+                            waitPage.RemoveFromParent();
+                        });
+                    }
+                    else
+                    {
+                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                    }
                 }
-                else
+                catch { }
+                finally
                 {
                     Application.RunOnMainThread(() =>
                     {
                         waitPage.Hide();
-                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                        waitPage.RemoveFromParent();
                     });
                 }
             }).Start();
@@ -410,8 +425,15 @@
         {
             functionListView.RemoveAll();
             functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
-            foreach (var scenefunction in scene.functions)
+            for(int i =0;i<scene.functions.Count;)
             {
+                var scenefunction = scene.functions[i];
+                if (scenefunction.localFunction == null)
+                {
+                    scene.functions.Remove(scenefunction);
+                    continue;
+                }
+                i++;
                 var row = new RowLayout()
                 {
                     Height = Application.GetRealWidth(65),
@@ -538,37 +560,33 @@
                         return Language.StringByID(StringId.Close);
                 }
             }
-
-            if (sceneFunction.status.Count == 1)
-            {
-                return sceneFunctionInfo += Language.StringByID(StringId.Open);
-            }
+            sceneFunctionInfo += Language.StringByID(StringId.Open) + " ";
 
             var modeState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode);
             var tempState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp);
             var fanState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
             if (modeState != null)
             {
-                sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value);
+                sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value) + " ";
             }
             if (tempState != null)
             {
-                sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value);
+                sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value) + " ";
                 sceneFunctionInfo += FunctionList.List.GetUintString(tempState.key);
             }
             if (fanState != null)
             {
-                sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value);
+                sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value) + " ";
             }
             var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
             if (briState != null)
             {
-                sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + briState.value + "%";
+                sceneFunctionInfo += briState.value + "%";
             }
             var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
             if (perState != null)
             {
-                sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + perState.value + "%";
+                sceneFunctionInfo += perState.value + "%";
             }
             return sceneFunctionInfo;
         }
@@ -792,6 +810,7 @@
                 pictureOptionView.Parent.RemoveFromParent();
                 Action<string> action = (obj) => {
                     scene.ImagePath = obj;
+                    addSceneImageView.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath
                     addSceneImageView.ImagePath = scene.ImagePath;
                     scene.EditScene();
                 };

--
Gitblit v1.8.0