diff options
author | Thibaut Cuvelier <cuvelier.thibaut@gmail.com> | 2019-12-05 06:10:26 +0100 |
---|---|---|
committer | Thibaut Cuvelier <cuvelier.thibaut@gmail.com> | 2019-12-19 12:41:06 +0100 |
commit | d1de2790b92e147e4d28884484bb2ba134696b88 (patch) | |
tree | 9ef7e2325b29a74c2e7548f422f1f88141204538 | |
parent | 675de6dcc0536c52aa72ab2dd6a87422ae391ae7 (diff) | |
download | qttools-d1de2790b92e147e4d28884484bb2ba134696b88.tar.gz |
Simplify the code printing the enum values
Change-Id: I743baf96185fcb20ce740fcc9c2beb011f5bdefb
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
-rw-r--r-- | src/qdoc/cppcodemarker.cpp | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/src/qdoc/cppcodemarker.cpp b/src/qdoc/cppcodemarker.cpp index 550e01328..b23312d19 100644 --- a/src/qdoc/cppcodemarker.cpp +++ b/src/qdoc/cppcodemarker.cpp @@ -223,7 +223,7 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, const Node * /* relati QStringList documentedItems = enume->doc().enumItemNames(); if (documentedItems.isEmpty()) { - const auto enumItems = enume->items(); + const auto &enumItems = enume->items(); for (const auto &item : enumItems) documentedItems << item.name(); } @@ -231,23 +231,15 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, const Node * /* relati for (const auto &item : omitItems) documentedItems.removeAll(item); - if (documentedItems.size() <= MaxEnumValues) { - for (int i = 0; i < documentedItems.size(); ++i) { - if (i != 0) - synopsis += ", "; - synopsis += documentedItems.at(i); - } - } else { - for (int i = 0; i < documentedItems.size(); ++i) { - if (i < MaxEnumValues - 2 || i == documentedItems.size() - 1) { - if (i != 0) - synopsis += ", "; - synopsis += documentedItems.at(i); - } else if (i == MaxEnumValues - 1) { - synopsis += ", ..."; - } - } + if (documentedItems.size() > MaxEnumValues) { + // Take the last element and keep it safe, then elide the surplus. + const QString last = documentedItems.last(); + documentedItems = documentedItems.mid(0, MaxEnumValues - 1); + documentedItems += "…"; + documentedItems += last; } + synopsis += documentedItems.join(QLatin1String(", ")); + if (!documentedItems.isEmpty()) synopsis += QLatin1Char(' '); synopsis += QLatin1Char('}'); |