private void _listView_ContextMenuOpening(object sender, ContextMenuEventArgs e) { var selectItems = _listView.SelectedItems; if (!_listViewDeleteMenuItem_IsEnabled) { _listViewDeleteMenuItem.IsEnabled = false; } else { _listViewDeleteMenuItem.IsEnabled = (selectItems != null && selectItems.Count > 0); } _listViewCopyMenuItem.IsEnabled = (selectItems != null && selectItems.Count > 0); _listViewCopyInfoMenuItem.IsEnabled = (selectItems != null && selectItems.Count > 0); _listViewResetMenuItem.IsEnabled = (selectItems != null && selectItems.Count > 0); _listViewPriorityMenuItem.IsEnabled = (selectItems != null && selectItems.Count > 0); if (!_listViewDeleteCompleteMenuItem_IsEnabled) { _listViewDeleteCompleteMenuItem.IsEnabled = false; } else { _listViewDeleteCompleteMenuItem.IsEnabled = _listViewModelCollection.Any(n => n.State == DownloadState.Completed); } _listViewPasteMenuItem.IsEnabled = Clipboard.ContainsSeeds(); }
private void UpdateTableSettings() { Logger.Instance.Write("UpdateTableSettings"); //remove tableSetting not exist in dbTables for (int i = 0; i < tableSettings.Count; i++) { if (tables.Any(p => p.TableName == tableSettings[i].TableName) == false) { Logger.Instance.Write($" remove {tableSettings[i].TableName}"); tableSettings.RemoveAt(i); i--; } } for (int i = 0; i < tables.Count; i++) { var item = tables[i]; var tableSetting = tableSettings.FirstOrDefault(p => p.TableName == item.TableName); if (tableSetting != null) { Logger.Instance.Write($" update {item.TableName}"); tableSetting.DbTable = item; } else { TableSettings.Insert(i, new TableSetting() { TableName = item.TableName, DbTable = item }); Logger.Instance.Write($" add {item.TableName}"); } } }
private void _listView_ContextMenuOpening(object sender, ContextMenuEventArgs e) { var selectItems = _listView.SelectedItems; if (!_listViewDeleteMenuItem_IsEnabled) { _listViewDeleteMenuItem.IsEnabled = false; } else { _listViewDeleteMenuItem.IsEnabled = (selectItems == null) ? false : (selectItems.Count > 0); } _listViewCopyMenuItem.IsEnabled = (selectItems == null) ? false : (selectItems.Count > 0); _listViewCopyInfoMenuItem.IsEnabled = (selectItems == null) ? false : (selectItems.Count > 0); _listViewResetMenuItem.IsEnabled = (selectItems == null) ? false : (selectItems.Count > 0); _listViewPriorityMenuItem.IsEnabled = (selectItems == null) ? false : (selectItems.Count > 0); if (!_listViewDeleteCompleteMenuItem_IsEnabled) { _listViewDeleteCompleteMenuItem.IsEnabled = false; } else { _listViewDeleteCompleteMenuItem.IsEnabled = _listViewItemCollection.Any(n => n.State == UploadState.Completed); } }
public async Task RefreshContainerAsync() { Guid token; lock (_tokenSyncObj) { token = Guid.NewGuid(); _refreshToken = token; } try { var container = await _connectionHelper.MakeRequestAsync <MediaContainer>(Method.Get, PlexResources.MyPlexBaseUrl, PlexResources.MyPlexDevices, user : User); bool updated; lock (_deviceSyncObj) { if (token != _refreshToken) { return; } updated = _devices.UpdateToMatch(container.Devices, d => d.ClientIdentifier, UpdateDevice); _servers.UpdateToMatch(GetByProvides(container, "server"), d => d.ClientIdentifier); _players.UpdateToMatch(GetByProvides(container, "player"), d => d.ClientIdentifier); } if (updated) { OnDevicesUpdated(); } } catch { var updated = false; lock (_deviceSyncObj) { if (token != _refreshToken) { return; } // lost connection, so clear everything if (_devices.Any()) { _devices.Clear(); _servers.Clear(); _players.Clear(); updated = true; } } if (updated) { OnDevicesUpdated(); } } }
public async Task RefreshContainerAsync() { Guid token; lock (_tokenSyncObj) { token = Guid.NewGuid(); _refreshToken = token; } try { var container = await _restConnection.MakeRequestAsync <MediaContainer, string>(Method.Get, ResponseType.Xml, PlexResources.MyPlexBaseUrl, PlexResources.MyPlexDevices, headers : PlexHeaders.CreatePlexRequest(User)); if (container != null && container.ResponseObject != null) { bool updated; lock (_deviceSyncObj) { if (token != _refreshToken) { return; } updated = _devices.UpdateToMatch(container.ResponseObject.Devices, d => d.ClientIdentifier, UpdateDevice); _servers.UpdateToMatch(GetByProvides(container.ResponseObject, "server"), d => d.ClientIdentifier); _players.UpdateToMatch(GetByProvides(container.ResponseObject, "player"), d => d.ClientIdentifier); } if (updated) { OnDevicesUpdated(); } } } catch { var updated = false; lock (_deviceSyncObj) { if (token != _refreshToken) { return; } // lost connection, so clear everything if (_devices.Any()) { _devices.Clear(); _servers.Clear(); _players.Clear(); updated = true; } } if (updated) { OnDevicesUpdated(); } } }