From 1d1cad99a27c9f644c84eb3d376c70bd30a55879 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 10 三月 2021 18:02:13 +0800 Subject: [PATCH] 2021-3-10-1 --- HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs | 74 ++++++++++++++++++++++++------------- 1 files changed, 48 insertions(+), 26 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs index 42808ff..406ef9f 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs @@ -261,7 +261,7 @@ TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = FunctionList.List.GetDelayText( scene.delay) + Text = scene.GetDelayText() }; sceneDelayRow.AddChidren(btnSceneDelayInfo); @@ -281,10 +281,15 @@ { Action<string> action = (obj) => { scene.delay = obj; - btnSceneDelayInfo.Text = FunctionList.List.GetDelayText(obj); + btnSceneDelayInfo.Text = scene.GetDelayText(); 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), @@ -461,7 +483,7 @@ if (Convert.ToInt32( scenefunction.delay) > 0) { - btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + FunctionList.List.GetDelayText(scenefunction.delay); + btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + new Scene() { delay = scenefunction.delay }.GetDelayText(); } else { @@ -545,16 +567,16 @@ var fanState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed); if (modeState != null) { - sceneFunctionInfo += FunctionList.List.GetValueText(modeState.key, modeState.value) + " "; + sceneFunctionInfo += modeState.GetValueText() + " "; } if (tempState != null) { - sceneFunctionInfo += FunctionList.List.GetValueText(tempState.key, tempState.value) + " "; - sceneFunctionInfo += FunctionList.List.GetUintString(tempState.key); + sceneFunctionInfo += tempState.GetValueText() + " "; + sceneFunctionInfo += tempState.GetUintString(); } if (fanState != null) { - sceneFunctionInfo += FunctionList.List.GetValueText(fanState.key, fanState.value) + " "; + sceneFunctionInfo += fanState.GetValueText() + " "; } var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); if (briState != null) -- Gitblit v1.8.0