diff --git a/src/tools/qdoc/helpprojectwriter.cpp b/src/tools/qdoc/helpprojectwriter.cpp index e71ce5946b..98ebcd81c2 100644 --- a/src/tools/qdoc/helpprojectwriter.cpp +++ b/src/tools/qdoc/helpprojectwriter.cpp @@ -39,6 +39,8 @@ ** ****************************************************************************/ +#include +#include #include #include @@ -48,7 +50,6 @@ #include "config.h" #include "node.h" #include "tree.h" -#include QT_BEGIN_NAMESPACE @@ -461,6 +462,19 @@ void HelpProjectWriter::generate(const Tree *t) generateProject(projects[i]); } +void HelpProjectWriter::writeHashFile(QFile &file) +{ + QCryptographicHash hash(QCryptographicHash::Sha1); + hash.addData(&file); + + QFile hashFile(file.fileName() + ".sha1"); + if (!hashFile.open(QFile::WriteOnly | QFile::Text)) + return; + + hashFile.write(hash.result().toHex()); + hashFile.close(); +} + void HelpProjectWriter::writeNode(HelpProject &project, QXmlStreamWriter &writer, const Node *node) { @@ -751,6 +765,7 @@ void HelpProjectWriter::generateProject(HelpProject &project) writer.writeEndElement(); // filterSection writer.writeEndElement(); // QtHelpProject writer.writeEndDocument(); + writeHashFile(file); file.close(); } diff --git a/src/tools/qdoc/helpprojectwriter.h b/src/tools/qdoc/helpprojectwriter.h index ac813525e0..a628dbc016 100644 --- a/src/tools/qdoc/helpprojectwriter.h +++ b/src/tools/qdoc/helpprojectwriter.h @@ -101,6 +101,7 @@ private: bool generateSection(HelpProject &project, QXmlStreamWriter &writer, const Node *node); QStringList keywordDetails(const Node *node) const; + void writeHashFile(QFile &file); void writeNode(HelpProject &project, QXmlStreamWriter &writer, const Node *node); void readSelectors(SubProject &subproject, const QStringList &selectors); diff --git a/src/tools/qdoc/qdoc.pro b/src/tools/qdoc/qdoc.pro index abd256c60d..e05d9ea2af 100644 --- a/src/tools/qdoc/qdoc.pro +++ b/src/tools/qdoc/qdoc.pro @@ -73,6 +73,7 @@ SOURCES += atom.cpp \ tokenizer.cpp \ tree.cpp \ yyindent.cpp \ + ../../corelib/tools/qcryptographichash.cpp \ ../../xml/dom/qdom.cpp \ ../../xml/sax/qxml.cpp