diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/utils/terminalinterface.cpp | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/desktoprunconfiguration.cpp | 3 | ||||
-rw-r--r-- | src/plugins/projectexplorer/runconfigurationaspects.cpp | 5 | ||||
-rw-r--r-- | src/tools/process_stub/main.cpp | 31 |
4 files changed, 6 insertions, 35 deletions
diff --git a/src/libs/utils/terminalinterface.cpp b/src/libs/utils/terminalinterface.cpp index 6972184e325..6767c16c61f 100644 --- a/src/libs/utils/terminalinterface.cpp +++ b/src/libs/utils/terminalinterface.cpp @@ -183,8 +183,6 @@ void TerminalInterface::onStubReadyRead() emitFinished(out.mid(5).toInt(), QProcess::NormalExit); } else if (out.startsWith("crash ")) { emitFinished(out.mid(6).toInt(), QProcess::CrashExit); - } else if (out.startsWith("qtc: ")) { - emit readyRead(out.mid(5) + "\n", {}); } else { emitError(QProcess::UnknownError, msgUnexpectedOutput(out)); break; diff --git a/src/plugins/projectexplorer/desktoprunconfiguration.cpp b/src/plugins/projectexplorer/desktoprunconfiguration.cpp index 82d0123b117..286f5c4b6e0 100644 --- a/src/plugins/projectexplorer/desktoprunconfiguration.cpp +++ b/src/plugins/projectexplorer/desktoprunconfiguration.cpp @@ -87,7 +87,8 @@ void DesktopRunConfiguration::updateTargetInformation() BuildTargetInfo bti = buildTargetInfo(); auto terminalAspect = aspect<TerminalAspect>(); - terminalAspect->setUseTerminalHint(bti.usesTerminal); + terminalAspect->setUseTerminalHint(bti.targetFilePath.needsDevice() ? false : bti.usesTerminal); + terminalAspect->setEnabled(!bti.targetFilePath.needsDevice()); if (m_kind == Qmake) { diff --git a/src/plugins/projectexplorer/runconfigurationaspects.cpp b/src/plugins/projectexplorer/runconfigurationaspects.cpp index 88dd720ee31..8098606afb0 100644 --- a/src/plugins/projectexplorer/runconfigurationaspects.cpp +++ b/src/plugins/projectexplorer/runconfigurationaspects.cpp @@ -65,8 +65,9 @@ TerminalAspect::TerminalAspect() void TerminalAspect::addToLayout(LayoutItem &parent) { QTC_CHECK(!m_checkBox); - m_checkBox = new QCheckBox(Tr::tr("Run in terminal")); + m_checkBox = createSubWidget<QCheckBox>(Tr::tr("Run in terminal")); m_checkBox->setChecked(m_useTerminal); + m_checkBox->setEnabled(isEnabled()); parent.addItems({{}, m_checkBox.data()}); connect(m_checkBox.data(), &QAbstractButton::clicked, this, [this] { m_userSet = true; @@ -123,7 +124,7 @@ void TerminalAspect::calculateUseTerminal() */ bool TerminalAspect::useTerminal() const { - return m_useTerminal; + return m_useTerminal && isEnabled(); } /*! diff --git a/src/tools/process_stub/main.cpp b/src/tools/process_stub/main.cpp index ff3437659b9..f606b063694 100644 --- a/src/tools/process_stub/main.cpp +++ b/src/tools/process_stub/main.cpp @@ -137,11 +137,6 @@ void sendMsg(const QByteArray &msg) } } -void sendQtcMarker(const QByteArray &marker) -{ - sendMsg(QByteArray("qtc: ") + marker + "\n"); -} - void sendPid(int inferiorPid) { sendMsg(QString("pid %1\n").arg(inferiorPid).toUtf8()); @@ -317,31 +312,7 @@ void startProcess(const QString &executable, const QStringList &arguments, const QCoreApplication::instance(), &onInferiorStarted); - inferiorProcess.setProcessChannelMode(QProcess::SeparateChannels); - - QObject::connect(&inferiorProcess, - &QProcess::readyReadStandardOutput, - QCoreApplication::instance(), - [] { - const QByteArray data = inferiorProcess.readAllStandardOutput(); - static bool isFirst = true; - if (isFirst) { - isFirst = false; - if (data.startsWith("__qtc")) { - int lineBreak = data.indexOf("\r\n"); - sendQtcMarker(data.mid(0, lineBreak)); - if (lineBreak != -1) - writeToOut(data.mid(lineBreak + 2), Out::StdOut); - return; - } - } - writeToOut(data, Out::StdOut); - }); - - QObject::connect(&inferiorProcess, - &QProcess::readyReadStandardError, - QCoreApplication::instance(), - [] { writeToOut(inferiorProcess.readAllStandardError(), Out::StdErr); }); + inferiorProcess.setProcessChannelMode(QProcess::ForwardedChannels); if (!(testMode && debugMode)) inferiorProcess.setInputChannelMode(QProcess::ForwardedInputChannel); |