Git commit 60335a8af577fd97d94869f2e674258c674da02d by Stefan Gerlach. Committed on 30/06/2017 at 19:14. Pushed by sgerlach into branch 'master'. improved code for storing vector names in import M +7 -14 src/backend/datasources/filters/AsciiFilter.cpp M +1 -2 src/backend/datasources/filters/AsciiFilter.h M +1 -2 src/backend/datasources/filters/AsciiFilterPrivate.h M +1 -1 src/kdefrontend/datasources/ImportFileWidget.cpp https://commits.kde.org/labplot/60335a8af577fd97d94869f2e674258c674da02d diff --git a/src/backend/datasources/filters/AsciiFilter.cpp b/src/backend/= datasources/filters/AsciiFilter.cpp index 4e7e8b6b..710d8fe1 100644 --- a/src/backend/datasources/filters/AsciiFilter.cpp +++ b/src/backend/datasources/filters/AsciiFilter.cpp @@ -292,13 +292,10 @@ bool AsciiFilter::simplifyWhitespacesEnabled() const { } = void AsciiFilter::setVectorNames(const QString s) { - d->vectorNames =3D s.simplified(); + d->vectorNames =3D s.simplified().split(' '); } -/*QString AsciiFilter::vectorNames() const { +QStringList AsciiFilter::vectorNames() const { return d->vectorNames; -}*/ -QStringList AsciiFilter::vectorNameList() const { - return d->vectorNameList; } = QVector AsciiFilter::columnModes() { @@ -403,14 +400,10 @@ int AsciiFilterPrivate::prepareDeviceToRead(QIODevice= & device) { DEBUG("headerEnabled =3D " << headerEnabled); = if (headerEnabled) { // use first line to name vectors - vectorNameList =3D firstLineStringList; + vectorNames =3D firstLineStringList; startRow++; - } else { - // create vector names out of the space separated vectorNames-string, if= not empty - if (!vectorNames.isEmpty()) - vectorNameList =3D vectorNames.split(' '); } - QDEBUG("vector names =3D" << vectorNameList); + QDEBUG("vector names =3D" << vectorNames); = // set range to read if (endColumn =3D=3D -1) @@ -520,7 +513,7 @@ QVector AsciiFilterPrivate::readDataFromDe= vice(QIODevice& device, A QVector dataContainer; // pointers to the actual data containers if (dataSource) columnOffset =3D dataSource->prepareImport(dataContainer, importMode, m_= actualRows - startRow + 1, - m_actualCols, vectorNameList, columnModes); + m_actualCols, vectorNames, columnModes); = // Read the data int currentRow =3D 0; // indexes the position in the vector(column) @@ -661,7 +654,7 @@ void AsciiFilter::save(QXmlStreamWriter* writer) const { writer->writeAttribute( "separatingCharacter", d->separatingCharacter ); writer->writeAttribute( "autoMode", QString::number(d->autoModeEnabled) ); writer->writeAttribute( "header", QString::number(d->headerEnabled) ); - writer->writeAttribute( "vectorNames", d->vectorNames); + writer->writeAttribute( "vectorNames", d->vectorNames.join(' ')); writer->writeAttribute( "skipEmptyParts", QString::number(d->skipEmptyPar= ts) ); writer->writeAttribute( "simplifyWhitespaces", QString::number(d->simplif= yWhitespacesEnabled) ); writer->writeAttribute( "transposed", QString::number(d->transposed) ); @@ -709,7 +702,7 @@ bool AsciiFilter::load(XmlStreamReader* reader) { d->headerEnabled =3D str.toInt(); = str =3D attribs.value("vectorNames").toString(); - d->vectorNames =3D str; //may be empty + d->vectorNames =3D str.split(' '); //may be empty = str =3D attribs.value("simplifyWhitespaces").toString(); if (str.isEmpty()) diff --git a/src/backend/datasources/filters/AsciiFilter.h b/src/backend/da= tasources/filters/AsciiFilter.h index 51cbf0ff..d775cb14 100644 --- a/src/backend/datasources/filters/AsciiFilter.h +++ b/src/backend/datasources/filters/AsciiFilter.h @@ -83,8 +83,7 @@ public: bool isTransposed() const; = void setVectorNames(const QString); -// QString vectorNames() const; - QStringList vectorNameList() const; + QStringList vectorNames() const; QVector columnModes(); = void setStartRow(const int); diff --git a/src/backend/datasources/filters/AsciiFilterPrivate.h b/src/bac= kend/datasources/filters/AsciiFilterPrivate.h index 169f3d06..91cf1148 100644 --- a/src/backend/datasources/filters/AsciiFilterPrivate.h +++ b/src/backend/datasources/filters/AsciiFilterPrivate.h @@ -57,8 +57,7 @@ public: bool skipEmptyParts; bool simplifyWhitespacesEnabled; bool transposed; - QString vectorNames; // TODO: we need only one of them - QStringList vectorNameList; + QStringList vectorNames; QVector columnModes; int startRow; int endRow; diff --git a/src/kdefrontend/datasources/ImportFileWidget.cpp b/src/kdefron= tend/datasources/ImportFileWidget.cpp index 6d070c9a..b07322d2 100644 --- a/src/kdefrontend/datasources/ImportFileWidget.cpp +++ b/src/kdefrontend/datasources/ImportFileWidget.cpp @@ -893,7 +893,7 @@ void ImportFileWidget::refreshPreview() { AsciiFilter *filter =3D (AsciiFilter *)this->currentFileFilter(); importedStrings =3D filter->readDataFromFile(fileName, nullptr, Abstract= FileFilter::Replace, lines); tmpTableWidget =3D twPreview; - vectorNameList =3D filter->vectorNameList(); + vectorNameList =3D filter->vectorNames(); columnModes =3D filter->columnModes(); break; }