From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:25:59 +0800 Subject: [PATCH] 2024年07月25日17:24:45 --- HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs | 151 ++++++++++++++++++++++++++----------------------- 1 files changed, 80 insertions(+), 71 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs index 05041cf..6232dd0 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs @@ -53,12 +53,14 @@ { bodyView.BackgroundColor = CSS_Color.BackgroundColor; - new TopViewDiv(bodyView, sceneFunction.localFunction.name).LoadTopView(); + var topView = new TopViewDiv(bodyView, sceneFunction.localFunction.name); + topView.maginY = 10; + topView.LoadTopView(); contentView = new VerticalScrolViewLayout() { - Y = Application.GetRealHeight(64), - Height = Application.GetRealHeight(520), + Y = Application.GetRealHeight(64 + 10), + Height = Application.GetRealHeight(510), ScrollEnabled = false, }; bodyView.AddChidren(contentView); @@ -195,8 +197,23 @@ { if (sceneFunction.localFunction.spk == SPK.ElectricalTvHisense) { - sceneFunction.status.Clear(); - sceneFunction.status.Add(new SceneFunctionStatus() { key = "wol", value = "on" }); + for(int i = 0;i< sceneFunction.status.Count;i++) + { + var tvState = sceneFunction.status[i]; + if (tvState.key == FunctionAttributeKey.OnOff) + { + tvState.key = "wol"; + tvState.value = "on"; + } + else + { + if(string.IsNullOrEmpty( tvState.value)) + { + sceneFunction.status.RemoveAt(i); + i--; + } + } + } } else { @@ -214,6 +231,7 @@ { sceneFunction.status.Clear(); sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.OnOff, value = "off" }); + sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.Delay, value = sceneFunction.delay }); } } } @@ -223,21 +241,40 @@ { if (temp != null) { - //temp.delay = sceneFunction.delay; - //foreach (var attr in sceneFunction.status) - //{ - // var keva = temp.status.Find((obj) => obj.key == attr.key); - // if (keva != null) - // { - // keva.value = attr.value; - // } - //} - //temp = sceneFunction; scene.functions.Remove(temp); } - //else - { scene.functions.Insert(0, sceneFunction); + + + if (sceneFunction.localFunction.spk == SPK.MusicStandard) + { + for (var i = 0; i < sceneFunction.status.Count;) + { + var ddd = sceneFunction.status[i]; + if (string.IsNullOrEmpty(ddd.value)) + { + sceneFunction.status.Remove(ddd); + continue; + } + i++; + } + + if (sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.PlaylistName) == null) + { + if (isOnStatus) + { + var songNameStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SongName); + { + if (songNameStatus != null) + { + if (string.IsNullOrEmpty(songNameStatus.value)) + { + sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.PlaylistName, value = "hdl_special" }); + } + } + } + } + } } if (!string.IsNullOrEmpty(scene.userSceneId)) { @@ -277,7 +314,14 @@ void UpdataFunctionRow() { - contentView.RemoveAll(); + try + { + contentView.RemoveAll(); + } + catch (Exception ex) + { + MainPage.Log(ex.Message); + } for (var i = 0; i < functionRowList.Count; i++) { try @@ -289,37 +333,39 @@ { if (view.Tag != null) { - if (view.Tag.ToString() == FunctionAttributeKey.OnOff) + if (view.Tag.ToString() == FunctionAttributeKey.OnOff || view.Tag.ToString() == "delay") { contentView.AddChidren(view); - } - if (isOnStatus) + else { - if (view.Tag.ToString() != FunctionAttributeKey.OnOff) + if (isOnStatus) { - if (isColorful && sceneFunction.localFunction.spk == SPK.LightRGB) + if (view.Tag.ToString() != FunctionAttributeKey.OnOff) { - if (view.Tag.ToString() != FunctionAttributeKey.Colorful) + if (isColorful && sceneFunction.localFunction.spk == SPK.LightRGB) { - view.RemoveFromParent(); + if (view.Tag.ToString() != FunctionAttributeKey.Colorful) + { + view.RemoveFromParent(); + } + else + { + contentView.AddChidren(view); + } } else { contentView.AddChidren(view); } } - else - { - contentView.AddChidren(view); - } } - } - else - { - if (view.Tag.ToString() != FunctionAttributeKey.OnOff) + else { - view.RemoveFromParent(); + if (view.Tag.ToString() != FunctionAttributeKey.OnOff && view.Tag.ToString() != "delay") + { + view.RemoveFromParent(); + } } } } @@ -659,43 +705,6 @@ btnFunctionName.MouseUpEventHandler = (sender, e) => { LoadEditDialog_OnOff(sceneStatus, btnFunctionText); - //var colorfulModePage = new SetSceneRgbColorfulModePage(); - //colorfulModePage.backAction = (selectedSerise,status) => { - // if (selectedSerise == null) - // { - // if (status == "on") - // { - // isColorful = true; - // } - // else - // { - // isColorful = false; - // } - // } - // else - // { - // isColorful = true; - // rgbColorful = selectedSerise.ConvertSceneFunction(); - // } - // if (isColorful) - // { - // btnFunctionText.TextID = StringId.On; - // if (selectedSerise != null) - // { - // btnFunctionText.Text = selectedSerise.name; - // } - // } - // else - // { - // btnFunctionText.TextID = StringId.OFF; - // } - // UpdataFunctionRow(); - //}; - //MainPage.BasePageView.AddChidren(colorfulModePage); - //colorfulModePage.LoadPage(sceneFunction.localFunction.sid.Substring(0,16)); - //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - - }; #endregion -- Gitblit v1.8.0