cppcheck/gui
Maksim Derbasov 8166bfc7b8
Do not crash on GUI shutdown (#5288)
Seems current code for worker threads termination is too brutal which
leads to crash on termination:
```
QThread::start: Thread termination error: No such process
Segmentation fault (core dumped)
```
Seems better to use `quit()` and `wait()`, like in an example:
https://doc.qt.io/qt-6/qthread.html#details

tested: Ubuntu Linux 20
2023-08-09 10:26:46 +02:00
..
help added .gitattributes and normalized files (#4668) 2022-12-30 21:33:45 +01:00
images GUI: Simple first hack to allow bughunting in the GUI 2020-02-04 21:20:43 +01:00
test Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
CMakeLists.txt Fix #11791 Build regression with GCC 13 (#5193) 2023-06-26 11:15:41 +02:00
about.ui Remove bug hunting. This feature will be provided in Cppcheck premium. 2022-04-11 07:31:33 +02:00
aboutdialog.cpp Update copyright year 2022-05-21 12:18:27 +02:00
aboutdialog.h Update copyright year 2023-06-21 19:58:11 +02:00
application.cpp Update copyright year 2023-01-28 10:16:34 +01:00
application.h Update Copyrights 2022-08-28 14:22:12 +02:00
applicationdialog.cpp Update copyright year 2023-06-21 19:58:11 +02:00
applicationdialog.h Update copyright year 2023-06-21 19:58:11 +02:00
applicationdialog.ui use forward declarations for Ui:: objects / renamed *.ui files to mat… (#3796) 2022-03-19 19:54:20 +01:00
applicationlist.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
applicationlist.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
checkstatistics.cpp Update copyright year 2023-06-21 19:58:11 +02:00
checkstatistics.h Update copyright year 2023-06-21 19:58:11 +02:00
checkthread.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
checkthread.h Do not crash on GUI shutdown (#5288) 2023-08-09 10:26:46 +02:00
codeeditor.cpp Fix #11842 FN constParameterPointer with library function (#5257) 2023-08-05 18:48:43 +02:00
codeeditor.h iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
codeeditorstyle.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
codeeditorstyle.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
codeeditstylecontrols.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
codeeditstylecontrols.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
codeeditstyledialog.cpp Update copyright year 2023-06-21 19:58:11 +02:00
codeeditstyledialog.h Update copyright year 2023-06-21 19:58:11 +02:00
common.cpp Update copyright year 2023-06-21 19:58:11 +02:00
common.h fixed some CLion inspection warnings (#4688) 2023-04-28 16:02:41 +02:00
compliancereportdialog.cpp cleaned up includes based on include-what-you-use / iwyu.yml: updated to yet another distro to get the latest version and updated the Chaotic-AUR key (#5267) 2023-08-02 10:36:17 +02:00
compliancereportdialog.h cleaned up includes based on include-what-you-use / iwyu.yml: updated to yet another distro to get the latest version and updated the Chaotic-AUR key (#5267) 2023-08-02 10:36:17 +02:00
compliancereportdialog.ui Add zephyr.cfg (#5201) 2023-06-27 13:34:58 +02:00
cppcheck-gui.desktop
cppcheck-gui.png
cppcheck-gui.rc added .gitattributes and normalized files (#4668) 2022-12-30 21:33:45 +01:00
cppcheck-gui.svg
cppcheck.ico
cppcheck_de.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_es.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_fi.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_fr.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_it.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_ja.ts Update Japanese translation (#5246) 2023-07-17 11:09:39 +02:00
cppcheck_ko.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_nl.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_ru.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_sr.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_sv.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_zh_CN.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppcheck_zh_TW.ts GUI: Update translations 2023-06-21 16:37:02 +02:00
cppchecklibrarydata.cpp Enable and mitigate readability-else-after-return (#5175) 2023-06-20 18:43:21 +02:00
cppchecklibrarydata.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
csvreport.cpp Update copyright year 2023-06-21 19:58:11 +02:00
csvreport.h mitigated most clang-tidy warnings in headers (#4175) 2022-07-26 11:10:03 +02:00
erroritem.cpp Update copyright year 2023-01-28 10:16:34 +01:00
erroritem.h Update copyright year 2023-01-28 10:16:34 +01:00
filelist.cpp Enable and mitigate readability-else-after-return (#5175) 2023-06-20 18:43:21 +02:00
filelist.h Update copyright year 2023-06-21 19:58:11 +02:00
fileview.ui use forward declarations for Ui:: objects / renamed *.ui files to mat… (#3796) 2022-03-19 19:54:20 +01:00
fileviewdialog.cpp Update copyright year 2023-06-21 19:58:11 +02:00
fileviewdialog.h Update copyright year 2023-06-21 19:58:11 +02:00
gui.cppcheck
gui.pro GUI: Add zh_TW translation (#5108) 2023-06-04 07:51:48 +02:00
gui.qrc GUI: Simple first hack to allow bughunting in the GUI 2020-02-04 21:20:43 +01:00
helpdialog.cpp Update copyright year 2023-06-21 19:58:11 +02:00
helpdialog.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
helpdialog.ui added .gitattributes and normalized files (#4668) 2022-12-30 21:33:45 +01:00
libraryaddfunctiondialog.cpp Update copyright year 2023-06-21 19:58:11 +02:00
libraryaddfunctiondialog.h Update copyright year 2023-06-21 19:58:11 +02:00
libraryaddfunctiondialog.ui
librarydialog.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
librarydialog.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
librarydialog.ui
libraryeditargdialog.cpp iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
libraryeditargdialog.h iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
libraryeditargdialog.ui enabled and fixed `readability-named-parameter` clang-tidy warnings (#4487) 2022-09-27 20:03:25 +02:00
main.cpp iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
mainwindow.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
mainwindow.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
mainwindow.ui GUI: Generate compliance report 2023-01-30 14:59:45 +01:00
newsuppressiondialog.cpp cleaned up includes based on `include-what-you-use` (#5021) 2023-04-30 07:33:19 +02:00
newsuppressiondialog.h Update copyright year 2023-06-21 19:58:11 +02:00
newsuppressiondialog.ui
platforms.cpp Update copyright year 2023-06-21 19:58:11 +02:00
platforms.h Update copyright year 2023-06-21 19:58:11 +02:00
precompiled.h cleaned up includes based on `include-what-you-use` (#4599) 2023-03-02 21:50:14 +01:00
precompiled_qmake.h Update copyright year 2022-02-05 11:45:17 +01:00
printablereport.cpp Update copyright year 2023-06-21 19:58:11 +02:00
printablereport.h Update copyright year 2023-06-21 19:58:11 +02:00
projectfile.cpp cleaned up includes based on include-what-you-use / iwyu.yml: updated to yet another distro to get the latest version and updated the Chaotic-AUR key (#5267) 2023-08-02 10:36:17 +02:00
projectfile.h Fix #11787 (GUI: configure check level) (#5206) 2023-06-28 19:55:57 +02:00
projectfile.txt
projectfile.ui Fix #11787 (GUI: configure check level) (#5206) 2023-06-28 19:55:57 +02:00
projectfiledialog.cpp cleaned up includes based on include-what-you-use / iwyu.yml: updated to yet another distro to get the latest version and updated the Chaotic-AUR key (#5267) 2023-08-02 10:36:17 +02:00
projectfiledialog.h iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
readme.txt make sure we remove obsolete entries from translations (#3995) 2022-04-11 11:25:08 +02:00
report.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
report.h enabled and fixed `modernize-pass-by-value` clang-tidy warnings (#4169) 2022-07-28 22:51:45 +02:00
resultstree.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
resultstree.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
resultsview.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
resultsview.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
resultsview.ui Remove bug hunting. This feature will be provided in Cppcheck premium. 2022-04-11 07:31:33 +02:00
scratchpad.cpp Update copyright year 2023-06-21 19:58:11 +02:00
scratchpad.h Update copyright year 2023-06-21 19:58:11 +02:00
scratchpad.ui added .gitattributes and normalized files (#4668) 2022-12-30 21:33:45 +01:00
settings.ui GUI: Re-enable misra interface in open source GUI 2022-12-31 16:08:23 +01:00
settingsdialog.cpp iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
settingsdialog.h iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
showtypes.cpp Update copyright year 2022-02-05 11:45:17 +01:00
showtypes.h Update copyright year 2022-02-05 11:45:17 +01:00
statsdialog.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
statsdialog.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
statsdialog.ui use forward declarations for Ui:: objects / renamed *.ui files to mat… (#3796) 2022-03-19 19:54:20 +01:00
threadhandler.cpp Do not crash on GUI shutdown (#5288) 2023-08-09 10:26:46 +02:00
threadhandler.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
threadresult.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
threadresult.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
translationhandler.cpp Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
translationhandler.h Use in-class initializers, default constructors, class -> struct (#4842) 2023-08-08 11:05:02 +02:00
txtreport.cpp Update copyright year 2023-06-21 19:58:11 +02:00
txtreport.h Update copyright year 2023-06-21 19:58:11 +02:00
xmlreport.cpp Enable and mitigate readability-else-after-return (#5175) 2023-06-20 18:43:21 +02:00
xmlreport.h Update copyright year 2022-02-05 11:45:17 +01:00
xmlreportv2.cpp Update copyright year 2023-06-21 19:58:11 +02:00
xmlreportv2.h Update copyright year 2023-06-21 19:58:11 +02:00

readme.txt

Cppcheck GUI
============
This is a GUI for cppcheck. It allows selecting folder or set of files to check
with cppcheck and shows list of found errors.

Running
-------
You need Qt5 libraries installed in your system. Packages/files to install
depends on your operating system:
- Windows: download Qt from http://www.qt.io/download/
- Linux: install Qt using your package manager, look for packages having Qt
  in their name, e.g. for Ubuntu install libqt5core5a, libqt5gui5, libqt5widgets5 
  and libqt5printsupport5.

Compiling
---------
Windows:
- The easy ways are:
-- download Qt SDK from http://www.qt.io/download/ and use
   QtCreator to build the GUI.
-- Download precompiled libraries for your platform and use your preferred
   IDE/environment to build GUI. Be careful to download the correct version of
   library for your compiler!
- The harder way is to download Qt sources and build Qt. Compiling Qt alone may
  take over 4 hours!

Linux:
- Install Qt development packages (make sure qmake -tool gets installed!). The
  names depend on distribution, but e.g. for Ubuntu the needed packages are:
  * qt5-default 

After you have needed libraries and tools installed, open command
prompt/console, go to gui directory and run command:
- qmake (in Linux and in Windows if build with MinGW/gcc or nmake)
- qmake -tp vc (to generate Visual Studio project file)
- qmake -tp vc LINKCORE=yes (to generate Visual Studio project file, linking
                             dynamically to core. Recommended.)

On Windows, you have to either call qtvars.bat in Qt folder or use the Qt command
line prompt shortcut added in the start menu by Qt installation.

These commands generate makefiles to actually build the software. After that
the actual building is done in IDE or command line as usual. Note that you
don't need to run qmake again unless you add/remove files from the project.

The Visual Studio solution does not contain a configuration for x64 platform, but
it can be added easily.

Tests
-----
There are tests for the GUI in gui/test -directory. There is test.pro
-projectfile for building all the tests. Each test is in own subdirectory and
builds own binary. Test is run by simple running that binary. The binary also
has several options to select tests etc. You can get the help by running
"binaryname -help" -command.

Translations
------------
The GUI is translated to several languages. Qt comes with two tools to update
and compile the translations. lupdate updates translations files from the code
and lrelease compiles translation files use with the executable.

To update translations:
- run "lupdate gui.pro -no-obsolete" to update the translation files to match the code. This
  command updates all the .ts files. Which can be then edited to translate
  the application.

To compile translations:
- run "lrelease gui.pro" to compile .ts files to .qm files which are used by the
  executable.