blob: 9e990dde708b523719cfd7940729ec1c44c53ac5 (
plain)
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
|
#ifndef DICCSVREADER_H
#define DICCSVREADER_H
#include <QFile>
#include <QString>
#include <QStringList>
#include <QRegExp>
#include <QTextStream>
#include "../export-import/CsvData.h"
class Dictionary;
class DicRecord;
class DicCsvReader
{
public:
DicCsvReader( Dictionary* aDict );
DicCsvReader(); // For reading entries
QFile::FileError readDict( const QString aCsvFilePath, const CsvImportData& aImportData );
QList<DicRecord*> readEntries( QString aCsvEntries, const CsvImportData& aImportData );
QStringList fieldNames() { return m_fieldNames; } // Last read field names
QString unescapeString( QString aString );
private:
void initData( const CsvImportData& aImportData );
int readLines( QTextStream& aInStream ); // Returns max number of fields
QStringList readFields( const QString aCsvLine );
private:
Dictionary* m_dict; // Not own
CsvImportData m_params;
QRegExp m_fieldSepRx;
QRegExp m_chunkEndRx;
QRegExp m_singleDelimiterRx;
QStringList m_fieldNames;
QList<DicRecord*> m_entries; // Created, but ownership is transfered to the client
};
#endif // DICCSVREADER_H
|