From c9e13a18a3ecd534326614fadc0d8158997245a9 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 28 Feb 2019 14:49:34 +0100 Subject: Output pane manager: Fix two inconsistencies 1) Currently deselected panes that popped up due to some event behaved differently with respect to their button visibility: For instance, if the user hides the application output pane and then new application output arrives (and the respective item in the "Build & Run" settings is enabled), then the pane widget would appear as well as the pane button. In contrast, for the issues pane only the widget itself would appear, but the button was still hidden. Now the button appears along with the widget for all output panes. 2) When the deselected app output pane popped up due to new output (as described above), then the check button in the output pane menu failed to update, i.e. was still unchecked and thus inconsistent with the actual state. Now it is in sync. Change-Id: I5e100363c6c01327b2c03b7f22ca173d41d13d7c Reviewed-by: Eike Ziller --- src/plugins/coreplugin/outputpanemanager.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/plugins/coreplugin/outputpanemanager.cpp') diff --git a/src/plugins/coreplugin/outputpanemanager.cpp b/src/plugins/coreplugin/outputpanemanager.cpp index bda60b5812..7825126565 100644 --- a/src/plugins/coreplugin/outputpanemanager.cpp +++ b/src/plugins/coreplugin/outputpanemanager.cpp @@ -507,7 +507,6 @@ void OutputPaneManager::showPage(int idx, int flags) ensurePageVisible(idx); IOutputPane *out = g_outputPanes.at(idx).pane; - out->visibilityChanged(true); if (flags & IOutputPane::WithFocus) { if (out->canFocus()) out->setFocus(); @@ -538,7 +537,10 @@ void OutputPaneManager::setCurrentIndex(int idx) m_outputWidgetPane->setCurrentIndex(idx); m_opToolBarWidgets->setCurrentIndex(idx); - IOutputPane *pane = g_outputPanes.at(idx).pane; + OutputPaneData &data = g_outputPanes[idx]; + IOutputPane *pane = data.pane; + data.button->show(); + data.buttonVisible = true; pane->visibilityChanged(true); bool canNavigate = pane->canNavigate(); @@ -574,8 +576,6 @@ void OutputPaneManager::popupMenu() data.button->hide(); data.buttonVisible = false; } else { - data.button->show(); - data.buttonVisible = true; showPage(idx, IOutputPane::ModeSwitch); } } -- cgit v1.2.1