public VpnTraySettingsEntryViewModel(VpnManager vpnManager, VpnTraySettingsEntryConfiguration configuration) { _configuration = configuration; VpnManager = vpnManager; VpnManager.Vpn.NameChanged += (s, e) => { Name = VpnManager.Vpn.Name; }; VpnManager.Monitor.RefreshInterval = configuration.RefreshInterval; VpnManager.Monitor.IsEnabled = configuration.IsSelected; VpnManager.DisconnectOnLock = configuration.DisconnectOnLock; VpnManager.ReconnectOnUnlock = configuration.ReconnectOnUnlock; }
private void AddManager(Vpn vpn) { var configuration = new VpnTraySettingsEntryConfiguration { Id = vpn.Id, Name = vpn.Name, IsSelected = false, RefreshInterval = _configurationProvider.Configuration.DefaultMonitorRefreshInterval }; _configurationProvider.Configuration.Entries[_vpnProvider.Name].Add(configuration); _configurationProvider.Save(); var entry = new VpnTraySettingsEntryViewModel(_vpnProvider.VpnManagerFactory.Create(vpn), configuration); entry.PropertyChanged += Entry_PropertyChanged; Settings.Add(entry); }