/* * This section contains functionality for local application windows control: * - Adding / removing application windows if such has been opened / closed * - Selecting / deselecting specific windows share on UI and on API level * - Starting share (used in command binding) */ public void AddLocalWindow(LocalWindowShareModel window) { if (LocalWindows.FirstOrDefault(x => x.Id.Equals(window.Id)) == null) { System.Windows.Application.Current.Dispatcher.Invoke(() => LocalWindows.Add(window)); Log.Info(string.Format("Added local window: name={0} id={1}", window.DisplayName, window.Id)); } }
private void StartLocalWindowShare() { var winToShare = LocalWindows.FirstOrDefault(x => x.IsSelected); if (winToShare != null) { SharingInProgress = _connector.SelectLocalWindowShare(winToShare.Object); Log.Info(string.Format("Set selected local window share: name={0} id={1}", winToShare.DisplayName, winToShare.Id)); } }
public void RemoveLocalWindow(LocalWindowShareModel window) { var winToRemove = LocalWindows.FirstOrDefault(x => x.Id.Equals(window.Id)); if (winToRemove != null) { System.Windows.Application.Current.Dispatcher.Invoke(() => LocalWindows.Remove(winToRemove)); Log.Info( string.Format("Removed local window: name={0} id={1}", winToRemove.DisplayName, winToRemove.Id)); } }
public void SetSelectedLocalWindow(LocalWindowShareModel window) { LocalWindows.Select(x => { x.IsSelected = false; return(x); }) .ToList(); var winToSelect = LocalWindows.FirstOrDefault(x => x.Id.Equals(window.Id)); if (winToSelect != null) { winToSelect.IsSelected = true; Log.Info(string.Format("Local window selected: name={0} id={1}", winToSelect.DisplayName, winToSelect.Id)); } }