FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cppcheck/gui/common.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
/
common.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
88 lines (76 loc) · 2.8 KB
Breadcrumbs
cppcheck
/
gui
/
common.cpp
Copy path
File metadata and controls
88 lines (76 loc) · 2.8 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
/*
* Cppcheck - A tool for static C/C++ code analysis
* Copyright (C) 2007-2024 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
"
common.h
"
#
include
<
QCoreApplication
>
#
include
<
QDir
>
#
include
<
QFileInfo
>
#
include
<
QList
>
#
include
<
QMap
>
#
include
<
QSettings
>
#
include
<
QStringList
>
#
include
<
QVariant
>
#
include
<
Qt
>
QString
getPath
(
const
QString &type)
{
QSettings settings;
QString path = settings.
value
(type,
QString
()).
toString
();
if
(path.
isEmpty
()) {
//
if not set, fallback to last check path hoping that it will be close enough
path = settings.
value
(
SETTINGS_LAST_CHECK_PATH
,
QString
()).
toString
();
if
(path.
isEmpty
())
//
if not set, return user's home directory as the best we can do for now
return
QDir::homePath
();
}
return
path;
}
void
setPath
(
const
QString &type,
const
QString &value)
{
QSettings settings;
settings.
setValue
(type, value);
}
QString
toFilterString
(
const
QMap<QString,QString>& filters,
bool
addAllSupported,
bool
addAll)
{
QStringList entries;
if
(addAllSupported) {
entries <<
QCoreApplication::translate
(
"
toFilterString
"
,
"
All supported files (%1)
"
)
.
arg
(filters.
values
().
join
(
"
"
));
}
if
(addAll) {
entries <<
QCoreApplication::translate
(
"
toFilterString
"
,
"
All files (%1)
"
).
arg
(
"
*.*
"
);
}
//
We're using the description of the filters as the map keys, the file
//
name patterns are our values. The generated filter string list will
//
thus be sorted alphabetically over the descriptions.
for
(
const
auto
& k: filters.
keys
()) {
entries <<
QString
(
"
%1 (%2)
"
).
arg
(k).
arg
(filters.
value
(k));
}
return
entries.
join
(
"
;;
"
);
}
QString
getDataDir
()
{
QSettings settings;
const
QString dataDir = settings.
value
(
"
DATADIR
"
,
QString
()).
toString
();
if
(!dataDir.
isEmpty
())
return
dataDir;
const
QString appPath =
QFileInfo
(
QCoreApplication::applicationFilePath
()).
canonicalPath
();
if
(
QFileInfo::exists
(appPath +
"
/std.cfg
"
))
return
appPath;
if
(appPath.
indexOf
(
"
/cppcheck/
"
,
0
, Qt::CaseInsensitive) >
0
)
return
appPath.
left
(appPath.
indexOf
(
"
/cppcheck/
"
,
0
, Qt::CaseInsensitive) +
9
);
return
appPath;
}
Back
|
FazBrowse Home
|
New Git URL