aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggermainwindow.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2010-12-03 10:17:01 +0100
committerhjk <[email protected]>2010-12-03 11:37:28 +0100
commit524be13d98f6455f0a263ccb087e4ad0732df5f3 (patch)
tree5110601dae5589aad9c5c68876a401fd4fc9d5d6 /src/plugins/debugger/debuggermainwindow.cpp
parentf7f35397864356699c3d25910c5511146a5173ce (diff)
debugger: move setSimpleDockWidgetArrangement to DebuggerMainWindow
Diffstat (limited to 'src/plugins/debugger/debuggermainwindow.cpp')
-rw-r--r--src/plugins/debugger/debuggermainwindow.cpp74
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"