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/SceneAddPage.cs | 130 ++++++++++++++----------------------------- 1 files changed, 43 insertions(+), 87 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs index 24834bd..7ccf347 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneAddPage.cs @@ -270,14 +270,18 @@ }; sceneDelayRow.AddChidren(btnSceneDelayTitle); - btnSceneDelayTitle.MouseUpEventHandler = (sender, e) => { Action<string> action = (obj) => { scene.delay = obj; btnSceneDelayInfo.Text = FunctionList.List.GetDelayText(obj); }; - 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() @@ -477,7 +481,6 @@ row.AddRightView(btnDelSceneFunction); btnDelSceneFunction.MouseUpEventHandler = (sender, e) => { scene.functions.Remove(scenefunction); - scene.SaveSceneData(true); row.RemoveFromParent(); functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count); }; @@ -500,10 +503,7 @@ } } - if (sceneFunction.status.Count == 0) - { - 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); @@ -524,81 +524,14 @@ var briState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness); if (briState != null) { - sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; + sceneFunctionInfo += briState.value + "%"; } var perState = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent); if (perState != null) { - sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; + sceneFunctionInfo += perState.value + "%"; } - //FunctionAttributes perTrait; - - //switch (sceneFunction.localFunction.functionType) - //{ - //case FunctionType.AC: - //var acMode = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode); - //var acTemp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp); - //var acFan = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed); - //if (acMode != null) - //{ - // sceneFunctionInfo += FunctionList.List.GetValueText(acMode.key, acMode.value); - //} - //if (acTemp != null) - //{ - // sceneFunctionInfo += FunctionList.List.GetValueText(acTemp.key, acTemp.value); - // sceneFunctionInfo += FunctionList.List.GetUintString(acTemp.key); - //} - //if (acFan!=null) - //{ - // sceneFunctionInfo += FunctionList.List.GetValueText(acFan.key, acFan.value); - //} - // break; - //case FunctionType.FloorHeating: - //sceneFunctionInfo += sceneFunction.localFunction.attributes.Find((obj) => obj.key == "mode").GetCurValueText(); - //sceneFunctionInfo += " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").curValue.ToString() + - // sceneFunction.localFunction.attributes.Find((obj) => obj.key == "set_temp").uintString; - //break; - //case FunctionType.Dimmer: - //perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness"); - //if (perTrait != null) - //{ - // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; - //} - //else - //{ - // sceneFunctionInfo += Language.StringByID(StringId.Open); - //} - //break; - //case FunctionType.Relay: - // sceneFunctionInfo += Language.StringByID(StringId.Open); - // break; - //case FunctionType.RGB: - // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"); - // if (perTrait != null) - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "brightness").curValue.ToString() + "%"; - // } - // else - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open); - // } - // break; - //case FunctionType.Curtain: - // sceneFunctionInfo += Language.StringByID(StringId.Open); - // break; - //case FunctionType.MotorCurtain: - // perTrait = sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent"); - // if (perTrait != null) - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.localFunction.attributes.Find((obj) => obj.key == "percent").curValue.ToString() + "%"; - // } - // else - // { - // sceneFunctionInfo += Language.StringByID(StringId.Open); - // } - // break; - //} return sceneFunctionInfo; } @@ -836,6 +769,7 @@ pictureOptionView.Parent.RemoveFromParent(); Action<string> action = (obj) => { scene.ImagePath = obj; + addSceneImageView.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath addSceneImageView.ImagePath = scene.ImagePath; }; @@ -894,18 +828,40 @@ return; } } - string result = ""; - var addScene = FunctionList.List.AddScene(scene,out scene); - if (addScene != null) + var waitPage = new Loading(); + MainPage.BaseView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + new System.Threading.Thread(() => { - FunctionList.List.scenes.Add(scene); - backAction(); - RemoveFromParent(); - } - else - { - IMessageCommon.Current.ShowErrorInfoAlter(result); - } + try + { + var serverScene = new Scene(); + var result = FunctionList.List.AddScene(scene, out serverScene); + Application.RunOnMainThread(() => + { + if (result == StateCode.SUCCESS) + { + scene = serverScene; + FunctionList.List.scenes.Add(scene); + backAction(); + RemoveFromParent(); + } + else + { + IMessageCommon.Current.ShowErrorInfoAlter(result); + } + }); + } + catch { } + finally + { + Application.RunOnMainThread(() => { + waitPage.Hide(); + waitPage.RemoveFromParent(); + }); + } + }) + { IsBackground = true, Priority = ThreadPriority.AboveNormal }.Start(); }; } -- Gitblit v1.8.0