forked from qt-creator/qt-creator
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:
@@ -305,7 +305,7 @@ void DebuggerMainWindow::loadPerspectiveHelper(const QByteArray &perspectiveId,
|
||||
{
|
||||
// Clean up old perspective.
|
||||
if (!m_currentPerspectiveId.isEmpty()) {
|
||||
saveCurrentPerspective();
|
||||
savePerspectiveHelper(m_currentPerspectiveId);
|
||||
foreach (QDockWidget *dockWidget, m_dockForDockId) {
|
||||
QTC_ASSERT(dockWidget, continue);
|
||||
dockWidget->setFloating(false);
|
||||
@@ -402,16 +402,16 @@ void DebuggerMainWindow::loadPerspectiveHelper(const QByteArray &perspectiveId,
|
||||
m_statusLabel->clear();
|
||||
}
|
||||
|
||||
void DebuggerMainWindow::saveCurrentPerspective()
|
||||
void DebuggerMainWindow::savePerspectiveHelper(const QByteArray &perspectiveId)
|
||||
{
|
||||
if (m_currentPerspectiveId.isEmpty())
|
||||
if (perspectiveId.isEmpty())
|
||||
return;
|
||||
QSettings *settings = ICore::settings();
|
||||
settings->beginGroup(QString::fromLatin1(m_currentPerspectiveId));
|
||||
settings->beginGroup(QString::fromLatin1(perspectiveId));
|
||||
saveSettings(settings);
|
||||
settings->setValue(QLatin1String("ToolSettingsSaved"), true);
|
||||
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)
|
||||
|
@@ -124,7 +124,6 @@ public:
|
||||
void registerPerspective(const QByteArray &perspectiveId, const Perspective *perspective);
|
||||
void registerToolbar(const QByteArray &perspectiveId, QWidget *widget);
|
||||
|
||||
void saveCurrentPerspective();
|
||||
void resetCurrentPerspective();
|
||||
void restorePerspective(const QByteArray &perspectiveId);
|
||||
|
||||
@@ -141,10 +140,11 @@ public:
|
||||
void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enabled);
|
||||
|
||||
private:
|
||||
void closeEvent(QCloseEvent *) final { saveCurrentPerspective(); }
|
||||
void closeEvent(QCloseEvent *) final { savePerspectiveHelper(m_currentPerspectiveId); }
|
||||
|
||||
QDockWidget *registerDockWidget(const QByteArray &dockId, QWidget *widget);
|
||||
void loadPerspectiveHelper(const QByteArray &perspectiveId, bool fromStoredSettings = true);
|
||||
void savePerspectiveHelper(const QByteArray &perspectiveId);
|
||||
|
||||
QByteArray m_currentPerspectiveId;
|
||||
QComboBox *m_perspectiveChooser;
|
||||
|
Reference in New Issue
Block a user