forked from qt-creator/qt-creator
QtcProcess: Introduce a QtcProcess::Arguments class
This is used to get a platform-agnostic handle on "command line arguments". It essentially wraps a single QString on Windows, and a QStringList everywhere else. As a consequence, several occurrences of #ifdef Q_OS_* can be removed from the codebase. Change-Id: Ic93118c1bd0bce0ebb58f416d395dbaebb861772 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
@@ -51,6 +51,7 @@
|
||||
|
||||
using namespace ProjectExplorer;
|
||||
using namespace QmakeProjectManager;
|
||||
using namespace Utils;
|
||||
|
||||
namespace Ios {
|
||||
namespace Internal {
|
||||
@@ -341,27 +342,27 @@ QString IosRunConfigurationWidget::argListToString(const QStringList &args) cons
|
||||
|
||||
QStringList IosRunConfigurationWidget::stringToArgList(const QString &args) const
|
||||
{
|
||||
Utils::QtcProcess::SplitError err;
|
||||
QStringList res = Utils::QtcProcess::splitArgs(args, false, &err);
|
||||
QtcProcess::SplitError err;
|
||||
QStringList res = QtcProcess::splitArgs(args, OsTypeMac, false, &err);
|
||||
switch (err) {
|
||||
case Utils::QtcProcess::SplitOk:
|
||||
case QtcProcess::SplitOk:
|
||||
break;
|
||||
case Utils::QtcProcess::BadQuoting:
|
||||
case QtcProcess::BadQuoting:
|
||||
if (args.at(args.size()-1) == QLatin1Char('\\')) {
|
||||
res = Utils::QtcProcess::splitArgs(args + QLatin1Char('\\'), false, &err);
|
||||
if (err != Utils::QtcProcess::SplitOk)
|
||||
res = Utils::QtcProcess::splitArgs(args + QLatin1Char('\\') + QLatin1Char('\''),
|
||||
false, &err);
|
||||
if (err != Utils::QtcProcess::SplitOk)
|
||||
res = Utils::QtcProcess::splitArgs(args + QLatin1Char('\\') + QLatin1Char('\"'),
|
||||
false, &err);
|
||||
res = QtcProcess::splitArgs(args + QLatin1Char('\\'), OsTypeMac, false, &err);
|
||||
if (err != QtcProcess::SplitOk)
|
||||
res = QtcProcess::splitArgs(args + QLatin1Char('\\') + QLatin1Char('\''),
|
||||
OsTypeMac, false, &err);
|
||||
if (err != QtcProcess::SplitOk)
|
||||
res = QtcProcess::splitArgs(args + QLatin1Char('\\') + QLatin1Char('\"'),
|
||||
OsTypeMac, false, &err);
|
||||
}
|
||||
if (err != Utils::QtcProcess::SplitOk)
|
||||
res = Utils::QtcProcess::splitArgs(args + QLatin1Char('\''), false, &err);
|
||||
if (err != Utils::QtcProcess::SplitOk)
|
||||
res = Utils::QtcProcess::splitArgs(args + QLatin1Char('\"'), false, &err);
|
||||
if (err != QtcProcess::SplitOk)
|
||||
res = QtcProcess::splitArgs(args + QLatin1Char('\''), OsTypeMac, false, &err);
|
||||
if (err != QtcProcess::SplitOk)
|
||||
res = QtcProcess::splitArgs(args + QLatin1Char('\"'), OsTypeMac, false, &err);
|
||||
break;
|
||||
case Utils::QtcProcess::FoundMeta:
|
||||
case QtcProcess::FoundMeta:
|
||||
qDebug() << "IosRunConfigurationWidget FoundMeta (should not happen)";
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user