-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathhelpbrowser.cpp
More file actions
62 lines (54 loc) · 1.66 KB
/
helpbrowser.cpp
File metadata and controls
62 lines (54 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "helpbrowser.h"
#include <QtGui>
#include <QHelpEngine>
//#define XSTR(x) #x
//#define STR(x) XSTR(x)
//#if !defined(SHARE_DIR)
//# define SHARE_DIR "/home/michel/code/QMentat-install/"
//#endif
/* Copyright (c) 2013 Mike Dusseault
*
* This file is part of QMentat.
*
* QMentat is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* QMentat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with QMentat. If not, see <http://www.gnu.org/licenses/>.
*/
HelpBrowser::HelpBrowser(QWidget *parent) :
QTextBrowser(parent)
{
helpEngine = 0;
}
void HelpBrowser::setHelpEngine(QHelpEngine *engine)
{
helpEngine = engine;
}
void HelpBrowser::setSource(const QUrl &url)
{
if (helpEngine != 0)
{
//qDebug() << "setSource = " << url.toString();
QByteArray helpData = helpEngine->fileData(url);
// show the documentation to the user
if (!helpData.isEmpty())
{
setHtml(QLatin1String(helpData));
}
int anchorPos = url.toString().indexOf(QChar('#'));
if (anchorPos >= 0)
{
QString anchor = url.toString().mid(anchorPos+1);
//qDebug() << "Anchor = " << anchor;
scrollToAnchor(anchor);
}
}
}