From e4250f890e3619bef1a71881e0dae35086a7f862 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Mon, 10 Feb 2020 20:24:36 +0100 Subject: [PATCH] GUI: Show bughunting report --- gui/mainwindow.cpp | 2 ++ gui/resultsview.cpp | 5 +++++ gui/resultsview.h | 5 +++++ gui/resultsview.ui | 22 ++++++++++++++++++++++ gui/threadhandler.cpp | 3 +++ gui/threadhandler.h | 2 ++ gui/threadresult.cpp | 9 ++++++++- gui/threadresult.h | 5 ++++- 8 files changed, 51 insertions(+), 2 deletions(-) diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 501ff6e07..819af903c 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -136,6 +136,7 @@ MainWindow::MainWindow(TranslationHandler* th, QSettings* settings) : connect(mThread, &ThreadHandler::done, this, &MainWindow::analysisDone); connect(mThread, &ThreadHandler::log, mUI.mResults, &ResultsView::log); connect(mThread, &ThreadHandler::debugError, mUI.mResults, &ResultsView::debugError); + connect(mThread, &ThreadHandler::bughuntingReportLine, mUI.mResults, &ResultsView::bughuntingReportLine); connect(mUI.mResults, &ResultsView::gotResults, this, &MainWindow::resultsAdded); connect(mUI.mResults, &ResultsView::resultsHidden, mUI.mActionShowHidden, &QAction::setEnabled); connect(mUI.mResults, &ResultsView::checkSelected, this, &MainWindow::performSelectedFilesCheck); @@ -841,6 +842,7 @@ Settings MainWindow::getCppcheckSettings() result.clang = mProjectFile->clangParser; result.bugHunting = mProjectFile->bugHunting; + result.bugHuntingReport = " "; const QStringList undefines = mProjectFile->getUndefines(); foreach (QString undefine, undefines) diff --git a/gui/resultsview.cpp b/gui/resultsview.cpp index 0bd9b8a57..26ea4a51f 100644 --- a/gui/resultsview.cpp +++ b/gui/resultsview.cpp @@ -433,6 +433,11 @@ void ResultsView::debugError(const ErrorItem &item) mUI.mListLog->addItem(item.ToString()); } +void ResultsView::bughuntingReportLine(QString line) +{ + mUI.mListSafeFunctions->addItem(line); +} + void ResultsView::logClear() { mUI.mListLog->clear(); diff --git a/gui/resultsview.h b/gui/resultsview.h index e4ac4b26b..269cf7ff5 100644 --- a/gui/resultsview.h +++ b/gui/resultsview.h @@ -323,6 +323,11 @@ public slots: */ void debugError(const ErrorItem &item); + /** + * \brief bughunting report line + */ + void bughuntingReportLine(QString line); + /** * \brief Clear log messages */ diff --git a/gui/resultsview.ui b/gui/resultsview.ui index 356cf0de7..cb1c32b67 100644 --- a/gui/resultsview.ui +++ b/gui/resultsview.ui @@ -153,6 +153,28 @@ + + + Safe functions + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + diff --git a/gui/threadhandler.cpp b/gui/threadhandler.cpp index 103da7631..2562d624b 100644 --- a/gui/threadhandler.cpp +++ b/gui/threadhandler.cpp @@ -194,6 +194,9 @@ void ThreadHandler::initialize(ResultsView *view) connect(&mResults, &ThreadResult::debugError, this, &ThreadHandler::debugError); + + connect(&mResults, &ThreadResult::bughuntingReportLine, + this, &ThreadHandler::bughuntingReportLine); } void ThreadHandler::loadSettings(QSettings &settings) diff --git a/gui/threadhandler.h b/gui/threadhandler.h index ca1702950..ceb276f82 100644 --- a/gui/threadhandler.h +++ b/gui/threadhandler.h @@ -189,6 +189,8 @@ signals: void debugError(const ErrorItem &item); + void bughuntingReportLine(QString line); + public slots: /** diff --git a/gui/threadresult.cpp b/gui/threadresult.cpp index 0bc894f80..722bd049f 100644 --- a/gui/threadresult.cpp +++ b/gui/threadresult.cpp @@ -27,7 +27,7 @@ #include "errorlogger.h" #include "threadresult.h" -ThreadResult::ThreadResult() : mMaxProgress(0), mProgress(0), mFilesChecked(0), mTotalFiles(0) +ThreadResult::ThreadResult() : QObject(), ErrorLogger(), mMaxProgress(0), mProgress(0), mFilesChecked(0), mTotalFiles(0) { //ctor } @@ -137,3 +137,10 @@ int ThreadResult::getFileCount() const QMutexLocker locker(&mutex); return mFiles.size() + mFileSettings.size(); } + +void ThreadResult::bughuntingReport(const std::string &str) +{ + if (str.empty()) + return; + emit bughuntingReportLine(QString::fromStdString(str)); +} diff --git a/gui/threadresult.h b/gui/threadresult.h index 99f7edee7..9a0f0eea5 100644 --- a/gui/threadresult.h +++ b/gui/threadresult.h @@ -74,7 +74,7 @@ public: */ void reportOut(const std::string &outmsg) override; void reportErr(const ErrorLogger::ErrorMessage &msg) override; - void bughuntingReport(const std::string &/*str*/) override {} + void bughuntingReport(const std::string &str) override; public slots: @@ -112,6 +112,9 @@ signals: */ void debugError(const ErrorItem &item); + /** @brief bug hunting report */ + void bughuntingReportLine(QString line); + protected: /**