Skip to content

Commit f894b19

Browse files
committed
GUI: Add errors read from XML report to GUI.
1 parent 9a51660 commit f894b19

4 files changed

Lines changed: 29 additions & 13 deletions

File tree

gui/report.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818

1919
#include <QFile>
20+
#include "erroritem.h"
2021
#include "report.h"
2122

2223
Report::Report(const QString &filename, QObject * parent) :

gui/resultsview.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,10 +229,11 @@ void ResultsView::DisableProgressbar()
229229
void ResultsView::ReadErrorsXml(const QString &filename)
230230
{
231231
XmlReport *report = new XmlReport(filename, this);
232+
QList<ErrorLine> errors;
232233
if (report)
233234
{
234235
if (report->Open())
235-
report->Read();
236+
errors = report->Read();
236237
else
237238
{
238239
QMessageBox msgBox;
@@ -250,4 +251,11 @@ void ResultsView::ReadErrorsXml(const QString &filename)
250251
msgBox.setIcon(QMessageBox::Critical);
251252
msgBox.exec();
252253
}
254+
255+
ErrorLine line;
256+
foreach(line, errors)
257+
{
258+
ErrorItem item(line);
259+
mUI.mTree->AddErrorItem(item);
260+
}
253261
}

gui/xmlreport.cpp

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <QFile>
2020
#include <QXmlStreamWriter>
2121
#include <qdebug>
22+
#include "erroritem.h"
2223
#include "xmlreport.h"
2324

2425
static const char ResultElementName[] = "results";
@@ -96,13 +97,14 @@ void XmlReport::WriteError(const ErrorItem &error)
9697
mXmlWriter->writeEndElement();
9798
}
9899

99-
void XmlReport::Read()
100+
QList<ErrorLine> XmlReport::Read()
100101
{
102+
QList<ErrorLine> errors;
101103
bool insideResults = false;
102104
if (!mXmlReader)
103105
{
104106
qDebug() << "You must Open() the file before reading it!";
105-
return;
107+
return errors;
106108
}
107109
while (!mXmlReader->atEnd())
108110
{
@@ -114,7 +116,10 @@ void XmlReport::Read()
114116

115117
// Read error element from inside result element
116118
if (insideResults && mXmlReader->name() == ErrorElementName)
117-
ReadError(mXmlReader);
119+
{
120+
ErrorLine line = ReadError(mXmlReader);
121+
errors.append(line);
122+
}
118123
break;
119124

120125
case QXmlStreamReader::EndElement:
@@ -135,18 +140,20 @@ void XmlReport::Read()
135140
break;
136141
}
137142
}
143+
return errors;
138144
}
139145

140-
void XmlReport::ReadError(QXmlStreamReader *reader)
146+
ErrorLine XmlReport::ReadError(QXmlStreamReader *reader)
141147
{
148+
ErrorLine line;
142149
if (reader->name().toString() == ErrorElementName)
143150
{
144151
QXmlStreamAttributes attribs = reader->attributes();
145-
QString filename = attribs.value("", FilenameAttribute).toString();
146-
QString line = attribs.value("", LineAttribute).toString();
147-
QString id = attribs.value("", IdAttribute).toString();
148-
QString severity = attribs.value("", SeverityAttribute).toString();
149-
QString msg = attribs.value("", MsgAttribute).toString();
150-
qDebug() << "Error: " << filename << " " << line << " " << id << " " << severity << " " << msg;
152+
line.file = attribs.value("", FilenameAttribute).toString();
153+
line.line = attribs.value("", LineAttribute).toString();
154+
line.id = attribs.value("", IdAttribute).toString();
155+
line.severity = attribs.value("", SeverityAttribute).toString();
156+
line.msg = attribs.value("", MsgAttribute).toString();
151157
}
158+
return line;
152159
}

gui/xmlreport.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ class XmlReport : public Report
7272
/**
7373
* @brief Read contents of the report file.
7474
*/
75-
void Read();
75+
QList<ErrorLine> Read();
7676

7777
protected:
7878
/**
7979
* @brief Read and parse error item from XML stream.
8080
* @param reader XML stream reader to use.
8181
*/
82-
void ReadError(QXmlStreamReader *reader);
82+
ErrorLine ReadError(QXmlStreamReader *reader);
8383

8484
private:
8585
/**

0 commit comments

Comments
 (0)