@@ -70,21 +70,22 @@ QString ErrorItem::tool() const
7070
7171QString ErrorItem::toString () const
7272{
73- QString str = errorPath.back ().file + " - " + errorId + " - " ;
73+ const int i = getMainLocIndex ();
74+ QString ret = errorPath[i].file + " :" + QString::number (errorPath[i].line ) + " :" + QString::number (errorPath[i].column ) + " :" ;
75+ ret += GuiSeverity::toString (severity);
7476 if (inconclusive)
75- str += " inconclusive " ;
76- str += GuiSeverity::toString (severity) +" \n " ;
77- str += summary + " \n " ;
78- str += message + " \n " ;
79- for (const QErrorPathItem& i : errorPath) {
80- str += " " + i.file + " : " + QString::number (i.line ) + " \n " ;
77+ ret += " ,inconclusive" ;
78+ ret += " : " + summary + " [" + errorId + " ]" ;
79+ if (errorPath.size () >= 2 ) {
80+ for (const auto & e: errorPath)
81+ ret += " \n " + e.file + " :" + QString::number (e.line ) + " :" + QString::number (e.column ) + " :note: " + e.info ;
8182 }
82- return str ;
83+ return ret ;
8384}
8485
85- bool ErrorItem::sameCID (const ErrorItem &errorItem1, const ErrorItem &errorItem2)
86+ bool ErrorItem::same (const ErrorItem &errorItem1, const ErrorItem &errorItem2)
8687{
87- if (errorItem1.hash || errorItem2.hash )
88+ if (errorItem1.hash && errorItem2.hash )
8889 return errorItem1.hash == errorItem2.hash ;
8990
9091 // fallback
@@ -95,3 +96,20 @@ bool ErrorItem::sameCID(const ErrorItem &errorItem1, const ErrorItem &errorItem2
9596 errorItem1.inconclusive == errorItem2.inconclusive &&
9697 errorItem1.severity == errorItem2.severity ;
9798}
99+
100+ bool ErrorItem::filterMatch (const QString& filter) const
101+ {
102+ if (filter.isEmpty ())
103+ return true ;
104+ if (summary.contains (filter, Qt::CaseInsensitive) ||
105+ message.contains (filter, Qt::CaseInsensitive) ||
106+ errorId.contains (filter, Qt::CaseInsensitive) ||
107+ classification.contains (filter, Qt::CaseInsensitive))
108+ return true ;
109+ for (const auto & e: errorPath) {
110+ if (e.file .contains (filter, Qt::CaseInsensitive) ||
111+ e.info .contains (filter, Qt::CaseInsensitive))
112+ return true ;
113+ }
114+ return false ;
115+ }
0 commit comments