/// <summary> /// Adds own server to the list /// </summary> /// <param name="srv">Own server</param> public void AddOwnServer(Server srv) { if (Properties.Settings.Default.OwnServers.Contains(srv.Base)) { return; } Properties.Settings.Default.OwnServers.Add(srv.Base); OwnServers.Add(srv); }
/// <summary> /// Populates the own server list /// </summary> /// <param name="sender">The source of the event</param> /// <param name="e">An object that contains no event data</param> private void RebuildOwnServers(object sender, EventArgs e) { var selected = SelectedOwnServer?.Base; var list = OwnServers.BeginUpdate(); try { list.Clear(); foreach (var baseUri in Properties.Settings.Default.OwnServers) { Window.Abort.Token.ThrowIfCancellationRequested(); var srv = new Server(baseUri); srv.RequestAuthorization += Wizard.AuthorizationPage.OnRequestAuthorization; srv.ForgetAuthorization += Wizard.AuthorizationPage.OnForgetAuthorization; list.Add(srv); } } finally { OwnServers.EndUpdate(); } SelectedOwnServer = selected != null?OwnServers.FirstOrDefault(srv => srv.Base.AbsoluteUri == selected.AbsoluteUri) : null; }