aboutsummaryrefslogtreecommitdiffstats
path: root/qtdocparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qtdocparser.cpp')
-rw-r--r--qtdocparser.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/qtdocparser.cpp b/qtdocparser.cpp
index 6847607da..66977c611 100644
--- a/qtdocparser.cpp
+++ b/qtdocparser.cpp
@@ -53,7 +53,19 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass)
if (!metaClass)
return;
+ QString scope = metaClass->name();
+ const AbstractMetaClass* context = metaClass->enclosingClass();
+ while(context) {
+ if (context->enclosingClass() == 0)
+ break;
+ context = context->enclosingClass();
+ }
+
QString filename = metaClass->qualifiedCppName().toLower().replace("::", "-");
+ // Remove namespace
+ if (context && context->isNamespace() && filename.startsWith(context->name(), Qt::CaseInsensitive)) {
+ filename = filename.remove(0, context->name().size() + 1);
+ }
QString sourceFile = documentationDataDirectory() + '/' + filename + ".xml";
if (metaClass->enclosingClass())
sourceFile.replace("::", "-");