summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibaut Cuvelier <cuvelier.thibaut@gmail.com>2019-12-05 06:10:26 +0100
committerThibaut Cuvelier <cuvelier.thibaut@gmail.com>2019-12-19 12:41:06 +0100
commitd1de2790b92e147e4d28884484bb2ba134696b88 (patch)
tree9ef7e2325b29a74c2e7548f422f1f88141204538
parent675de6dcc0536c52aa72ab2dd6a87422ae391ae7 (diff)
downloadqttools-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.cpp26
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 += "&hellip;";
+ documentedItems += last;
}
+ synopsis += documentedItems.join(QLatin1String(", "));
+
if (!documentedItems.isEmpty())
synopsis += QLatin1Char(' ');
synopsis += QLatin1Char('}');