mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-31 05:42:26 -04:00
Enhance the ADIF parser to accept newlines between fields
ADIF allows any characters between fields to aid readability. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8082 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
1b1936d8d2
commit
8db9f1fc54
@ -58,16 +58,27 @@ void ADIF::load()
|
|||||||
QFile inputFile(_filename);
|
QFile inputFile(_filename);
|
||||||
if (inputFile.open(QIODevice::ReadOnly))
|
if (inputFile.open(QIODevice::ReadOnly))
|
||||||
{
|
{
|
||||||
QTextStream in(&inputFile);
|
QTextStream in(&inputFile);
|
||||||
while ( !in.atEnd() )
|
QString record;
|
||||||
|
|
||||||
|
// skip header record
|
||||||
|
while (!in.atEnd () && !record.contains ("<EOH>", Qt::CaseInsensitive))
|
||||||
{
|
{
|
||||||
QString line = in.readLine();
|
record += in.readLine ();
|
||||||
QSO q;
|
}
|
||||||
q.call = _extractField(line,"CALL:");
|
while ( !in.atEnd() )
|
||||||
q.band = _extractField(line,"BAND:");
|
{
|
||||||
q.mode = _extractField(line,"MODE:");
|
record.clear ();
|
||||||
q.date = _extractField(line,"QSO_DATE:");
|
while (!in.atEnd () && !record.contains ("<EOR>", Qt::CaseInsensitive))
|
||||||
if (q.call != "")
|
{
|
||||||
|
record += in.readLine ();
|
||||||
|
}
|
||||||
|
QSO q;
|
||||||
|
q.call = _extractField(record,"CALL:");
|
||||||
|
q.band = _extractField(record,"BAND:");
|
||||||
|
q.mode = _extractField(record,"MODE:");
|
||||||
|
q.date = _extractField(record,"QSO_DATE:");
|
||||||
|
if (q.call != "")
|
||||||
_data.insert(q.call,q);
|
_data.insert(q.call,q);
|
||||||
}
|
}
|
||||||
inputFile.close();
|
inputFile.close();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user