#include "helpdialog.h" #include "ui_helpdialog.h" #include #include #include void HelpBrowser::setHelpEngine(QHelpEngine *helpEngine) { mHelpEngine = helpEngine; } QVariant HelpBrowser::loadResource(int type, const QUrl &name) { if (name.scheme() == "qthelp") { QString url(name.toString()); while (url.indexOf("/./") > 0) url.remove(url.indexOf("/./"), 2); return QVariant(mHelpEngine->fileData(QUrl(url))); } return QTextBrowser::loadResource(type, name); } HelpDialog::HelpDialog(QWidget *parent) : QDialog(parent), mUi(new Ui::HelpDialog) { mUi->setupUi(this); mHelpEngine = new QHelpEngine(QApplication::applicationDirPath() + "/online-help.qhc"); mHelpEngine->setupData(); mUi->contents->addWidget(mHelpEngine->contentWidget()); mUi->index->addWidget(mHelpEngine->indexWidget()); mUi->textBrowser->setHelpEngine(mHelpEngine); mUi->textBrowser->setSource(QUrl("qthelp://cppcheck.sourceforge.net/doc/index.html")); connect(mHelpEngine->contentWidget(), SIGNAL(linkActivated(QUrl)), mUi->textBrowser, SLOT(setSource(QUrl))); connect(mHelpEngine->indexWidget(), SIGNAL(linkActivated(QUrl, QString)), mUi->textBrowser, SLOT(setSource(QUrl))); } HelpDialog::~HelpDialog() { delete mUi; }