Skip to content

Commit 81449a8

Browse files
committed
GUI: Refactoring xmlreport to use pointer to stream writing class.
1 parent 2e03e60 commit 81449a8

2 files changed

Lines changed: 17 additions & 15 deletions

File tree

gui/xmlreport.cpp

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@
2121
#include "xmlreport.h"
2222

2323
XmlReport::XmlReport(const QString &filename, QObject * parent) :
24-
Report(filename, parent)
24+
Report(filename, parent),
25+
mXmlWriter(NULL)
2526
{
2627
}
2728

2829
XmlReport::~XmlReport()
2930
{
31+
delete mXmlWriter;
3032
Close();
3133
}
3234

@@ -35,23 +37,23 @@ bool XmlReport::Create()
3537
bool success = false;
3638
if (Report::Create())
3739
{
38-
mXmlWriter.setDevice(Report::GetFile());
40+
mXmlWriter = new QXmlStreamWriter(Report::GetFile());
3941
success = true;
4042
}
4143
return success;
4244
}
4345

4446
void XmlReport::WriteHeader()
4547
{
46-
mXmlWriter.setAutoFormatting(true);
47-
mXmlWriter.writeStartDocument();
48-
mXmlWriter.writeStartElement("results");
48+
mXmlWriter->setAutoFormatting(true);
49+
mXmlWriter->writeStartDocument();
50+
mXmlWriter->writeStartElement("results");
4951
}
5052

5153
void XmlReport::WriteFooter()
5254
{
53-
mXmlWriter.writeEndElement();
54-
mXmlWriter.writeEndDocument();
55+
mXmlWriter->writeEndElement();
56+
mXmlWriter->writeEndDocument();
5557
}
5658

5759
void XmlReport::WriteError(const QStringList &files, const QStringList &lines,
@@ -63,11 +65,11 @@ void XmlReport::WriteError(const QStringList &files, const QStringList &lines,
6365
The callstack seems to be ignored here aswell, instead last item of the stack is used
6466
*/
6567

66-
mXmlWriter.writeStartElement("error");
67-
mXmlWriter.writeAttribute("file", files[files.size() - 1]);
68-
mXmlWriter.writeAttribute("line", lines[lines.size() - 1]);
69-
mXmlWriter.writeAttribute("id", id);
70-
mXmlWriter.writeAttribute("severity", severity);
71-
mXmlWriter.writeAttribute("msg", msg);
72-
mXmlWriter.writeEndElement();
68+
mXmlWriter->writeStartElement("error");
69+
mXmlWriter->writeAttribute("file", files[files.size() - 1]);
70+
mXmlWriter->writeAttribute("line", lines[lines.size() - 1]);
71+
mXmlWriter->writeAttribute("id", id);
72+
mXmlWriter->writeAttribute("severity", severity);
73+
mXmlWriter->writeAttribute("msg", msg);
74+
mXmlWriter->writeEndElement();
7375
}

gui/xmlreport.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class XmlReport : public Report
6868
/**
6969
* @brief XML stream writer for writing the report in XML format.
7070
*/
71-
QXmlStreamWriter mXmlWriter;
71+
QXmlStreamWriter *mXmlWriter;
7272
};
7373
/// @}
7474
#endif // XML_REPORT_H

0 commit comments

Comments
 (0)