CSVModelWriter::CSVModelWriter(const QString &filename, QObject *parent) :
QObject(parent),
- filename(filename)
+ filename(filename), model(0)
{
}
static void writeValue(QTextStream &f, const QString &value)
{
- // TODO: quoting if " or \n in string
- f << "\"" << value << "\"";
+ QString escaped = value;
+ escaped.replace('"', "\"\"");
+ f << "\"" << escaped << "\"";
}
static void writeSep(QTextStream &f)
return false;
QTextStream out(&file);
- int numRows = model->rowCount();
+ int numRows = 0;
+ if(model)
+ {
+ numRows = model->rowCount();
+ }
// Header row
for(int i=0; i<columns.size(); ++i)