Repository navigation
Fix #15136 (gui: rewrite the online help) - #8959
Conversation
Extend the GUI help with detailed explanations and new screenshots: - rewrite the existing pages and describe every option in the project file dialog and the preferences - add pages for the main window, suppressions, results files/printing/ statistics, scratchpad/library editor, command line options and troubleshooting - add a shared stylesheet, a contents tree and index keywords - replace the old screenshots with new ones of the current GUI - remove the obsolete manual.html (Cppcheck 1.46) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dmcppcheck
left a comment
There was a problem hiding this comment.
AI review
This PR only changes documentation. I found one factual error, in tools.html: it says scratchpad code "can not include your own headers". That is wrong. The scratchpad analyzes the code with the include paths of the open project, so #include "myheader.h" works for headers in those folders.
Nothing else I checked was wrong:
- Every link, anchor and image in the HTML pages and in
online-help.qhpresolves. online-help.qhplists every file ingui/help, and nothing still refers to the deletedmanual.htmlor the old screenshots.- These parts match the GUI source:
- the command line options;
- the startup behaviour;
- the keyboard shortcuts and menu names;
- the default build dir name;
- which fields are disabled after an import;
- the import file types;
- the default file name in the scratchpad;
- the message about addons needing a build directory.
Testing
-
Build and tests: I did not build
cppcheckortestrunner, and I ran no tests. The PR touches onlygui/help(HTML, CSS, PNG and the.qhpfile), so no C++ code or test changes. The GUI andqhelpgeneratorare not available here, so I could not generate the help collection or view it. -
Links and files: I wrote a small Python checker (
scratch/chk.py, run withpython3 -I chk.py /work/pr/gui/help). For everyhrefandsrcin the help pages and everyrefinonline-help.qhp, it checks that the target file and the<a name=...>anchor exist. It also checks that every HTML, PNG and CSS file is listed in<files>and that every listed file exists. It printed no problems. The "Previous" / "Next" links form one consistent chain. -
Text against the source: I compared what the help says with the GUI code. Sources checked:
gui/main.cppandMainWindow::handleCLIParams(-p,-l,-d,.cppcheckand.xmlarguments);MainWindow::loadSettings(reopening the last project only when there are no arguments);- the shortcuts and menu texts in
mainwindow.ui; - the build dir name at
mainwindow.cpp:2069; ProjectFileDialog::updatePathsAndDefinesand the import filters;ResultsTree::keyPressEvent(Enter opens the editor);ScratchPad::checkButtonClicked(empty name meanstest.cpp).
Everything matched except the scratchpad remark about headers.
MainWindow::analyzeCodecallsgetCppcheckSettings, which adds the project's include folders to the settings (addIncludeDirsatmainwindow.cpp:1140), and then callscheckBufferwith those settings, so headers in the project's include folders are found.
Automated review of 715fe3c by Claude. The pull request was built and tested locally.
Extend the GUI help with detailed explanations and new screenshots: