CSV import dialog. Display cell separator in preview

This commit is contained in:
Bjørn Erik Jensen 2017-11-29 13:51:54 +01:00
parent 7fa9b15716
commit 7f02791aba
2 changed files with 7 additions and 21 deletions

View File

@ -136,7 +136,8 @@ QString RifCsvUserDataParser::previewText(int lineCount, const AsciiDataParseOpt
outStream << "<tr>";
int iCol = 0;
for (const QString& cellData : splitLineAndTrim(line, parseOptions.cellSeparator))
QStringList cols = splitLineAndTrim(line, parseOptions.cellSeparator);
for (const QString& cellData : cols)
{
if (cellData == parseOptions.timeSeriesColumnName && header)
{
@ -151,6 +152,10 @@ QString RifCsvUserDataParser::previewText(int lineCount, const AsciiDataParseOpt
}
outStream << ">";
outStream << cellData;
if (iCol < cols.size() - 1 && (parseOptions.cellSeparator == ";" || parseOptions.cellSeparator == ","))
{
outStream << parseOptions.cellSeparator;
}
outStream << (header ? "</th>" : "</td>");
iCol++;
@ -164,7 +169,7 @@ QString RifCsvUserDataParser::previewText(int lineCount, const AsciiDataParseOpt
outStream << "</Table>";
closeDataStream();
return columnifyText(preview, parseOptions.cellSeparator);
return preview;
}
//--------------------------------------------------------------------------------------------------
@ -334,24 +339,6 @@ bool RifCsvUserDataParser::parseData(const AsciiDataParseOptions& parseOptions)
return !errors;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RifCsvUserDataParser::columnifyText(const QString& text, const QString& cellSeparator)
{
QString pretty = text;
if (!cellSeparator.isEmpty())
{
if (cellSeparator == ";" || cellSeparator == ",")
{
pretty = pretty.replace(cellSeparator, QString("\t") + cellSeparator);
}
}
return pretty;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -66,7 +66,6 @@ private:
const AsciiDataParseOptions& parseOptions,
std::vector<Column>* columnInfoList);
bool parseData(const AsciiDataParseOptions& parseOptions);
QString columnifyText(const QString& text, const QString& cellSeparator);
static QStringList splitLineAndTrim(const QString& line, const QString& separator);
static QDateTime tryParseDateTime(const std::string& colData, const QString& format);