aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/coreplugin/outputpanemanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/coreplugin/outputpanemanager.cpp')
-rw-r--r--src/plugins/coreplugin/outputpanemanager.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/plugins/coreplugin/outputpanemanager.cpp b/src/plugins/coreplugin/outputpanemanager.cpp
index a249686f9e..e9390cb11d 100644
--- a/src/plugins/coreplugin/outputpanemanager.cpp
+++ b/src/plugins/coreplugin/outputpanemanager.cpp
@@ -575,7 +575,12 @@ void OutputPaneManager::readSettings()
}
settings->endArray();
- m_outputPaneHeightSetting = settings->value(QLatin1String("OutputPanePlaceHolder/Height"), 0).toInt();
+ m_outputPaneHeightSetting
+ = settings->value(QLatin1String("OutputPanePlaceHolder/Height"), 0).toInt();
+ const int currentIdx
+ = settings->value(QLatin1String("OutputPanePlaceHolder/CurrentIndex"), 0).toInt();
+ if (QTC_GUARD(currentIdx >= 0 && currentIdx < g_outputPanes.size()))
+ setCurrentIndex(currentIdx);
}
void OutputPaneManager::slotNext()
@@ -682,7 +687,8 @@ void OutputPaneManager::setCurrentIndex(int idx)
OutputPaneData &data = g_outputPanes[idx];
IOutputPane *pane = data.pane;
data.button->show();
- pane->visibilityChanged(true);
+ if (OutputPanePlaceHolder::isCurrentVisible())
+ pane->visibilityChanged(true);
bool canNavigate = pane->canNavigate();
m_prevAction->setEnabled(canNavigate && pane->canPrevious());
@@ -737,6 +743,7 @@ void OutputPaneManager::saveSettings() const
if (OutputPanePlaceHolder *curr = OutputPanePlaceHolder::getCurrent())
heightSetting = curr->nonMaximizedSize();
settings->setValue(QLatin1String("OutputPanePlaceHolder/Height"), heightSetting);
+ settings->setValue(QLatin1String("OutputPanePlaceHolder/CurrentIndex"), currentIndex());
}
void OutputPaneManager::clearPage()