Debugger: Respect the last perspective

Switching to Debug mode did no more fully respect the last
active perspective, but instead restored it and afterwards
initialized the debugger engine and restored the
respective Debugger perspective.

Change-Id: I5ba34298f463c396b7f73e431efa76be3bcbe6eb
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Stenger
2018-08-23 12:24:55 +02:00
parent f6ddfd6265
commit 04c39520e9
3 changed files with 5 additions and 9 deletions

View File

@@ -287,7 +287,6 @@ void DebuggerMainWindowPrivate::increaseChooserWidthIfNecessary(const QString &v
void DebuggerMainWindowPrivate::destroyPerspective(Perspective *perspective)
{
savePerspectiveHelper(perspective);
m_perspectives.removeAll(perspective);
// Dynamic perspectives are currently not visible in the chooser.
@@ -357,11 +356,6 @@ Perspective *Perspective::findPerspective(const QString &perspectiveId)
});
}
void DebuggerMainWindow::closeEvent(QCloseEvent *)
{
d->savePerspectiveHelper(d->m_currentPerspective);
}
void DebuggerMainWindowPrivate::resetCurrentPerspective()
{
depopulateCurrentPerspective();
@@ -600,7 +594,6 @@ void DebuggerMainWindowPrivate::savePerspectiveHelper(const Perspective *perspec
q->saveSettings(settings);
settings->setValue(QLatin1String("ToolSettingsSaved"), true);
settings->endGroup();
settings->setValue(QLatin1String(LAST_PERSPECTIVE_KEY), perspective->d->m_id);
}
// Perspective
@@ -765,11 +758,14 @@ void Perspective::addWindow(QWidget *widget,
void Perspective::select()
{
ModeManager::activateMode(Debugger::Constants::MODE_DEBUG);
if (Perspective::currentPerspective() == this)
return;
theMainWindow->d->selectPerspective(this);
if (Perspective *parent = Perspective::findPerspective(d->m_parentPerspectiveId))
parent->d->m_lastActiveSubPerspectiveId = d->m_id;
else
d->m_lastActiveSubPerspectiveId.clear();
ICore::settings()->setValue(QLatin1String(LAST_PERSPECTIVE_KEY), d->m_id);
}
// ToolbarAction