FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cppcheck/gui/helpdialog.cpp at main · cppchecksolutions/cppcheck · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
cppchecksolutions
/
cppcheck
Public
forked from
cppcheck-opensource/cppcheck
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cppcheck
/
gui
/
helpdialog.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
122 lines (105 loc) · 3.44 KB
Breadcrumbs
cppcheck
/
gui
/
helpdialog.cpp
Copy path
File metadata and controls
122 lines (105 loc) · 3.44 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/*
* Cppcheck - A tool for static C/C++ code analysis
* Copyright (C) 2007-2026 Cppcheck team.
*
* This program 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.
*
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
*/
#
include
"
helpdialog.h
"
#
include
"
common.h
"
#
include
"
utils.h
"
#
include
"
ui_helpdialog.h
"
#
include
<
QApplication
>
#
include
<
QFileInfo
>
#
include
<
QHelpEngine
>
#
include
<
QHelpContentWidget
>
#
include
<
QHelpIndexWidget
>
#
include
<
QMessageBox
>
#
include
<
QString
>
#
include
<
QStringList
>
#
include
<
QUrl
>
#
include
<
QVBoxLayout
>
class
QWidget
;
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);
}
static
QString
getHelpFile
()
{
const
QString datadir =
getDataDir
();
QStringList paths;
paths << (datadir +
"
/help
"
)
<< datadir
<< (
QApplication::applicationDirPath
() +
"
/help
"
)
<<
QApplication::applicationDirPath
();
#
ifdef
FILESDIR
const
QString filesdir =
FILESDIR
;
paths << (filesdir +
"
/help
"
)
<< filesdir;
#
endif
for
(
const
QString &p:
utils::as_const
(paths)) {
QString filename = p +
"
/online-help.qhc
"
;
if
(
QFileInfo::exists
(filename))
return
filename;
}
return
QString
();
}
HelpDialog::HelpDialog
(QWidget *parent) :
QDialog(parent),
mUi(
new
Ui::HelpDialog)
{
mUi
->
setupUi
(
this
);
QString helpFile =
getHelpFile
();
if
(helpFile.
isEmpty
()) {
const
QString msg =
tr
(
"
Helpfile '%1' was not found
"
).
arg
(
"
online-help.qhc
"
);
QMessageBox
msgBox
(QMessageBox::Warning,
"
Cppcheck
"
,
msg,
QMessageBox::Ok,
this
);
msgBox.
exec
();
mHelpEngine
=
nullptr
;
return
;
}
mHelpEngine
=
new
QHelpEngine
(helpFile);
//
Disable the timestamp check of online-help.qhc by setting _q_readonly
mHelpEngine
->
setProperty
(
"
_q_readonly
"
, QVariant::fromValue<
bool
>(
true
));
mHelpEngine
->
setupData
();
mUi
->
contents
->
addWidget
(
mHelpEngine
->
contentWidget
());
mUi
->
index
->
addWidget
(
mHelpEngine
->
indexWidget
());
mUi
->
textBrowser
->
setHelpEngine
(
mHelpEngine
);
mUi
->
textBrowser
->
setSource
(
QUrl
(
"
qthelp://cppcheck.sourceforge.io/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
;
delete
mHelpEngine
;
}
Back
|
FazBrowse Home
|
New Git URL