* AppDelegate.cs:

* packages.config:
* packages.config:
* qController.iOS.csproj:
* qController.Droid.csproj:
* qController.csproj: Update Packages

* App.xaml: Add some static styles

* App.xaml.cs: Trying out Sharpnado Stuff

* QCueGrid.cs: Move QCueGrid Recursive stuff inside class

* QBrowserViewModel.cs: Hook into new ServerFound/Lost Methods

* QCueViewModel.cs: Start work on cue children updating

* QServerViewModel.cs: Hook into WorkspaceAdded/Removed methods

* MenuPage.xaml.cs: Remove Add from side menu

* QBrowserPage.xaml: Further work on front page design

* QBrowserPage.xaml.cs: Add Manually add button to main page

* QWorkspacePage.xaml.cs: Move recursive stuff out of Page code behind
This commit is contained in:
2021-01-08 23:31:55 -06:00
parent 12ec5905f1
commit 9cf241f9c8
16 changed files with 309 additions and 165 deletions
@@ -67,25 +67,48 @@ namespace qController.ViewModels
this.Add(new QWorkspaceViewModel(workspace));
});
}
this.server.WorkspaceAdded += Server_WorkspaceAdded;
this.server.WorkspaceRemoved += Server_WorkspaceRemoved;
this.server.ServerUpdated += OnServerUpdated;
}
private void Server_WorkspaceRemoved(object source, QServerWorkspaceChangedArgs args)
{
QWorkspaceViewModel workspaceToRemove = null;
foreach(var workspaceViewModel in this)
{
if(workspaceViewModel.workspace.uniqueID == args.workspace.uniqueID)
{
workspaceToRemove = workspaceViewModel;
break;
}
}
if(workspaceToRemove != null)
{
Device.BeginInvokeOnMainThread(() =>
{
Remove(workspaceToRemove);
});
}
}
private void Server_WorkspaceAdded(object source, QServerWorkspaceChangedArgs args)
{
QWorkspaceViewModel workspaceViewModel = new QWorkspaceViewModel(args.workspace);
Device.BeginInvokeOnMainThread(() =>
{
Add(workspaceViewModel);
});
}
private void OnServerUpdated(object source, QServerUpdatedArgs args)
{
OnPropertyChanged("GroupName");
OnPropertyChanged("version");
foreach (var workspace in this.server.workspaces)
{
QWorkspaceViewModel workspaceViewModel = new QWorkspaceViewModel(workspace);
if (!Contains(workspaceViewModel))
{
Device.BeginInvokeOnMainThread(() =>
{
Add(workspaceViewModel);
});
}
}
}
void OnPropertyChanged([CallerMemberName] string name = "")