From ae42604904839ab548cdfa8e41eec2460102c9b7 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 25 May 2022 11:52:18 +0200 Subject: [PATCH] Utils: Add CommandLine::prependArgs convenience functions For clearer code on the user side. Change-Id: I3adf2e96628f4e59293cd2f0966fb30989e0da9f Reviewed-by: Jarek Kobus --- src/libs/utils/commandline.cpp | 15 +++++++++++++++ src/libs/utils/commandline.h | 6 ++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/libs/utils/commandline.cpp b/src/libs/utils/commandline.cpp index 373944fa279..503f0c90776 100644 --- a/src/libs/utils/commandline.cpp +++ b/src/libs/utils/commandline.cpp @@ -1485,6 +1485,21 @@ void CommandLine::addArgs(const QString &inArgs, RawType) ProcessArgs::addArgs(&m_arguments, inArgs); } +void CommandLine::prependArgs(const QStringList &inArgs) +{ + QString oldArgs = m_arguments; + m_arguments.clear(); + addArgs(inArgs); + addArgs(oldArgs, Raw); +} + +void CommandLine::prependArgs(const QString &inArgs, RawType) +{ + QString oldArgs = m_arguments; + m_arguments = inArgs; + addArgs(oldArgs, Raw); +} + QString CommandLine::toUserOutput() const { QString res = m_executable.toUserOutput(); diff --git a/src/libs/utils/commandline.h b/src/libs/utils/commandline.h index 8de1f42762e..3bffd8d7865 100644 --- a/src/libs/utils/commandline.h +++ b/src/libs/utils/commandline.h @@ -143,12 +143,14 @@ public: void addArg(const QString &arg); void addArgs(const QStringList &inArgs); + void addArgs(const QString &inArgs, RawType); + + void prependArgs(const QStringList &inArgs); + void prependArgs(const QString &inArgs, RawType); void addCommandLineAsArgs(const CommandLine &cmd); void addCommandLineAsArgs(const CommandLine &cmd, RawType); - void addArgs(const QString &inArgs, RawType); - QString toUserOutput() const; FilePath executable() const { return m_executable; }