diff options
author | hjk <[email protected]> | 2010-12-03 10:17:01 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2010-12-03 11:37:28 +0100 |
commit | 524be13d98f6455f0a263ccb087e4ad0732df5f3 (patch) | |
tree | 5110601dae5589aad9c5c68876a401fd4fc9d5d6 /src/plugins/debugger/debuggermainwindow.cpp | |
parent | f7f35397864356699c3d25910c5511146a5173ce (diff) |
debugger: move setSimpleDockWidgetArrangement to DebuggerMainWindow
Diffstat (limited to 'src/plugins/debugger/debuggermainwindow.cpp')
-rw-r--r-- | src/plugins/debugger/debuggermainwindow.cpp | 74 |
1 files changed, 72 insertions, 2 deletions
diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp index 46119caabd7..078ab13978e 100644 --- a/src/plugins/debugger/debuggermainwindow.cpp +++ b/src/plugins/debugger/debuggermainwindow.cpp @@ -116,6 +116,7 @@ public: void createViewsMenuItems(); bool isQmlCppActive() const; bool isQmlActive() const; + void setSimpleDockWidgetArrangement(DebuggerLanguages activeLanguages); public slots: void updateUi(); @@ -636,7 +637,7 @@ void DebuggerMainWindow::initialize() { d->createViewsMenuItems(); - emit dockResetRequested(AnyLanguage); + d->setSimpleDockWidgetArrangement(AnyLanguage); readSettings(); d->updateUi(); @@ -648,7 +649,7 @@ void DebuggerMainWindow::initialize() void DebuggerMainWindowPrivate::resetDebuggerLayout() { - emit q->dockResetRequested(m_activeDebugLanguages); + setSimpleDockWidgetArrangement(m_activeDebugLanguages); if (isQmlActive()) m_dockWidgetActiveStateQmlCpp = q->saveSettings(); @@ -698,6 +699,75 @@ QMenu *DebuggerMainWindow::createPopupMenu() return menu; } +void DebuggerMainWindowPrivate::setSimpleDockWidgetArrangement + (DebuggerLanguages activeLanguages) +{ + QTC_ASSERT(q, return); + q->setTrackingEnabled(false); + + foreach (QDockWidget *dockWidget, m_dockWidgets) { + dockWidget->setFloating(false); + q->removeDockWidget(dockWidget); + } + + // FIXME: Temporary. + QDockWidget *m_breakDock = q->breakWindow(); + QDockWidget *m_stackDock = q->stackWindow(); + QDockWidget *m_watchDock = q->watchWindow(); + QDockWidget *m_snapshotDock = q->snapshotsWindow(); + QDockWidget *m_threadsDock = q->threadsWindow(); + QDockWidget *m_outputDock = q->outputWindow(); + QDockWidget *m_qmlInspectorDock = + q->dockWidget(Constants::DOCKWIDGET_QML_INSPECTOR); + QDockWidget *m_scriptConsoleDock = + q->dockWidget(Constants::DOCKWIDGET_QML_SCRIPTCONSOLE); + QDockWidget *m_modulesDock = + q->dockWidget(Constants::DOCKWIDGET_MODULES); + QDockWidget *m_registerDock = + q->dockWidget(Constants::DOCKWIDGET_REGISTER); + QDockWidget *m_sourceFilesDock = + q->dockWidget(Constants::DOCKWIDGET_SOURCE_FILES); + + foreach (QDockWidget *dockWidget, m_dockWidgets) { + if (dockWidget == m_outputDock /*|| dockWidget == m_consoleDock*/) { + q->addDockWidget(Qt::TopDockWidgetArea, dockWidget); + } else { + q->addDockWidget(Qt::BottomDockWidgetArea, dockWidget); + } + dockWidget->hide(); + } + + if ((activeLanguages.testFlag(CppLanguage) + && !activeLanguages.testFlag(QmlLanguage)) + || activeLanguages == AnyLanguage) { + m_stackDock->show(); + m_breakDock->show(); + m_watchDock->show(); + m_threadsDock->show(); + m_snapshotDock->show(); + } else { + m_stackDock->show(); + m_breakDock->show(); + m_watchDock->show(); + m_scriptConsoleDock->show(); + if (q->qmlInspectorWindow()) + q->qmlInspectorWindow()->show(); + } + q->splitDockWidget(q->toolBarDockWidget(), m_stackDock, Qt::Vertical); + q->splitDockWidget(m_stackDock, m_watchDock, Qt::Horizontal); + q->tabifyDockWidget(m_watchDock, m_breakDock); + q->tabifyDockWidget(m_watchDock, m_modulesDock); + q->tabifyDockWidget(m_watchDock, m_registerDock); + q->tabifyDockWidget(m_watchDock, m_threadsDock); + q->tabifyDockWidget(m_watchDock, m_sourceFilesDock); + q->tabifyDockWidget(m_watchDock, m_snapshotDock); + q->tabifyDockWidget(m_watchDock, m_scriptConsoleDock); + if (q->qmlInspectorWindow()) + q->tabifyDockWidget(m_watchDock, q->qmlInspectorWindow()); + + q->setTrackingEnabled(true); +} + } // namespace Debugger #include "debuggermainwindow.moc" |