diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 24609f446a2715fc697e63487a2dc790674e8e63..1cfd45bf4c7ce893babefbb1c6455af50aaebdbf 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -612,47 +612,74 @@ SourceFilesHandler *DebuggerEngine::sourceFilesHandler() const QAbstractItemModel *DebuggerEngine::modulesModel() const { - return d->m_modulesHandler.model(); + QAbstractItemModel *model = d->m_modulesHandler.model(); + if (model->objectName().isEmpty()) // Make debugging easier. + model->setObjectName(objectName() + QLatin1String("ModulesModel")); + return model; } QAbstractItemModel *DebuggerEngine::breakModel() const { - return d->m_breakHandler.model(); + QAbstractItemModel *model = d->m_breakHandler.model(); + if (model->objectName().isEmpty()) // Make debugging easier. + model->setObjectName(objectName() + QLatin1String("BreakModel")); + return model; } QAbstractItemModel *DebuggerEngine::registerModel() const { - return d->m_registerHandler.model(); + QAbstractItemModel *model = d->m_registerHandler.model(); + if (model->objectName().isEmpty()) // Make debugging easier. + model->setObjectName(objectName() + QLatin1String("RegisterModel")); + return model; } QAbstractItemModel *DebuggerEngine::stackModel() const { - return d->m_stackHandler.model(); + QAbstractItemModel *model = d->m_stackHandler.model(); + if (model->objectName().isEmpty()) // Make debugging easier. + model->setObjectName(objectName() + QLatin1String("StackModel")); + return model; } QAbstractItemModel *DebuggerEngine::threadsModel() const { - return d->m_threadsHandler.model(); + QAbstractItemModel *model = d->m_threadsHandler.model(); + if (model->objectName().isEmpty()) // Make debugging easier. + model->setObjectName(objectName() + QLatin1String("ThreadsModel")); + return model; } QAbstractItemModel *DebuggerEngine::localsModel() const { - return d->m_watchHandler.model(LocalsWatch); + QAbstractItemModel *model = d->m_watchHandler.model(LocalsWatch); + if (model->objectName().isEmpty()) // Make debugging easier. + model->setObjectName(objectName() + QLatin1String("LocalsModel")); + return model; } QAbstractItemModel *DebuggerEngine::watchersModel() const { - return d->m_watchHandler.model(WatchersWatch); + QAbstractItemModel *model = d->m_watchHandler.model(WatchersWatch); + if (model->objectName().isEmpty()) // Make debugging easier. + model->setObjectName(objectName() + QLatin1String("WatchersModel")); + return model; } QAbstractItemModel *DebuggerEngine::returnModel() const { - return d->m_watchHandler.model(ReturnWatch); + QAbstractItemModel *model = d->m_watchHandler.model(ReturnWatch); + if (model->objectName().isEmpty()) // Make debugging easier. + model->setObjectName(objectName() + QLatin1String("ReturnModel")); + return model; } QAbstractItemModel *DebuggerEngine::sourceFilesModel() const { - return d->m_sourceFilesHandler.model(); + QAbstractItemModel *model = d->m_sourceFilesHandler.model(); + if (model->objectName().isEmpty()) // Make debugging easier. + model->setObjectName(objectName() + QLatin1String("SourceFilesModel")); + return model; } QAbstractItemModel *DebuggerEngine::commandModel() const diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index eeea0e44e9fdb6e0ca7dc31851746e170293be2a..1d381ee8fa3eef4bc40f666419ca773b4eaf7ea7 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -2171,15 +2171,14 @@ void DebuggerPluginPrivate::setInitialState() void DebuggerPluginPrivate::updateState(DebuggerEngine *engine) { - //m_threadBox->setModel(engine->threadsModel()); - //m_threadBox->setModel(engine->threadsModel()); + QTC_ASSERT(engine != 0 && m_watchersWindow->model() != 0 && m_returnWindow->model() != 0, return); m_threadBox->setCurrentIndex(engine->threadsHandler()->currentThread()); + m_watchersWindow->setVisible( m_watchersWindow->model()->rowCount(QModelIndex()) > 0); m_returnWindow->setVisible( m_returnWindow->model()->rowCount(QModelIndex()) > 0); - QTC_ASSERT(engine, return); if (m_state == engine->state()) return; diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index 7452fa91e21d4cbca90ad014c5f142a994a67909..7bd3107bfde34f4776d2c9472ba94a10ed92d3f5 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -189,7 +189,6 @@ DebuggerRunControl *DebuggerRunControlFactory::create( delete runControl; return 0; } - connect(runControl, SIGNAL(finished()), runControl, SLOT(handleFinished())); return runControl; } @@ -209,13 +208,14 @@ QWidget *DebuggerRunControlFactory::createConfigurationWidget //////////////////////////////////////////////////////////////////////// DebuggerRunControl::DebuggerRunControl(RunConfiguration *runConfiguration, - DebuggerEngineType enabledEngines, const DebuggerStartParameters &sp) - : RunControl(runConfiguration, ProjectExplorer::Constants::DEBUGMODE), - m_myRunConfiguration(runConfiguration) + DebuggerEngineType enabledEngines, const DebuggerStartParameters &sp) : + RunControl(runConfiguration, ProjectExplorer::Constants::DEBUGMODE), + m_engine(0), + m_myRunConfiguration(runConfiguration), + m_running(false), + m_enabledEngines(enabledEngines) { - m_running = false; - m_enabledEngines = enabledEngines; - m_engine = 0; + connect(this, SIGNAL(finished()), this, SLOT(handleFinished())); createEngine(sp); } @@ -336,9 +336,6 @@ void DebuggerRunControl::createEngine(const DebuggerStartParameters &sp) { // Figure out engine according to toolchain, executable, attach or default. DebuggerEngineType engineType = NoEngineType; - QString errorMessage; - QString settingsIdHint; - bool isQmlExecutable = sp.executable.endsWith(_("qmlviewer")) || sp.executable.endsWith(_("qmlobserver")); #ifdef Q_OS_MAC isQmlExecutable = sp.executable.endsWith(_("QMLViewer.app")) || sp.executable.endsWith(_("QMLObserver.app")); @@ -476,9 +473,9 @@ void DebuggerRunControl::start() plugin()->showMessage(message, StatusBar); plugin()->showMessage(DebuggerSettings::instance()->dump(), LogDebug); + plugin()->runControlStarted(this); engine()->startDebugger(this); m_running = true; - plugin()->runControlStarted(this); emit started(); }