From 03ff92ba7d9f06583f3a292ecb2077cf01e5a5ca Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 10 一月 2020 12:00:15 +0800 Subject: [PATCH] 2019.1.10 --- ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 3 ZigbeeApp/Shared/Common/SceneUI.cs | 1 ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml | 35 ++++-- ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs | 103 +++++++++++--------- ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide | 0 ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs | 24 +++- ZigbeeApp/Shared/Common/Room.cs | 121 ++++++++++++++++++++---- ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs | 3 ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs | 2 9 files changed, 205 insertions(+), 87 deletions(-) diff --git a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml index 6fcc2d4..c2a0c08 100644 --- a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml +++ b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml @@ -2,18 +2,18 @@ <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.M7BBB18B19152766" /> <MonoDevelop.Ide.ItemProperties.GateWay.Ios automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.8c0bdb303f25d82c2a42fb8bfca449bfaca00260" /> <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" /> - <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/UserView/UserPage.cs"> + <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Room/RoomManagement.cs"> <Files> - <File FileName="Shared/R.cs" Line="1366" Column="1" /> + <File FileName="Shared/R.cs" Line="1364" Column="1" /> <File FileName="GateWay.Droid/Assets/Language.ini" /> <File FileName="Shared/Phone/UserView/UserHomeView.cs" /> - <File FileName="Shared/Phone/Device/Category/Category.cs" Line="1835" Column="16" /> - <File FileName="Shared/Phone/Device/CommonForm/SceneCategoryView.cs" Line="434" Column="37" /> - <File FileName="Shared/Phone/Device/CommonForm/SceneMainView.cs" Line="293" Column="22" /> - <File FileName="Shared/Phone/Device/CommonForm/SelectZone.cs" Line="23" Column="34" /> - <File FileName="Shared/Phone/Device/CommonForm/RoomView.cs" Line="86" Column="29" /> - <File FileName="Shared/Phone/Device/Room/EditRoom.cs" Line="110" Column="29" /> - <File FileName="Shared/Phone/UserView/UserPage.cs" Line="1" Column="1" /> + <File FileName="Shared/Phone/Device/Category/Category.cs" /> + <File FileName="Shared/Phone/Device/CommonForm/SceneCategoryView.cs" /> + <File FileName="Shared/Phone/Device/CommonForm/SceneMainView.cs" /> + <File FileName="Shared/Phone/Device/Category/CategoryAddScene.cs" /> + <File FileName="Shared/Common/SceneUI.cs" /> + <File FileName="Shared/Common/Room.cs" /> + <File FileName="Shared/Phone/Device/Room/RoomManagement.cs" Line="1" Column="1" /> </Files> <Pads> <Pad Id="ProjectPad"> @@ -36,10 +36,16 @@ <Node name="CommonForm" expanded="True" /> <Node name="Curtain" expanded="True" /> <Node name="Light" expanded="True" /> - <Node name="Room" expanded="True" /> + <Node name="Room" expanded="True"> + <Node name="RoomManagement.cs" selected="True" /> + </Node> </Node> - <Node name="UserView" expanded="True"> - <Node name="UserPage.cs" selected="True" /> + <Node name="UserCenter" expanded="True"> + <Node name="Guide" expanded="True" /> + </Node> + <Node name="UserView" expanded="True" /> + <Node name="ZigBee" expanded="True"> + <Node name="Common" expanded="True" /> </Node> </Node> </Node> @@ -52,7 +58,10 @@ <MonoDevelop.Ide.DebuggingService.PinnedWatches /> <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhoneSimulator" /> <MonoDevelop.Ide.DebuggingService.Breakpoints> - <BreakpointStore /> + <BreakpointStore> + <Breakpoint file="/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Common/Room.cs" relfile="Shared/Common/Room.cs" line="508" column="1" /> + <Breakpoint file="/Users/guoxuecheng/Desktop/HomeApp/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs" relfile="Shared/Phone/Device/Category/SelectFloor.cs" line="137" column="1" /> + </BreakpointStore> </MonoDevelop.Ide.DebuggingService.Breakpoints> <MultiItemStartupConfigurations /> </Properties> \ No newline at end of file diff --git a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide index 9f64ad8..c81cc3b 100644 --- a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide +++ b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide Binary files differ diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs index df0c48c..ce9e8b9 100644 --- a/ZigbeeApp/Shared/Common/Room.cs +++ b/ZigbeeApp/Shared/Common/Room.cs @@ -193,6 +193,10 @@ var sceneList = new List<SceneUI> { }; foreach (var r in Shared.Common.Room.Lists) { + if(r.IsLove) + { + continue; + } if (r.SceneUIList.Count == 0) { continue; @@ -222,6 +226,11 @@ var pathList = new List<string> { }; foreach (var r in Lists) { + if(r.IsLove) + { + continue; + } + if (r.SceneUIFilePathList.Count == 0) { continue; @@ -263,7 +272,7 @@ for (int i = 0; i < Lists.Count; i++) { var room = Lists[i]; - if (room.IsSharedRoom) + if (room.IsSharedRoom || room.IsLove) { continue; } @@ -335,6 +344,7 @@ } } + Config.Instance.Home.InitFloor(); CurrentRoom.RefreshRoomListView(); @@ -709,11 +719,24 @@ /// <returns></returns> public List<Room> GetRoomsByFloorId(string id) { - if (Config.Instance.Home.FloorDics.Count == 0) + try { - return Lists; + if (Lists == null || Lists.Count == 0 || Lists.Count == 1) + { + return null; + } + if (Config.Instance.Home.FloorDics.Count == 0) + { + return Lists; + } + return Lists.FindAll((obj) => obj.FloorId == id); } - return Lists.FindAll((obj) => obj.FloorId == id); + catch(Exception ex) + { + System.Console.WriteLine(ex.Message); + return null; + } + } /// <summary> /// 鑾峰彇褰撳墠妤煎眰鐨勬埧闂村悕绉� @@ -1198,17 +1221,8 @@ /// <param name="scene">Scene.</param> public void AddScene(SceneUI scene) { - //var sceneUI = new SceneUI - //{ - // Name = scene.Name, - // Id = scene.Id, - // IconPath = scene.IconPath, - // IconPathType = scene.IconPathType, - // AddSceneMemberDataList = scene.AddSceneMemberDataList - //}; SceneUIList.Add(scene); SceneUIFilePathList.Add(scene.FileName); - scene.Save(); Save(); } @@ -1218,10 +1232,13 @@ /// <param name="scene"></param> public void DeleteScene(SceneUI scene) { - //scene.IsCollected = false; - scene.Save(); - SceneUIList.Remove(scene); - SceneUIFilePathList.Remove(scene.FileName); + var curScene = SceneUIList.Find((obj) => obj.Id == scene.Id); + if (curScene == null) + { + return; + } + SceneUIList.Remove(curScene); + SceneUIFilePathList.Remove(curScene.FileName); Save(); } @@ -1310,9 +1327,61 @@ { sceneUI.AddSceneMemberDataList = addCommons; sceneUI.Save(); + if (IsLove == false) + { + var curScene = Common.Room.CurrentRoom.GetLoveRoom().SceneUIList.Find((obj) => obj.Id == sceneUI.Id); + if (curScene != null) + { + curScene.Name = sceneUI.Name; + curScene.IconPath = sceneUI.IconPath; + curScene.IconPathType = sceneUI.IconPathType; + curScene.AddSceneMemberDataList = sceneUI.AddSceneMemberDataList; + curScene.SceneDelayTime = sceneUI.SceneDelayTime; + curScene.Save(false); + Common.Room.CurrentRoom.GetLoveRoom().Save(); + } + } return 1; } return 0; + } + + /// <summary> + /// 璁剧疆銆佸悓姝ュ欢鏃舵椂闂� + /// </summary> + /// <param name="scene"></param> + public void ModifySceneDelayTime(SceneUI scene) + { + if (IsLove) + { + foreach (var r in Lists) + { + if (r.IsLove || r.SceneUIList.Count == 0) + { + continue; + } + foreach (var sce in r.SceneUIList) + { + if (sce.Id == scene.Id) + { + sce.SceneDelayTime = scene.SceneDelayTime; + sce.Save(false); + r.Save(false); + break; + } + } + } + } + else + { + var curScene = Common.Room.CurrentRoom.GetLoveRoom().SceneUIList.Find((obj) => obj.Id == scene.Id); + if (curScene != null) + { + curScene.SceneDelayTime = scene.SceneDelayTime; + curScene.Save(false); + Common.Room.CurrentRoom.GetLoveRoom().Save(false); + } + } } #endregion @@ -1329,9 +1398,16 @@ { return; } - SceneUIList.Remove(sceneUI); - SceneUIFilePathList.Remove(sceneUI.FileName); - Save(); + + if (sceneUI.IconPathType == 1 || sceneUI.IconPathType == 2) + { + if (Global.IsExistsByHomeId(sceneUI.IconPath)) + { + Global.DeleteFilebyHomeId(sceneUI.IconPath); + HdlAutoBackupLogic.DeleteFile(sceneUI.IconPath); + } + } + if (IsLove == false) { if (CurrentRoom.GetLoveRoom().SceneUIList.Find((obj) => obj.Id == sceneUI.Id) != null) @@ -1339,6 +1415,11 @@ CurrentRoom.GetLoveRoom().DeleteScene(sceneUI); } } + + SceneUIList.Remove(sceneUI); + SceneUIFilePathList.Remove(sceneUI.FileName); + Save(); + Global.DeleteFilebyHomeId(sceneUI.FileName); HdlAutoBackupLogic.DeleteFile(sceneUI.FileName); } diff --git a/ZigbeeApp/Shared/Common/SceneUI.cs b/ZigbeeApp/Shared/Common/SceneUI.cs index 5d7b5a1..3f4cd40 100644 --- a/ZigbeeApp/Shared/Common/SceneUI.cs +++ b/ZigbeeApp/Shared/Common/SceneUI.cs @@ -232,6 +232,7 @@ } }); } + #endregion #region 鈼� 淇濆瓨____________________________ diff --git a/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs b/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs index 965cad9..a45ccfe 100644 --- a/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs @@ -133,7 +133,7 @@ if(changeFloor) { Config.Instance.Home.CurrentFloorId = (sender as CommonForm.LeftIconButtonRow).Tag.ToString(); - Config.Instance.Home.Save(); + Config.Instance.Home.Save(false); Common.Room.CurrentRoom.RefreshRoomListView(); } RemoveView(); diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs index 7fe0130..5f8edaa 100644 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs @@ -373,6 +373,8 @@ { scene.SceneDelayTime = t; delayTimeBtn.Text = CommonFormResouce.GetTimeString(t); + + room.ModifySceneDelayTime(scene); }; }; } @@ -422,6 +424,7 @@ scene.RemainTime = scene.SceneDelayTime; scene.SceneDelayTime = 0; + room.ModifySceneDelayTime(scene); new System.Threading.Thread(() => { while (scene.RemainTime > 0) diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs index 90b6b05..0defd1b 100644 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs @@ -37,6 +37,10 @@ /// scene /// </summary> public SceneUI scene; + /// <summary> + /// CollectionAction + /// </summary> + public Action CollectionAction; /// <summary> /// IsSelected @@ -284,6 +288,7 @@ scene.RemainTime = scene.SceneDelayTime; scene.SceneDelayTime = 0; + Common.Room.CurrentRoom.ModifySceneDelayTime(scene); new System.Threading.Thread(() => { while (scene.RemainTime > 0) @@ -310,16 +315,23 @@ /// <param name="mouseEventArgs"></param> private void CollectionEvent(object sender,MouseEventArgs mouseEventArgs) { - (sender as Button).IsSelected = !(sender as Button).IsSelected; - if ((sender as Button).IsSelected) + if (Common.Room.CurrentRoom.IsLove) { - Shared.Common.Room.CurrentRoom.GetLoveRoom().AddScene(scene); + Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene); + CollectionAction?.Invoke(); } else { - Shared.Common.Room.CurrentRoom.GetLoveRoom().RemoveScene(scene); + (sender as Button).IsSelected = !(sender as Button).IsSelected; + if ((sender as Button).IsSelected) + { + Common.Room.CurrentRoom.GetLoveRoom().AddScene(scene); + } + else + { + Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene); + } } - scene.Save(); } /// <summary> @@ -342,6 +354,8 @@ { scene.SceneDelayTime = t; SetTimeByDelayTime(t); + + Common.Room.CurrentRoom.ModifySceneDelayTime(scene); }; } diff --git a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs index cae7db4..4013426 100644 --- a/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs +++ b/ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs @@ -149,67 +149,76 @@ var roomScrolView = new VerticalScrolViewLayout { }; bodyFrameLayout.AddChidren(roomScrolView); - var roomList = Common.Room.CurrentRoom.GetRoomsByFloorId(floorId); - if (roomList == null) + try { - return; - } - for (int i = 0; i < roomList.Count+1; i++) - { - int xx = 43 + i % 2 * (20 + 487); - int yy = 0; - if (i == 0 || i == 1) + System.Console.WriteLine("roomlist0"); + var roomList = Common.Room.CurrentRoom.GetRoomsByFloorId(floorId); + System.Console.WriteLine("roomlist" + roomList); + if (roomList == null || roomList.Count == 0) { - if (i % 2 == 0) + return; + } + for (int i = 0; i < roomList.Count + 1; i++) + { + int xx = 43 + i % 2 * (20 + 487); + int yy = 0; + if (i == 0 || i == 1) + { + if (i % 2 == 0) + { + itemView = new FrameLayout() + { + Height = Application.GetRealHeight(354 + 58) + }; + roomScrolView.AddChidren(itemView); + } + yy = 58; + } + else if (i % 2 == 0) { itemView = new FrameLayout() { - Height = Application.GetRealHeight(354 + 58) + Height = Application.GetRealHeight(354) }; roomScrolView.AddChidren(itemView); } - yy = 58; - } - else if (i % 2 == 0) - { - itemView = new FrameLayout() - { - Height = Application.GetRealHeight(354) - }; - roomScrolView.AddChidren(itemView); - } - if (i< roomList.Count) - { - var room = roomList[i]; - var roomView = new RoomMainView(xx, yy); - itemView.AddChidren(roomView); - roomView.Init(this,room); - roomView.SetRoomName(room.Name); - roomView.SetRoomIcon(room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage)); - roomView.ClickBtn.MouseUpEventHandler += (sender, e) => + if (i < roomList.Count) { - if (CanClick == false) + var room = roomList[i]; + var roomView = new RoomMainView(xx, yy); + itemView.AddChidren(roomView); + roomView.Init(this, room); + roomView.SetRoomName(room.Name); + roomView.SetRoomIcon(room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage)); + roomView.ClickBtn.MouseUpEventHandler += (sender, e) => { - return; - } - CommonPage.Instance.CloseLeftMenu(); - Common.Room.CurrentRoom = room; - Config.Instance.Home.CurrentFloorId = room.FloorId; - UserPage.Instance.Fresh(); - }; - } - else - { - var roomView = new RoomNoNameMainView(xx, yy); - itemView.AddChidren(roomView); - roomView.Init(); + if (CanClick == false) + { + return; + } + CommonPage.Instance.CloseLeftMenu(); + Common.Room.CurrentRoom = room; + Config.Instance.Home.CurrentFloorId = room.FloorId; + UserPage.Instance.Fresh(); + }; + } + else + { + var roomView = new RoomNoNameMainView(xx, yy); + itemView.AddChidren(roomView); + roomView.Init(); - roomView.Icon.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent; - roomView.RoomNameButton.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent; - roomView.iconFL.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent; + roomView.Icon.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent; + roomView.RoomNameButton.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent; + roomView.iconFL.MouseUpEventHandler += ShowUnallocatedRoom_MouseUpEvent; + } } } + catch (Exception ex) + { + string tt=ex.Message; + } } #endregion diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs index 3accaa7..40422ba 100644 --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -1813,8 +1813,9 @@ } var sceneView = new SceneMainView(xx, yy); - itemView.AddChidren(sceneView); sceneView.Init(scene); + itemView.AddChidren(sceneView); + sceneView.CollectionAction += ShowScene; } GetDelayScene(sceneScrolView); } -- Gitblit v1.8.0