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.
|
// 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)
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user