1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#include "csvformat.h"
#include <QtGlobal>
const CsvFormat CsvFormat::DEFAULT = {{","}, {"\r\n", "\n", "\r"}};
CsvFormat::CsvFormat()
{
}
CsvFormat::CsvFormat(const QString& columnSeparator, const QString& rowSeparator) :
columnSeparator(columnSeparator), rowSeparator(rowSeparator)
{
calculateSeparatorMaxLengths();
}
CsvFormat::CsvFormat(const QStringList &columnSeparators, const QStringList &rowSeparators)
{
if (rowSeparators.size() > 1)
{
this->rowSeparators = rowSeparators;
multipleRowSeparators = true;
strictRowSeparator = true;
}
else if (rowSeparators.size() > 0)
this->rowSeparator = rowSeparators.first();
if (columnSeparators.size() > 1)
{
this->columnSeparators = columnSeparators;
multipleColumnSeparators = true;
strictColumnSeparator = true;
}
else if (columnSeparators.size() > 0)
this->columnSeparator = columnSeparators.first();
calculateSeparatorMaxLengths();
}
CsvFormat::CsvFormat(const QString& columnSeparator, const QString& rowSeparator, bool strictRowSeparator, bool strictColumnSeparator) :
columnSeparator(columnSeparator), rowSeparator(rowSeparator), strictColumnSeparator(strictColumnSeparator), strictRowSeparator(strictRowSeparator)
{
calculateSeparatorMaxLengths();
}
void CsvFormat::calculateSeparatorMaxLengths()
{
maxColumnSeparatorLength = columnSeparator.length();
for (const QString& sep : columnSeparators)
maxColumnSeparatorLength = qMax(sep.length(), maxColumnSeparatorLength);
maxRowSeparatorLength = rowSeparator.length();
for (const QString& sep : rowSeparators)
maxRowSeparatorLength = qMax(sep.length(), maxRowSeparatorLength);
}
|