public NewsgroupsConfiguration(IdentityNewsServerManager app, NewsgroupSettingsView initialSettingsDisplay) { if (null == app) { throw new ArgumentNullException("app"); } this.application = app; this.userIdentities = new ListDictionary(); this.nntpServers = new ListDictionary(); // // Required for Windows Form Designer support // InitializeComponent(); this.wheelSupport = new WheelSupport(this); this.treeServers.AfterSelect += this.OnTreeServersAfterSelect; this.listAccounts.SelectedIndexChanged += this.OnListAccountsSelectedIndexChanged; this.BackColor = SystemColors.Window; this.splitter1.BackColor = FontColorHelper.UiColorScheme.ToolbarGradientLight; this.accountSettingsPane.Location = this.subscriptionsViewPane.Location = new Point(0, 0); this.generalViewPane.Location = this.serverViewPane.Location = this.advancedViewPane.Location = new Point(0, 0); this.accountSettingsPane.Dock = this.subscriptionsViewPane.Dock = DockStyle.Fill; this.generalViewPane.Dock = this.serverViewPane.Dock = this.advancedViewPane.Dock = DockStyle.Fill; EnableView(subscriptionsViewPane, false); EnableView(generalViewPane, false); EnableView(advancedViewPane, false); EnableView(serverViewPane, false); EnableView(accountSettingsPane, false); if (!RssBanditApplication.AutomaticColorSchemes) { Office2003Renderer sdRenderer = new Office2003Renderer(); sdRenderer.ColorScheme = Office2003Renderer.Office2003ColorScheme.Automatic; if (!RssBanditApplication.AutomaticColorSchemes) { sdRenderer.ColorScheme = Office2003Renderer.Office2003ColorScheme.Standard; } navigationBar.SetActiveRenderer(sdRenderer); } this.currentView = initialSettingsDisplay; }
public void ShowDialog(IWin32Window owner, NewsgroupSettingsView view) { NewsgroupsConfiguration cfg = new NewsgroupsConfiguration(this, view); cfg.DefinitionsModified += OnCfgDefinitionsModified; try { if (DialogResult.OK == cfg.ShowDialog(owner)) { //TODO: we should differ between the two kinds of general modifications RaiseNewsServerDefinitionsModified(); RaiseIdentityDefinitionsModified(); // notify backend about NNTP server defs changes: app.SubscriptionModified(app.BanditFeedSourceEntry, NewsFeedProperty.General); } } catch (Exception ex) { Trace.WriteLine("Exception in NewsGroupsConfiguration dialog: " + ex.Message); } }
private void OnTreeServersAfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e) { bool enable = e.Node != null; EnableView(subscriptionsViewPane, enable); EnableView(generalViewPane, enable); EnableView(advancedViewPane, enable); EnableView(serverViewPane, enable); if (enable) { string key = null; NewsgroupSettingsView what = NewsgroupSettingsView.NewsServerSubscriptions; if (e.Node.Parent != null) { what = (NewsgroupSettingsView)e.Node.Tag; key = (string)e.Node.Parent.Tag; } else { key = (string)e.Node.Tag; } if (what == NewsgroupSettingsView.NewsServerGeneral) { this.ActivateView(NewsgroupSettingsView.NewsServerGeneral); } else if (what == NewsgroupSettingsView.NewsServerSettings) { this.ActivateView(NewsgroupSettingsView.NewsServerSettings); } else if (what == NewsgroupSettingsView.NewsServerAdvanced) { this.ActivateView(NewsgroupSettingsView.NewsServerAdvanced); } else { // !! the node.Tag here contains the string ID of the nntp server def. !! this.ActivateView(NewsgroupSettingsView.NewsServerSubscriptions); } this.PopulateNntpServerDefinition(key); } }
private void ActivateView(NewsgroupSettingsView detail) { try { foreach (Control c in this.panelDetailsTop.Controls) { if (c is HeaderControl) { c.Visible = false; } else { System.Diagnostics.Debug.Assert(false, "Unexpected child control type found: " + c.Name); } } this.navigationBar.SelectedPaneChanged -= this.OnNavigationBarSelectedPaneChanged; if (detail == NewsgroupSettingsView.Identity) { this.Text = SR.ConfigIdentitiesDialogCaption; if (navigationBar.SelectedPane != accountsPane) { navigationBar.SelectedPane = accountsPane; } } else { this.Text = SR.ConfigNewsServerDialogCaption; if (navigationBar.SelectedPane != newsServersPane) { navigationBar.SelectedPane = newsServersPane; } } this.navigationBar.SelectedPaneChanged += this.OnNavigationBarSelectedPaneChanged; switch (detail) { case NewsgroupSettingsView.Identity: this.OnAccountSettingsPaneResize(this, EventArgs.Empty); accountSettingsPane.Visible = true; break; case NewsgroupSettingsView.NewsServerSubscriptions: this.OnSubscriptionsPaneResize(this, EventArgs.Empty); subscriptionsViewPane.Visible = true; break; case NewsgroupSettingsView.NewsServerGeneral: generalViewPane.Visible = true; break; case NewsgroupSettingsView.NewsServerSettings: serverViewPane.Visible = true; break; case NewsgroupSettingsView.NewsServerAdvanced: advancedViewPane.Visible = true; break; } this.currentView = detail; } catch (Exception ex) { _log.Error("ActivateView() failed", ex); } }