diff options
author | Topi Reinio <topi.reinio@qt.io> | 2021-01-11 13:50:56 +0100 |
---|---|---|
committer | Topi Reinio <topi.reinio@qt.io> | 2021-01-12 10:36:31 +0100 |
commit | c520da133a11564cac61ce534a89aa9cc34835aa (patch) | |
tree | d4e94962e676f9341e82ab3aec2ca4b4b0fcc23f | |
parent | c1ccf74a046ba8fa731e99fcf507c26fe8e8cc83 (diff) | |
download | qttools-c520da133a11564cac61ce534a89aa9cc34835aa.tar.gz |
qdoc: Fix addendums for QML signals that contain '.' in the name
QML signals may belong to a group, and the automatic note generation
for corresponding signal handler must take this into account.
Fixes: QTBUG-85572
Change-Id: Ibfc793475618fb78a8ba0a0344537917ad6fb0bf
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 8a20d5b62dec6d45e6d6d29fd894aa362c3301fb)
Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
-rw-r--r-- | src/qdoc/docbookgenerator.cpp | 5 | ||||
-rw-r--r-- | src/qdoc/generator.cpp | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/qdoc/docbookgenerator.cpp b/src/qdoc/docbookgenerator.cpp index 82893be97..b5acf4d7b 100644 --- a/src/qdoc/docbookgenerator.cpp +++ b/src/qdoc/docbookgenerator.cpp @@ -3422,8 +3422,9 @@ void DocBookGenerator::generateAddendum(const Node *node, Addendum type, CodeMar case QmlSignalHandler: { QString handler(node->name()); - handler[0] = handler[0].toTitleCase(); - handler.prepend(QLatin1String("on")); + int prefixLocation = handler.lastIndexOf('.', -2) + 1; + handler[prefixLocation] = handler[prefixLocation].toTitleCase(); + handler.insert(prefixLocation, QLatin1String("on")); writer->writeStartElement(dbNamespace, "para"); writer->writeCharacters("The corresponding handler is "); writer->writeTextElement(dbNamespace, "code", handler); diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index b3aacb623..e753d3090 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -1387,8 +1387,9 @@ void Generator::generateAddendum(const Node *node, Addendum type, CodeMarker *ma case QmlSignalHandler: { QString handler(node->name()); - handler[0] = handler[0].toTitleCase(); - handler.prepend(QLatin1String("on")); + int prefixLocation = handler.lastIndexOf('.', -2) + 1; + handler[prefixLocation] = handler[prefixLocation].toTitleCase(); + handler.insert(prefixLocation, QLatin1String("on")); text << "The corresponding handler is " << Atom(Atom::FormattingLeft, ATOM_FORMATTING_TELETYPE) << handler << Atom(Atom::FormattingRight, ATOM_FORMATTING_TELETYPE) << "."; |