aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2024-05-03 10:40:43 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2024-05-03 15:52:20 +0000
commitf62dea66f6f9bee1f60f6566f786d03868116a69 (patch)
tree3e033c5685c05a2000efb2d970832aee3841e58f
parentedde7706761ade1c612de2d0a3cf4f7b766cc885 (diff)
Android: Simplify parsing argument detailsHEADmaster
No need to call split() for the output - instead, just look for the index of "Common Arguments:" and the following newline. Change-Id: I008adeb1a8c39b0e3c0dd2364566396bf0235511 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
-rw-r--r--src/plugins/android/androidsdkmanagerwidget.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/plugins/android/androidsdkmanagerwidget.cpp b/src/plugins/android/androidsdkmanagerwidget.cpp
index dffc39d8f9..2a9027d0aa 100644
--- a/src/plugins/android/androidsdkmanagerwidget.cpp
+++ b/src/plugins/android/androidsdkmanagerwidget.cpp
@@ -275,14 +275,13 @@ OptionsDialog::OptionsDialog(AndroidSdkManager *sdkManager, const QStringList &a
m_process.setCommand({androidConfig().sdkManagerToolPath(),
{"--help", "--sdk_root=" + androidConfig().sdkLocation().toString()}});
connect(&m_process, &Process::done, this, [this] {
+ const QString output = m_process.allOutput();
QString argumentDetails;
- bool foundTag = false;
- const QStringList lines = m_process.allOutput().split('\n');
- for (const QString &line : lines) {
- if (foundTag)
- argumentDetails.append(line + "\n");
- else if (line.startsWith("Common Arguments:"))
- foundTag = true;
+ const int tagIndex = output.indexOf("Common Arguments:");
+ if (tagIndex >= 0) {
+ const int detailsIndex = output.indexOf('\n', tagIndex);
+ if (detailsIndex >= 0)
+ argumentDetails = output.mid(detailsIndex + 1);
}
if (argumentDetails.isEmpty())
argumentDetails = Tr::tr("Cannot load available arguments for \"sdkmanager\" command.");