cppcheck.cfg: support custom productname and about message
This commit is contained in:
parent
3630e9c49d
commit
4365704f14
|
@ -896,6 +896,7 @@ bool CmdLineParser::parseFromArgs(int argc, const char* const argv[])
|
|||
else if (std::strcmp(argv[i], "--version") == 0) {
|
||||
mShowVersion = true;
|
||||
mExitAfterPrint = true;
|
||||
mSettings->loadCppcheckCfg();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -109,6 +109,9 @@ bool CppCheckExecutor::parseFromArgs(CppCheck *cppcheck, int argc, const char* c
|
|||
|
||||
if (success) {
|
||||
if (parser.getShowVersion() && !parser.getShowErrorMessages()) {
|
||||
if (!settings.cppcheckCfgProductName.empty()) {
|
||||
std::cout << settings.cppcheckCfgProductName << std::endl;
|
||||
} else {
|
||||
const char * const extraVersion = CppCheck::extraVersion();
|
||||
if (*extraVersion != 0)
|
||||
std::cout << "Cppcheck " << CppCheck::version() << " ("
|
||||
|
@ -116,6 +119,7 @@ bool CppCheckExecutor::parseFromArgs(CppCheck *cppcheck, int argc, const char* c
|
|||
else
|
||||
std::cout << "Cppcheck " << CppCheck::version() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
if (parser.getShowErrorMessages()) {
|
||||
mShowAllErrors = true;
|
||||
|
|
|
@ -72,6 +72,13 @@ MainWindow::MainWindow(TranslationHandler* th, QSettings* settings) :
|
|||
mExiting(false),
|
||||
mIsLogfileLoaded(false)
|
||||
{
|
||||
{
|
||||
Settings tempSettings;
|
||||
tempSettings.loadCppcheckCfg();
|
||||
mCppcheckCfgProductName = QString::fromStdString(tempSettings.cppcheckCfgProductName);
|
||||
mCppcheckCfgAbout = QString::fromStdString(tempSettings.cppcheckCfgAbout);
|
||||
}
|
||||
|
||||
mUI->setupUi(this);
|
||||
mThread = new ThreadHandler(this);
|
||||
mUI->mResults->initialize(mSettings, mApplications, mThread);
|
||||
|
@ -1353,9 +1360,19 @@ void MainWindow::toggleAllChecked(bool checked)
|
|||
|
||||
void MainWindow::about()
|
||||
{
|
||||
if (!mCppcheckCfgAbout.isEmpty()) {
|
||||
QMessageBox msg(QMessageBox::Information,
|
||||
tr("About"),
|
||||
mCppcheckCfgAbout,
|
||||
QMessageBox::Ok,
|
||||
this);
|
||||
msg.exec();
|
||||
}
|
||||
else {
|
||||
AboutDialog *dlg = new AboutDialog(CppCheck::version(), CppCheck::extraVersion(), this);
|
||||
dlg->exec();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::showLicense()
|
||||
{
|
||||
|
@ -1442,6 +1459,9 @@ void MainWindow::formatAndSetTitle(const QString &text)
|
|||
nameWithVersion += " (" + extraVersion + ")";
|
||||
}
|
||||
|
||||
if (!mCppcheckCfgProductName.isEmpty())
|
||||
nameWithVersion = mCppcheckCfgProductName;
|
||||
|
||||
QString title;
|
||||
if (text.isEmpty())
|
||||
title = nameWithVersion;
|
||||
|
|
|
@ -475,6 +475,9 @@ private:
|
|||
* List of MRU menu actions. Needs also to store the separator.
|
||||
*/
|
||||
QAction *mRecentProjectActs[MaxRecentProjects + 1];
|
||||
|
||||
QString mCppcheckCfgAbout;
|
||||
QString mCppcheckCfgProductName;
|
||||
};
|
||||
/// @}
|
||||
#endif // MAINWINDOW_H
|
||||
|
|
|
@ -94,6 +94,10 @@ void Settings::loadCppcheckCfg()
|
|||
if (!picojson::get_last_error().empty())
|
||||
return;
|
||||
picojson::object obj = json.get<picojson::object>();
|
||||
if (obj.count("productName") && obj["productName"].is<std::string>())
|
||||
cppcheckCfgProductName = obj["productName"].get<std::string>();
|
||||
if (obj.count("about") && obj["about"].is<std::string>())
|
||||
cppcheckCfgAbout = obj["about"].get<std::string>();
|
||||
if (obj.count("addons") && obj["addons"].is<picojson::array>()) {
|
||||
for (const picojson::value &v : obj["addons"].get<picojson::array>()) {
|
||||
const std::string &s = v.get<std::string>();
|
||||
|
|
|
@ -153,6 +153,12 @@ public:
|
|||
/** @brief include paths excluded from checking the configuration */
|
||||
std::set<std::string> configExcludePaths;
|
||||
|
||||
/** cppcheck.cfg: Custom product name */
|
||||
std::string cppcheckCfgProductName;
|
||||
|
||||
/** cppcheck.cfg: About text */
|
||||
std::string cppcheckCfgAbout;
|
||||
|
||||
/** @brief Are we running from DACA script? */
|
||||
bool daca;
|
||||
|
||||
|
|
Loading…
Reference in New Issue