From cebf5425f89a2cbcc564020c7e8be6ea4e0877ba Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Wed, 10 Jul 2019 22:17:29 -0500 Subject: [PATCH] * QStorage.cs: Fix AddInstance to actually check Contains * MenuPage.xaml.cs: * ControlPage.xaml.cs: * qConnectionPage.xaml.cs: Add ability to change cue name in menu --- .../Classes/Settings/QStorage.cs | 22 +++++++++++-------- .../Pages/ControlPage.xaml.cs | 1 + qController.Standard/Pages/MenuPage.xaml.cs | 16 ++++++++++++++ .../Pages/qConnectionPage.xaml.cs | 13 ++++++----- 4 files changed, 37 insertions(+), 15 deletions(-) diff --git a/qController.Standard/Classes/Settings/QStorage.cs b/qController.Standard/Classes/Settings/QStorage.cs index f92c9eb..c3f55ba 100644 --- a/qController.Standard/Classes/Settings/QStorage.cs +++ b/qController.Standard/Classes/Settings/QStorage.cs @@ -19,15 +19,18 @@ namespace qController } } - public static void AddInstance(string name, string address){ - if(!Contains(name,address)){ - AddInstance(new QInstance(name, address)); - Console.WriteLine("Adding Instance: " + name + " @ " + address); - } + public static bool AddInstance(string name, string address){ + return AddInstance(new QInstance(name, address)); } - public static void AddInstance(QInstance q){ - qInstances.Add(q); - updateStorage(); + + public static bool AddInstance(QInstance q){ + if(!Contains(q.name, q.address)){ + qInstances.Add(q); + updateStorage(); + return true; + }else{ + return false; + } } public static void RemoveInstance(string name, string address){ @@ -51,7 +54,8 @@ namespace qController public static bool Contains(string name, string address){ foreach (var item in qInstances) { - if (item.name == name && item.address == address) + //Console.WriteLine("Item name: " + item.name + " Found Name: " + name); + if (item.address == address) { return true; } diff --git a/qController.Standard/Pages/ControlPage.xaml.cs b/qController.Standard/Pages/ControlPage.xaml.cs index 69c9403..c3458b7 100644 --- a/qController.Standard/Pages/ControlPage.xaml.cs +++ b/qController.Standard/Pages/ControlPage.xaml.cs @@ -250,6 +250,7 @@ namespace qController public void OnCueUpdateReceived(object sender, CueEventArgs args) { qController.qWorkspace.UpdateCue(args.Cue); + App.rootPage.MenuPage.ChangeCueName(args.Cue.uniqueID, args.Cue.listName); if (qController.playbackPosition == null) { qController.playbackPosition = args.Cue.uniqueID; diff --git a/qController.Standard/Pages/MenuPage.xaml.cs b/qController.Standard/Pages/MenuPage.xaml.cs index 90752ed..c2789d3 100644 --- a/qController.Standard/Pages/MenuPage.xaml.cs +++ b/qController.Standard/Pages/MenuPage.xaml.cs @@ -143,6 +143,22 @@ namespace qController } } + public void ChangeCueName(string cue_id, string name){ + for(int i = 0; i < items.Count; i++) + { + if (items[i].Command.Contains(cue_id)) + { + var item = items[i]; + items.RemoveAt(i); + item.Title = name; + items.Insert(i, item); + Console.WriteLine("CUE OBJECT FOUND IN MENU TRYING TO UPDATE"); + return; + } + } + + } + public void ChangeToHome() { items.Clear(); diff --git a/qController.Standard/Pages/qConnectionPage.xaml.cs b/qController.Standard/Pages/qConnectionPage.xaml.cs index 0683e3c..b9c6f5a 100644 --- a/qController.Standard/Pages/qConnectionPage.xaml.cs +++ b/qController.Standard/Pages/qConnectionPage.xaml.cs @@ -112,7 +112,7 @@ namespace qController async void Scan(){ bool workspacesFound = false; - App.showToast("Scanning for Workspaces..."); + App.showToast("Scanning for Instances..."); Console.WriteLine("Begin Scanning"); IReadOnlyList results = await ZeroconfResolver.ResolveAsync("_qlab._udp.local.",TimeSpan.FromSeconds(3)); @@ -122,17 +122,18 @@ namespace qController if (result != null) { QInstance instance = new QInstance(result.DisplayName, result.IPAddress); - QStorage.AddInstance(instance); - Console.WriteLine(result.DisplayName + " @ " + result.IPAddress + " added"); - workspacesFound = true; + if(QStorage.AddInstance(instance)){ + Console.WriteLine(result.DisplayName + " @ " + result.IPAddress + " added"); + workspacesFound = true; + } } } } if(workspacesFound){ - App.showToast("Workspace Found and Added!"); + App.showToast("Instance Found and Added!"); }else{ - App.showToast("No Workspaces Found!"); + App.showToast("No New Instances Found!"); } }