53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
#include "helpdialog.h"
|
|
#include "ui_helpdialog.h"
|
|
|
|
#include <QHelpEngine>
|
|
#include <QHelpContentWidget>
|
|
#include <QHelpIndexWidget>
|
|
|
|
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;
|
|
}
|