forked from qt-creator/qt-creator
Debugger: Simplify QmlEngine construction
Change-Id: Id237998cf2d9a03f9c2929043fdb45ac49d4addb Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -79,8 +79,8 @@ namespace Internal {
|
|||||||
DebuggerEngine *createCdbEngine();
|
DebuggerEngine *createCdbEngine();
|
||||||
DebuggerEngine *createGdbEngine();
|
DebuggerEngine *createGdbEngine();
|
||||||
DebuggerEngine *createPdbEngine();
|
DebuggerEngine *createPdbEngine();
|
||||||
DebuggerEngine *createQmlEngine(bool useTerminal);
|
DebuggerEngine *createQmlEngine();
|
||||||
DebuggerEngine *createQmlCppEngine(DebuggerEngine *cppEngine, bool useTerminal);
|
DebuggerEngine *createQmlCppEngine(DebuggerEngine *cppEngine);
|
||||||
DebuggerEngine *createLldbEngine();
|
DebuggerEngine *createLldbEngine();
|
||||||
|
|
||||||
class LocalProcessRunner : public RunWorker
|
class LocalProcessRunner : public RunWorker
|
||||||
@@ -505,11 +505,11 @@ void DebuggerRunTool::start()
|
|||||||
|
|
||||||
switch (m_runParameters.masterEngineType) {
|
switch (m_runParameters.masterEngineType) {
|
||||||
case QmlEngineType:
|
case QmlEngineType:
|
||||||
m_engine = createQmlEngine(terminalRunner() != nullptr);
|
m_engine = createQmlEngine();
|
||||||
break;
|
break;
|
||||||
case QmlCppEngineType:
|
case QmlCppEngineType:
|
||||||
if (cppEngine)
|
if (cppEngine)
|
||||||
m_engine = createQmlCppEngine(cppEngine, terminalRunner() != nullptr);
|
m_engine = createQmlCppEngine(cppEngine);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
m_engine = cppEngine;
|
m_engine = cppEngine;
|
||||||
|
@@ -48,9 +48,9 @@ enum { debug = 0 };
|
|||||||
|
|
||||||
#define CHECK_STATE(s) do { checkState(s, __FILE__, __LINE__); } while (0)
|
#define CHECK_STATE(s) do { checkState(s, __FILE__, __LINE__); } while (0)
|
||||||
|
|
||||||
DebuggerEngine *createQmlCppEngine(DebuggerEngine *cppEngine, bool useTerminal)
|
DebuggerEngine *createQmlCppEngine(DebuggerEngine *cppEngine)
|
||||||
{
|
{
|
||||||
return new QmlCppEngine(cppEngine, useTerminal);
|
return new QmlCppEngine(cppEngine);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -60,10 +60,10 @@ DebuggerEngine *createQmlCppEngine(DebuggerEngine *cppEngine, bool useTerminal)
|
|||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
QmlCppEngine::QmlCppEngine(DebuggerEngine *cppEngine, bool useTerminal)
|
QmlCppEngine::QmlCppEngine(DebuggerEngine *cppEngine)
|
||||||
{
|
{
|
||||||
setObjectName("QmlCppEngine");
|
setObjectName("QmlCppEngine");
|
||||||
m_qmlEngine = new QmlEngine(useTerminal);
|
m_qmlEngine = new QmlEngine;
|
||||||
m_qmlEngine->setMasterEngine(this);
|
m_qmlEngine->setMasterEngine(this);
|
||||||
m_cppEngine = cppEngine;
|
m_cppEngine = cppEngine;
|
||||||
m_cppEngine->setMasterEngine(this);
|
m_cppEngine->setMasterEngine(this);
|
||||||
|
@@ -37,7 +37,7 @@ class QmlCppEngine : public DebuggerEngine
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QmlCppEngine(DebuggerEngine *cppEngine, bool useTerminal);
|
explicit QmlCppEngine(DebuggerEngine *cppEngine);
|
||||||
~QmlCppEngine() override;
|
~QmlCppEngine() override;
|
||||||
|
|
||||||
bool canDisplayTooltip() const override;
|
bool canDisplayTooltip() const override;
|
||||||
|
@@ -245,7 +245,7 @@ static void updateDocument(IDocument *document, const QTextDocument *textDocumen
|
|||||||
//
|
//
|
||||||
///////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
QmlEngine::QmlEngine(bool useTerminal)
|
QmlEngine::QmlEngine()
|
||||||
: d(new QmlEnginePrivate(this, new QmlDebugConnection(this)))
|
: d(new QmlEnginePrivate(this, new QmlDebugConnection(this)))
|
||||||
{
|
{
|
||||||
setObjectName("QmlEngine");
|
setObjectName("QmlEngine");
|
||||||
@@ -265,12 +265,6 @@ QmlEngine::QmlEngine(bool useTerminal)
|
|||||||
connect(&d->applicationLauncher, &ApplicationLauncher::processStarted,
|
connect(&d->applicationLauncher, &ApplicationLauncher::processStarted,
|
||||||
this, &QmlEngine::handleLauncherStarted);
|
this, &QmlEngine::handleLauncherStarted);
|
||||||
|
|
||||||
// we won't get any debug output
|
|
||||||
if (useTerminal) {
|
|
||||||
d->retryOnConnectFail = true;
|
|
||||||
d->automaticConnect = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
debuggerConsole()->setScriptEvaluator([this](const QString &expr) {
|
debuggerConsole()->setScriptEvaluator([this](const QString &expr) {
|
||||||
executeDebuggerCommand(expr, QmlLanguage);
|
executeDebuggerCommand(expr, QmlLanguage);
|
||||||
});
|
});
|
||||||
@@ -521,6 +515,12 @@ void QmlEngine::closeConnection()
|
|||||||
|
|
||||||
void QmlEngine::runEngine()
|
void QmlEngine::runEngine()
|
||||||
{
|
{
|
||||||
|
// we won't get any debug output
|
||||||
|
if (!terminal()) {
|
||||||
|
d->retryOnConnectFail = true;
|
||||||
|
d->automaticConnect = true;
|
||||||
|
}
|
||||||
|
|
||||||
QTC_ASSERT(state() == EngineRunRequested, qDebug() << state());
|
QTC_ASSERT(state() == EngineRunRequested, qDebug() << state());
|
||||||
|
|
||||||
if (!isSlaveEngine()) {
|
if (!isSlaveEngine()) {
|
||||||
@@ -2480,9 +2480,9 @@ void QmlEnginePrivate::flushSendBuffer()
|
|||||||
sendBuffer.clear();
|
sendBuffer.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
DebuggerEngine *createQmlEngine(bool useTerminal)
|
DebuggerEngine *createQmlEngine()
|
||||||
{
|
{
|
||||||
return new QmlEngine(useTerminal);
|
return new QmlEngine;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // Internal
|
} // Internal
|
||||||
|
@@ -43,7 +43,7 @@ class QmlEngine : public DebuggerEngine
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit QmlEngine(bool useTerminal);
|
QmlEngine();
|
||||||
~QmlEngine() override;
|
~QmlEngine() override;
|
||||||
|
|
||||||
void logServiceStateChange(const QString &service, float version,
|
void logServiceStateChange(const QString &service, float version,
|
||||||
|
Reference in New Issue
Block a user