diff options
author | hjk <hjk@theqtcompany.com> | 2016-01-06 16:50:36 +0100 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2016-01-18 16:35:40 +0000 |
commit | e7956000df038731957d488c4c0a68a4c7813f2d (patch) | |
tree | 351d4196cd26eca6c3abac366a726509f1719f44 /src | |
parent | 9a0062a9428b7cc013f9cd24c6f7f095f360b525 (diff) |
RemoteLinux: Use QString instead of QStringList for process arguments
This is almost uniformly used everywhere else.
Change-Id: I1ef9abb24066b21652aeb994b18ea3e19f48b3c6
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Diffstat (limited to 'src')
10 files changed, 35 insertions, 33 deletions
diff --git a/src/plugins/qnx/qnxruncontrolfactory.cpp b/src/plugins/qnx/qnxruncontrolfactory.cpp index 5e7a602e69b..368d181abe0 100644 --- a/src/plugins/qnx/qnxruncontrolfactory.cpp +++ b/src/plugins/qnx/qnxruncontrolfactory.cpp @@ -79,7 +79,7 @@ static DebuggerStartParameters createDebuggerStartParameters(QnxRunConfiguration params.remoteChannel = device->sshParameters().host + QLatin1String(":-1"); params.remoteSetupNeeded = true; params.closeMode = KillAtClose; - params.processArgs = runConfig->arguments().join(QLatin1Char(' ')); + params.processArgs = runConfig->arguments(); auto aspect = runConfig->extraAspect<DebuggerRunConfigurationAspect>(); if (aspect->useQmlDebugger()) { @@ -105,7 +105,7 @@ static AnalyzerStartParameters createAnalyzerStartParameters(const QnxRunConfigu return params; params.debuggee = runConfig->remoteExecutableFilePath(); - params.debuggeeArgs = runConfig->arguments().join(QLatin1Char(' ')); + params.debuggeeArgs = runConfig->arguments(); params.connParams = DeviceKitInformation::device(runConfig->target()->kit())->sshParameters(); params.analyzerHost = params.connParams.host; params.analyzerPort = params.connParams.port; diff --git a/src/plugins/remotelinux/abstractremotelinuxrunconfiguration.h b/src/plugins/remotelinux/abstractremotelinuxrunconfiguration.h index e66068f8ea8..5a72a0e3f74 100644 --- a/src/plugins/remotelinux/abstractremotelinuxrunconfiguration.h +++ b/src/plugins/remotelinux/abstractremotelinuxrunconfiguration.h @@ -33,8 +33,6 @@ #include "remotelinux_export.h" #include <projectexplorer/runconfiguration.h> -QT_FORWARD_DECLARE_CLASS(QStringList) - namespace Utils { class Environment; } namespace RemoteLinux { @@ -50,7 +48,7 @@ public: virtual QString localExecutableFilePath() const = 0; virtual QString remoteExecutableFilePath() const = 0; - virtual QStringList arguments() const = 0; + virtual QString arguments() const = 0; virtual QString workingDirectory() const = 0; virtual Utils::Environment environment() const = 0; diff --git a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.cpp b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.cpp index 5cfa749fa37..dd83eae8873 100644 --- a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.cpp +++ b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.cpp @@ -59,8 +59,7 @@ public: m_ui.localExecutablePathChooser->setExpectedKind(Utils::PathChooser::File); m_ui.localExecutablePathChooser->setPath(m_runConfig->localExecutableFilePath()); m_ui.remoteExeLineEdit->setText(m_runConfig->remoteExecutableFilePath()); - m_ui.argsLineEdit->setText(Utils::QtcProcess::joinArgs(m_runConfig->arguments(), - Utils::OsTypeLinux)); + m_ui.argsLineEdit->setText(m_runConfig->arguments()); m_ui.workingDirLineEdit->setText(m_runConfig->workingDirectory()); connect(m_ui.localExecutablePathChooser, SIGNAL(pathChanged(QString)), SLOT(handleLocalExecutableChanged(QString))); @@ -83,8 +82,7 @@ private slots: } void handleArgumentsChanged(const QString &arguments) { - m_runConfig->setArguments(Utils::QtcProcess::splitArgs(arguments.trimmed(), - Utils::OsTypeLinux)); + m_runConfig->setArguments(arguments.trimmed()); } void handleWorkingDirChanged(const QString &wd) { @@ -198,7 +196,11 @@ bool RemoteLinuxCustomRunConfiguration::fromMap(const QVariantMap &map) return false; setLocalExecutableFilePath(map.value(localExeKey()).toString()); setRemoteExecutableFilePath(map.value(remoteExeKey()).toString()); - setArguments(map.value(argsKey()).toStringList()); + QVariant args = map.value(argsKey()); + if (args.type() == QVariant::StringList) // Until 3.7 a QStringList was stored. + setArguments(Utils::QtcProcess::joinArgs(args.toStringList(), Utils::OsTypeLinux)); + else + setArguments(args.toString()); setWorkingDirectory(map.value(workingDirKey()).toString()); return true; } diff --git a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h index 68e0fa665ba..33eba0a2460 100644 --- a/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h +++ b/src/plugins/remotelinux/remotelinuxcustomrunconfiguration.h @@ -55,13 +55,13 @@ public: QString localExecutableFilePath() const override { return m_localExecutable; } QString remoteExecutableFilePath() const override { return m_remoteExecutable; } - QStringList arguments() const override { return m_arguments; } + QString arguments() const override { return m_arguments; } QString workingDirectory() const override { return m_workingDirectory; } Utils::Environment environment() const override; void setLocalExecutableFilePath(const QString &executable) { m_localExecutable = executable; } void setRemoteExecutableFilePath(const QString &executable); - void setArguments(const QStringList &args) { m_arguments = args; } + void setArguments(const QString &args) { m_arguments = args; } void setWorkingDirectory(const QString &wd) { m_workingDirectory = wd; } static Core::Id runConfigId(); @@ -72,7 +72,7 @@ private: QString m_localExecutable; QString m_remoteExecutable; - QStringList m_arguments; + QString m_arguments; QString m_workingDirectory; }; diff --git a/src/plugins/remotelinux/remotelinuxdebugsupport.cpp b/src/plugins/remotelinux/remotelinuxdebugsupport.cpp index 84adf18ab80..0e080dceecc 100644 --- a/src/plugins/remotelinux/remotelinuxdebugsupport.cpp +++ b/src/plugins/remotelinux/remotelinuxdebugsupport.cpp @@ -44,7 +44,7 @@ #include <projectexplorer/devicesupport/deviceapplicationrunner.h> #include <utils/qtcassert.h> -#include <utils/qtcprocess.h> + #include <qmldebug/qmldebugcommandlinearguments.h> #include <QPointer> @@ -99,11 +99,11 @@ DebuggerStartParameters LinuxDeviceDebugSupport::startParameters(const AbstractR } if (aspect->useCppDebugger()) { aspect->setUseMultiProcess(true); - QStringList args = runConfig->arguments(); - if (aspect->useQmlDebugger()) - args.prepend(QmlDebug::qmlDebugTcpArguments(QmlDebug::QmlDebuggerServices)); - - params.processArgs = Utils::QtcProcess::joinArgs(args, Utils::OsTypeLinux); + params.processArgs = runConfig->arguments(); + if (aspect->useQmlDebugger()) { + params.processArgs.prepend(QLatin1Char(' ')); + params.processArgs.prepend(QmlDebug::qmlDebugTcpArguments(QmlDebug::QmlDebuggerServices)); + } params.executable = runConfig->localExecutableFilePath(); params.remoteChannel = device->sshParameters().host + QLatin1String(":-1"); params.remoteExecutable = runConfig->remoteExecutableFilePath(); diff --git a/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp b/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp index 38a08e9af24..38785839177 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp +++ b/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp @@ -72,7 +72,7 @@ public: } QString targetName; - QStringList arguments; + QString arguments; bool useAlternateRemoteExecutable; QString alternateRemoteExecutable; QString workingDirectory; @@ -147,7 +147,11 @@ bool RemoteLinuxRunConfiguration::fromMap(const QVariantMap &map) if (!RunConfiguration::fromMap(map)) return false; - d->arguments = map.value(QLatin1String(ArgumentsKey)).toStringList(); + QVariant args = map.value(QLatin1String(ArgumentsKey)); + if (args.type() == QVariant::StringList) // Until 3.7 a QStringList was stored. + d->arguments = QtcProcess::joinArgs(args.toStringList(), OsTypeLinux); + else + d->arguments = args.toString(); d->targetName = map.value(QLatin1String(TargetNameKey)).toString(); d->useAlternateRemoteExecutable = map.value(QLatin1String(UseAlternateExeKey), false).toBool(); d->alternateRemoteExecutable = map.value(QLatin1String(AlternateExeKey)).toString(); @@ -167,7 +171,7 @@ QString RemoteLinuxRunConfiguration::defaultDisplayName() return tr("Run on Remote Device"); } -QStringList RemoteLinuxRunConfiguration::arguments() const +QString RemoteLinuxRunConfiguration::arguments() const { return d->arguments; } @@ -198,7 +202,7 @@ QString RemoteLinuxRunConfiguration::remoteExecutableFilePath() const void RemoteLinuxRunConfiguration::setArguments(const QString &args) { - d->arguments = QtcProcess::splitArgs(args, OsTypeLinux); // TODO: Widget should be list-based. + d->arguments = args; } QString RemoteLinuxRunConfiguration::workingDirectory() const diff --git a/src/plugins/remotelinux/remotelinuxrunconfiguration.h b/src/plugins/remotelinux/remotelinuxrunconfiguration.h index 0942696f7b6..acb75d6abca 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfiguration.h +++ b/src/plugins/remotelinux/remotelinuxrunconfiguration.h @@ -73,7 +73,7 @@ public: QString localExecutableFilePath() const override; QString defaultRemoteExecutableFilePath() const; QString remoteExecutableFilePath() const override; - QStringList arguments() const override; + QString arguments() const override; void setArguments(const QString &args); QString workingDirectory() const override; void setWorkingDirectory(const QString &wd); diff --git a/src/plugins/remotelinux/remotelinuxrunconfigurationwidget.cpp b/src/plugins/remotelinux/remotelinuxrunconfigurationwidget.cpp index 0ceb27626ef..8edd39bf0ef 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfigurationwidget.cpp +++ b/src/plugins/remotelinux/remotelinuxrunconfigurationwidget.cpp @@ -33,7 +33,6 @@ #include <coreplugin/coreicons.h> #include <utils/detailswidget.h> -#include <utils/qtcprocess.h> #include <QCoreApplication> #include <QDir> @@ -154,8 +153,7 @@ void RemoteLinuxRunConfigurationWidget::addGenericWidgets(QVBoxLayout *mainLayou altRemoteExeLayout->addWidget(&d->useAlternateCommandBox); d->genericWidgetsLayout.addRow(tr("Alternate executable on device:"), altRemoteExeWidget); - d->argsLineEdit.setText(Utils::QtcProcess::joinArgs(d->runConfiguration->arguments(), - Utils::OsTypeLinux)); + d->argsLineEdit.setText(d->runConfiguration->arguments()); d->genericWidgetsLayout.addRow(tr("Arguments:"), &d->argsLineEdit); d->workingDirLineEdit.setPlaceholderText(tr("<default>")); diff --git a/src/plugins/remotelinux/remotelinuxruncontrol.cpp b/src/plugins/remotelinux/remotelinuxruncontrol.cpp index 2c2ea189aae..33cd704457f 100644 --- a/src/plugins/remotelinux/remotelinuxruncontrol.cpp +++ b/src/plugins/remotelinux/remotelinuxruncontrol.cpp @@ -36,10 +36,9 @@ #include <projectexplorer/kitinformation.h> #include <projectexplorer/projectexplorericons.h> #include <projectexplorer/target.h> -#include <utils/environment.h> -#include <QString> -#include <QIcon> +#include <utils/environment.h> +#include <utils/qtcprocess.h> using namespace ProjectExplorer; @@ -52,7 +51,7 @@ public: DeviceApplicationRunner runner; IDevice::ConstPtr device; QString remoteExecutable; - QStringList arguments; + QString arguments; Utils::Environment environment; QString workingDir; }; @@ -93,7 +92,8 @@ void RemoteLinuxRunControl::start() this, &RemoteLinuxRunControl::handleProgressReport); d->runner.setEnvironment(d->environment); d->runner.setWorkingDirectory(d->workingDir); - d->runner.start(d->device, d->remoteExecutable, d->arguments); + d->runner.start(d->device, d->remoteExecutable, + Utils::QtcProcess::splitArgs(d->arguments, Utils::OsTypeLinux)); } RunControl::StopResult RemoteLinuxRunControl::stop() diff --git a/src/plugins/valgrind/valgrindruncontrolfactory.cpp b/src/plugins/valgrind/valgrindruncontrolfactory.cpp index 789d2f02fd6..47759cb8575 100644 --- a/src/plugins/valgrind/valgrindruncontrolfactory.cpp +++ b/src/plugins/valgrind/valgrindruncontrolfactory.cpp @@ -104,7 +104,7 @@ RunControl *ValgrindRunControlFactory::create(RunConfiguration *runConfiguration qobject_cast<RemoteLinux::AbstractRemoteLinuxRunConfiguration *>(runConfiguration)) { sp.debuggee = rc2->remoteExecutableFilePath(); sp.connParams = DeviceKitInformation::device(rc2->target()->kit())->sshParameters(); - sp.debuggeeArgs = rc2->arguments().join(QLatin1Char(' ')); + sp.debuggeeArgs = rc2->arguments(); } else { QTC_ASSERT(false, return 0); } |