void QsCodeParser::setQuickDoc(Node *quickNode, const Doc& doc, const QStringList& qtParams, const QStringList& quickParams) { QRegExp quickifyCommand("\\\\" + COMMAND_QUICKIFY + "([^\n]*)(?:\n|$)"); if (quickNode->type() == Node::Function) { FunctionNode *quickFunc = (FunctionNode *) quickNode; quickFunc->setOverload(false); } if (doc.metaCommandsUsed().contains(COMMAND_QUICKIFY)) { QString source = doc.source(); int pos = source.indexOf(quickifyCommand); if (pos != -1) { QString quickifiedSource = quickNode->doc().source(); if (!qtParams.isEmpty() && qtParams != quickParams) renameParameters(quickifiedSource, doc, qtParams, quickParams); applyReplacementList(quickifiedSource, doc); do { QString extract = quickifiedSource; QString arg = quickifyCommand.cap(1).simplified(); if (!arg.isEmpty()) { if (arg.startsWith("/") && arg.endsWith("/") && arg.length() > 2) { QString pattern = arg.mid(1, arg.length() - 2); extractRegExp(QRegExp(pattern), extract, doc); } else { extractTarget(arg, extract, doc); } } source.replace(pos, quickifyCommand.matchedLength(), extract); pos += extract.length(); } while ((pos = source.indexOf(quickifyCommand, pos)) != -1); QRegExp quickcodeRegExp( "\\\\" + COMMAND_QUICKCODE + "(.*)\\\\" + COMMAND_ENDQUICKCODE); quickcodeRegExp.setMinimal(true); source.replace(quickcodeRegExp, ""); } Doc quickDoc(doc.location(), doc.location(), source, (CppCodeParser::topicCommands() + topicCommands() + CppCodeParser::otherMetaCommands()) << COMMAND_REPLACE); quickNode->setDoc(quickDoc, true); processOtherMetaCommands(quickDoc, quickNode); } else { quickNode->setDoc(doc, true); processOtherMetaCommands(doc, quickNode); } }