debugger: move setSimpleDockWidgetArrangement to DebuggerMainWindow

This commit is contained in:
hjk
2010-12-03 10:17:01 +01:00
parent f7f3539786
commit 524be13d98
3 changed files with 73 additions and 63 deletions

View File

@@ -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"