Debugger: Make perspective saving more flexible

This essentially replaces saveCurrentPerspective by some
savePerspectiveHelper(m_currentPerspectiveId)

This is in preparation of the change introducing multiple running
engines, and per-engine perspectives.

Change-Id: Ibdbdac019bb5d47936ba4ab5de08711f2c16ea99
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
hjk
2018-07-24 13:26:52 +02:00
parent 27cd7162e1
commit 33e5c3672d
2 changed files with 7 additions and 7 deletions

View File

@@ -305,7 +305,7 @@ void DebuggerMainWindow::loadPerspectiveHelper(const QByteArray &perspectiveId,
{ {
// Clean up old perspective. // Clean up old perspective.
if (!m_currentPerspectiveId.isEmpty()) { if (!m_currentPerspectiveId.isEmpty()) {
saveCurrentPerspective(); savePerspectiveHelper(m_currentPerspectiveId);
foreach (QDockWidget *dockWidget, m_dockForDockId) { foreach (QDockWidget *dockWidget, m_dockForDockId) {
QTC_ASSERT(dockWidget, continue); QTC_ASSERT(dockWidget, continue);
dockWidget->setFloating(false); dockWidget->setFloating(false);
@@ -402,16 +402,16 @@ void DebuggerMainWindow::loadPerspectiveHelper(const QByteArray &perspectiveId,
m_statusLabel->clear(); m_statusLabel->clear();
} }
void DebuggerMainWindow::saveCurrentPerspective() void DebuggerMainWindow::savePerspectiveHelper(const QByteArray &perspectiveId)
{ {
if (m_currentPerspectiveId.isEmpty()) if (perspectiveId.isEmpty())
return; return;
QSettings *settings = ICore::settings(); QSettings *settings = ICore::settings();
settings->beginGroup(QString::fromLatin1(m_currentPerspectiveId)); settings->beginGroup(QString::fromLatin1(perspectiveId));
saveSettings(settings); saveSettings(settings);
settings->setValue(QLatin1String("ToolSettingsSaved"), true); settings->setValue(QLatin1String("ToolSettingsSaved"), true);
settings->endGroup(); settings->endGroup();
settings->setValue(QLatin1String(LAST_PERSPECTIVE_KEY), m_currentPerspectiveId); settings->setValue(QLatin1String(LAST_PERSPECTIVE_KEY), perspectiveId);
} }
QDockWidget *DebuggerMainWindow::registerDockWidget(const QByteArray &dockId, QWidget *widget) QDockWidget *DebuggerMainWindow::registerDockWidget(const QByteArray &dockId, QWidget *widget)

View File

@@ -124,7 +124,6 @@ public:
void registerPerspective(const QByteArray &perspectiveId, const Perspective *perspective); void registerPerspective(const QByteArray &perspectiveId, const Perspective *perspective);
void registerToolbar(const QByteArray &perspectiveId, QWidget *widget); void registerToolbar(const QByteArray &perspectiveId, QWidget *widget);
void saveCurrentPerspective();
void resetCurrentPerspective(); void resetCurrentPerspective();
void restorePerspective(const QByteArray &perspectiveId); void restorePerspective(const QByteArray &perspectiveId);
@@ -141,10 +140,11 @@ public:
void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enabled); void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enabled);
private: private:
void closeEvent(QCloseEvent *) final { saveCurrentPerspective(); } void closeEvent(QCloseEvent *) final { savePerspectiveHelper(m_currentPerspectiveId); }
QDockWidget *registerDockWidget(const QByteArray &dockId, QWidget *widget); QDockWidget *registerDockWidget(const QByteArray &dockId, QWidget *widget);
void loadPerspectiveHelper(const QByteArray &perspectiveId, bool fromStoredSettings = true); void loadPerspectiveHelper(const QByteArray &perspectiveId, bool fromStoredSettings = true);
void savePerspectiveHelper(const QByteArray &perspectiveId);
QByteArray m_currentPerspectiveId; QByteArray m_currentPerspectiveId;
QComboBox *m_perspectiveChooser; QComboBox *m_perspectiveChooser;