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>"; outStream << "<tr>";
int iCol = 0; 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) if (cellData == parseOptions.timeSeriesColumnName && header)
{ {
@@ -151,6 +152,10 @@ QString RifCsvUserDataParser::previewText(int lineCount, const AsciiDataParseOpt
} }
outStream << ">"; outStream << ">";
outStream << cellData; outStream << cellData;
if (iCol < cols.size() - 1 && (parseOptions.cellSeparator == ";" || parseOptions.cellSeparator == ","))
{
outStream << parseOptions.cellSeparator;
}
outStream << (header ? "</th>" : "</td>"); outStream << (header ? "</th>" : "</td>");
iCol++; iCol++;
@@ -164,7 +169,7 @@ QString RifCsvUserDataParser::previewText(int lineCount, const AsciiDataParseOpt
outStream << "</Table>"; outStream << "</Table>";
closeDataStream(); closeDataStream();
return columnifyText(preview, parseOptions.cellSeparator); return preview;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -334,24 +339,6 @@ bool RifCsvUserDataParser::parseData(const AsciiDataParseOptions& parseOptions)
return !errors; 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, const AsciiDataParseOptions& parseOptions,
std::vector<Column>* columnInfoList); std::vector<Column>* columnInfoList);
bool parseData(const AsciiDataParseOptions& parseOptions); bool parseData(const AsciiDataParseOptions& parseOptions);
QString columnifyText(const QString& text, const QString& cellSeparator);
static QStringList splitLineAndTrim(const QString& line, const QString& separator); static QStringList splitLineAndTrim(const QString& line, const QString& separator);
static QDateTime tryParseDateTime(const std::string& colData, const QString& format); static QDateTime tryParseDateTime(const std::string& colData, const QString& format);