private void ThemePage(PendingChangesPage page) { page._alreadyThemed = true; if (VSVersion.SupportsTheming && Context != null) { IWinFormsThemingService wts = Context.GetService <IWinFormsThemingService>(); if (wts != null) { wts.ThemeRecursive(page, false); } } }
protected override void OnLoad(EventArgs e) { foreach (PendingChangesPage p in _pages) { p.Context = Context; p.ToolControl = this; if (!contentPanel.Controls.Contains(p)) { p.Enabled = p.Visible = false; p.Dock = DockStyle.Fill; contentPanel.Controls.Add(p); } } base.OnLoad(e); AnkhServiceEvents ev = Context.GetService <AnkhServiceEvents>(); ev.SccProviderActivated += new EventHandler(OnSccProviderActivated); ev.SccProviderDeactivated += new EventHandler(OnSccProviderDeactivated); IAnkhCommandStates states = Context.GetService <IAnkhCommandStates>(); bool shouldActivate = false; if (states != null) { if (!states.UIShellAvailable) { ev.UIShellActivate += new EventHandler(OnSccShellActivate); shouldActivate = false; } else { shouldActivate = states.SccProviderActive; } } _lastPage = _commitsPage; ShowPanel(shouldActivate ? _lastPage : _activatePage, false); pendingChangesTabs.Enabled = shouldActivate; }
void ShowPanel(PendingChangesPage page, bool select) { if (page == null) throw new ArgumentNullException("page"); else if (page == _currentPage) return; bool foundPage = false; foreach (PendingChangesPage p in panel1.Controls) { if (p != page) { p.Enabled = p.Visible = false; } else { foundPage = true; p.Enabled = p.Visible = true; } } if (!foundPage) { panel1.Controls.Add(page); page.Dock = DockStyle.Fill; } _currentPage = page; if (page != _activatePage) _lastPage = page; fileChangesButton.Checked = (_lastPage == _commitsPage); issuesButton.Checked = (_lastPage == _issuesPage); recentChangesButton.Checked = (_lastPage == _changesPage); conflictsButton.Checked = (_lastPage == _conflictsPage); if (select) page.Select(); if (Context != null) { IAnkhCommandService cmd = Context.GetService<IAnkhCommandService>(); if (cmd != null) cmd.UpdateCommandUI(false); UpdateCaption(); } }
void ShowPanel(PendingChangesPage page, bool select) { if (page == null) { throw new ArgumentNullException("page"); } else if (page == _currentPage) { return; } bool foundPage = false; foreach (PendingChangesPage p in contentPanel.Controls) { if (p != page) { p.Enabled = p.Visible = false; } else { foundPage = true; p.Enabled = p.Visible = true; if (!p._alreadyThemed) { ThemePage(p); } } } System.Diagnostics.Debug.Assert(foundPage); _currentPage = page; if (page != _activatePage) { _lastPage = page; } fileChangesButton.Checked = (_lastPage == _commitsPage); issuesButton.Checked = (_lastPage == _issuesPage); recentChangesButton.Checked = (_lastPage == _changesPage); conflictsButton.Checked = (_lastPage == _conflictsPage); if (select) { page.Select(); } if (Context != null) { IAnkhCommandService cmd = Context.GetService <IAnkhCommandService>(); if (cmd != null) { cmd.UpdateCommandUI(false); } UpdateCaption(); } }
protected override void OnLoad(EventArgs e) { ToolStripRenderer renderer = null; System.Windows.Forms.Design.IUIService ds = Context.GetService<System.Windows.Forms.Design.IUIService>(); if (ds != null) { renderer = ds.Styles["VsToolWindowRenderer"] as ToolStripRenderer; } if (renderer != null) pendingChangesTabs.Renderer = renderer; foreach (PendingChangesPage p in _pages) { p.Context = Context; p.ToolControl = this; if (!panel1.Controls.Contains(p)) { p.Enabled = p.Visible = false; p.Dock = DockStyle.Fill; panel1.Controls.Add(p); } } base.OnLoad(e); UpdateColors(renderer != null); AnkhServiceEvents ev = Context.GetService<AnkhServiceEvents>(); ev.SccProviderActivated += new EventHandler(OnSccProviderActivated); ev.SccProviderDeactivated += new EventHandler(OnSccProviderDeactivated); IAnkhCommandStates states = Context.GetService<IAnkhCommandStates>(); bool shouldActivate = false; if (states != null) { if (!states.UIShellAvailable) { ev.UIShellActivate += new EventHandler(OnSccShellActivate); shouldActivate = false; } else shouldActivate = states.SccProviderActive; } _lastPage = _commitsPage; ShowPanel(shouldActivate ? _lastPage : _activatePage, false); pendingChangesTabs.Enabled = shouldActivate; }