private void DeleteGroup(ConnectionGroupViewModel obj) { var isSelected = obj == SelectedObject; int index = 0; if (isSelected) { index = ConnectionGroupViewModels.IndexOf(obj); } ConnectionGroupViewModels.Remove(obj); if (isSelected) { if (ConnectionGroupViewModels.Count == index) { index--; } if (index >= 0) { SelectedObject = ConnectionGroupViewModels[index]; } else { SelectedObject = null; } } }
public ConnectionDescriptionViewModel( ConnectionDescription source, ConnectionGroupViewModel parent, KnownConnections knownConnections, IFileSelector fileSelector, ConnectionParameterViewModelFactory connectionParameterViewModelFactory) { Parent = parent; _knownConnections = knownConnections; _fileSelector = fileSelector; _autoCheckTimer = new Timer(1000); _autoCheckTimer.Elapsed += AutoCheckTimer_Elapsed; _uiScheduler = TaskScheduler.FromCurrentSynchronizationContext(); _networkService = new NetworkService(); _connectionParameterViewModelFactory = connectionParameterViewModelFactory; PingAccessibilityIconUri = new Uri("pack://application:,,,/Images/gray-icon.png"); PortAccessibilityIconUri = new Uri("pack://application:,,,/Images/gray-icon.png"); InitFromSource(source); ConnectionTypes = _knownConnections._knownConnectionProfiles.Keys.Except(new[] { "NetCat" }).ToList(); SelectedConnectionType = Source.ConnectionTypeName; }