Can now hide and show results based on cpp flags.
This commit is contained in:
parent
592ff8ba3c
commit
856b3cd949
|
@ -0,0 +1,16 @@
|
|||
#ifndef COMMON_H
|
||||
#define COMMON_H
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
SHOW_ALL,
|
||||
SHOW_STYLE,
|
||||
SHOW_SECURITY,
|
||||
SHOW_UNUSED,
|
||||
SHOW_ERRORS,
|
||||
SHOW_NONE
|
||||
}
|
||||
ShowTypes;
|
||||
|
||||
#endif
|
|
@ -73,6 +73,13 @@ MainWindow::MainWindow() :
|
|||
connect(&mActionCheckDirectory, SIGNAL(triggered()), this, SLOT(CheckDirectory()));
|
||||
connect(&mActionSettings, SIGNAL(triggered()), this, SLOT(ProgramSettings()));
|
||||
connect(&mActionClearResults, SIGNAL(triggered()), this, SLOT(ClearResults()));
|
||||
|
||||
connect(&mActionShowAll, SIGNAL(toggled(bool)), this, SLOT(ShowAll(bool)));
|
||||
connect(&mActionShowSecurity, SIGNAL(toggled(bool)), this, SLOT(ShowSecurity(bool)));
|
||||
connect(&mActionShowStyle, SIGNAL(toggled(bool)), this, SLOT(ShowStyle(bool)));
|
||||
connect(&mActionShowUnused, SIGNAL(toggled(bool)), this, SLOT(ShowUnused(bool)));
|
||||
connect(&mActionShowErrors, SIGNAL(toggled(bool)), this, SLOT(ShowErrors(bool)));
|
||||
|
||||
connect(&mActionReCheck, SIGNAL(triggered()), this, SLOT(ReCheck()));
|
||||
connect(&mThread, SIGNAL(Done()), this, SLOT(CheckDone()));
|
||||
LoadSettings();
|
||||
|
@ -101,6 +108,12 @@ void MainWindow::LoadSettings()
|
|||
mActionShowStyle.setChecked(mSettings.value(tr("Show style"), true).toBool());
|
||||
mActionShowUnused.setChecked(mSettings.value(tr("Show unused"), true).toBool());
|
||||
mActionShowErrors.setChecked(mSettings.value(tr("Show errors"), true).toBool());
|
||||
|
||||
mResults.ShowResults(SHOW_ALL,mActionShowAll.isChecked());
|
||||
mResults.ShowResults(SHOW_ERRORS,mActionShowErrors.isChecked());
|
||||
mResults.ShowResults(SHOW_SECURITY,mActionShowSecurity.isChecked());
|
||||
mResults.ShowResults(SHOW_STYLE,mActionShowStyle.isChecked());
|
||||
mResults.ShowResults(SHOW_UNUSED,mActionShowUnused.isChecked());
|
||||
}
|
||||
|
||||
void MainWindow::SaveSettings()
|
||||
|
@ -254,3 +267,28 @@ void MainWindow::EnableCheckButtons(bool enable)
|
|||
mActionCheckDirectory.setEnabled(enable);
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::ShowAll(bool checked)
|
||||
{
|
||||
mResults.ShowResults(SHOW_ALL,checked);
|
||||
}
|
||||
|
||||
void MainWindow::ShowSecurity(bool checked)
|
||||
{
|
||||
mResults.ShowResults(SHOW_SECURITY,checked);
|
||||
}
|
||||
|
||||
void MainWindow::ShowStyle(bool checked)
|
||||
{
|
||||
mResults.ShowResults(SHOW_STYLE,checked);
|
||||
}
|
||||
|
||||
void MainWindow::ShowUnused(bool checked)
|
||||
{
|
||||
mResults.ShowResults(SHOW_UNUSED,checked);
|
||||
}
|
||||
|
||||
void MainWindow::ShowErrors(bool checked)
|
||||
{
|
||||
mResults.ShowResults(SHOW_ERRORS,checked);
|
||||
}
|
||||
|
|
|
@ -52,6 +52,12 @@ public slots:
|
|||
void ReCheck();
|
||||
void ClearResults();
|
||||
|
||||
void ShowAll(bool checked);
|
||||
void ShowSecurity(bool checked);
|
||||
void ShowStyle(bool checked);
|
||||
void ShowUnused(bool checked);
|
||||
void ShowErrors(bool checked);
|
||||
|
||||
/**
|
||||
* @brief Slot for check directory menu item
|
||||
*
|
||||
|
|
|
@ -63,20 +63,32 @@ void ResultsTree::AddErrorItem(const QString &file,
|
|||
if (realfile.isEmpty())
|
||||
realfile = "Undefined file";
|
||||
|
||||
QStandardItem *fileitem = FindFileItem(realfile);
|
||||
ErrorItem item;
|
||||
item.file = realfile;
|
||||
item.type = SeverityToShowType(severity);
|
||||
item.message = message;
|
||||
item.files = files;
|
||||
item.lines = lines;
|
||||
mItems<<item;
|
||||
|
||||
if (!fileitem)
|
||||
if (mShowTypes[item.type])
|
||||
{
|
||||
//qDebug()<<"No previous error for file"<<realfile;
|
||||
fileitem = CreateItem(realfile);
|
||||
mModel.appendRow(fileitem);
|
||||
AddItem(mItems.size()-1);
|
||||
}
|
||||
}
|
||||
|
||||
QList<QStandardItem*> list;
|
||||
list << CreateItem(severity);
|
||||
list << CreateItem(QString("%1").arg(lines[0]));
|
||||
list << CreateItem(message);
|
||||
fileitem->appendRow(list);
|
||||
ShowTypes ResultsTree::SeverityToShowType(const QString &severity)
|
||||
{
|
||||
if (severity == "all")
|
||||
return SHOW_ALL;
|
||||
if (severity == "error")
|
||||
return SHOW_ERRORS;
|
||||
if (severity == "style")
|
||||
return SHOW_STYLE;
|
||||
if (severity == "security")
|
||||
return SHOW_SECURITY;
|
||||
|
||||
return SHOW_NONE;
|
||||
}
|
||||
|
||||
QStandardItem *ResultsTree::FindFileItem(const QString &name)
|
||||
|
@ -90,6 +102,7 @@ QStandardItem *ResultsTree::FindFileItem(const QString &name)
|
|||
void ResultsTree::Clear()
|
||||
{
|
||||
mModel.removeRows(0, mModel.rowCount());
|
||||
mItems.clear();
|
||||
}
|
||||
|
||||
void ResultsTree::LoadSettings()
|
||||
|
@ -110,3 +123,71 @@ void ResultsTree::SaveSettings()
|
|||
mSettings.setValue(temp, columnWidth(i));
|
||||
}
|
||||
}
|
||||
|
||||
void ResultsTree::ShowResults(ShowTypes type, bool show)
|
||||
{
|
||||
if (type != SHOW_NONE)
|
||||
{
|
||||
if (mShowTypes[type] != show)
|
||||
{
|
||||
mShowTypes[type] = show;
|
||||
RefreshTree();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ResultsTree::RefreshTree()
|
||||
{
|
||||
mModel.removeRows(0, mModel.rowCount());
|
||||
for (int i=0;i<mItems.size();i++)
|
||||
{
|
||||
if (mShowTypes[mItems[i].type])
|
||||
{
|
||||
AddItem(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QString ResultsTree::ShowTypeToString(ShowTypes type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case SHOW_ALL:
|
||||
return "all";
|
||||
case SHOW_ERRORS:
|
||||
return "error";
|
||||
case SHOW_STYLE:
|
||||
return "style";
|
||||
case SHOW_SECURITY:
|
||||
return "security";
|
||||
case SHOW_UNUSED:
|
||||
return "unused";
|
||||
case SHOW_NONE:
|
||||
return "none";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
void ResultsTree::AddItem(int index)
|
||||
{
|
||||
if (index >= 0 && index < mItems.size())
|
||||
{
|
||||
QStandardItem *fileitem = FindFileItem(mItems[index].file);
|
||||
if (!fileitem)
|
||||
{
|
||||
//qDebug()<<"No previous error for file"<<realfile;
|
||||
fileitem = CreateItem(mItems[index].file);
|
||||
mModel.appendRow(fileitem);
|
||||
}
|
||||
|
||||
QList<QStandardItem*> list;
|
||||
list << CreateItem(ShowTypeToString(mItems[index].type));
|
||||
list << CreateItem(QString("%1").arg(mItems[index].lines[0]));
|
||||
list << CreateItem(mItems[index].message);
|
||||
fileitem->appendRow(list);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include <QStandardItemModel>
|
||||
#include <QStandardItem>
|
||||
#include <QSettings>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
/**
|
||||
* @brief Cppcheck's results are shown in this tree
|
||||
|
@ -55,7 +55,23 @@ public:
|
|||
*
|
||||
*/
|
||||
void Clear();
|
||||
|
||||
void ShowResults(ShowTypes type, bool show);
|
||||
protected:
|
||||
void AddItem(int index);
|
||||
void RefreshTree();
|
||||
ShowTypes SeverityToShowType(const QString &severity);
|
||||
QString ShowTypeToString(ShowTypes type);
|
||||
|
||||
typedef struct {
|
||||
QString file;
|
||||
ShowTypes type;
|
||||
QString message;
|
||||
QStringList files;
|
||||
QList<int> lines;
|
||||
}ErrorItem;
|
||||
|
||||
QList<ErrorItem> mItems;
|
||||
/**
|
||||
* @brief Load all settings
|
||||
* Colum widths
|
||||
|
@ -95,6 +111,8 @@ protected:
|
|||
*
|
||||
*/
|
||||
QSettings &mSettings;
|
||||
|
||||
bool mShowTypes[SHOW_NONE];
|
||||
private:
|
||||
};
|
||||
|
||||
|
|
|
@ -63,3 +63,8 @@ void ResultsView::Error(const QString &file,
|
|||
{
|
||||
mTree->AddErrorItem(file, severity, message, files, lines);
|
||||
}
|
||||
|
||||
void ResultsView::ShowResults(ShowTypes type, bool show)
|
||||
{
|
||||
mTree->ShowResults(type,show);
|
||||
}
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include <QProgressBar>
|
||||
#include "../src/errorlogger.h"
|
||||
#include "resultstree.h"
|
||||
#include "common.h"
|
||||
|
||||
|
||||
/**
|
||||
* @brief Widget to show cppcheck progressbar and result
|
||||
|
@ -35,9 +37,12 @@ class ResultsView : public QWidget
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
ResultsView(QSettings &settings);
|
||||
virtual ~ResultsView();
|
||||
|
||||
void ShowResults(ShowTypes type, bool show);
|
||||
|
||||
/**
|
||||
* @brief Clear results
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue