From 58c2d452514bef81e5f03d34a7233912ab0e4698 Mon Sep 17 00:00:00 2001 From: gsherman Date: Fri, 26 Nov 2004 18:19:26 +0000 Subject: [PATCH] Fix for delimited text files having a delimiter at end of each line git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@2337 c8812cc2-4d05-0410-92ff-de0c093fc19c --- .../delimited_text/qgsdelimitedtextplugingui.cpp | 5 ++++- .../delimitedtext/qgsdelimitedtextprovider.cpp | 16 ++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/plugins/delimited_text/qgsdelimitedtextplugingui.cpp b/plugins/delimited_text/qgsdelimitedtextplugingui.cpp index 51fe173c8e3..509d2af27df 100644 --- a/plugins/delimited_text/qgsdelimitedtextplugingui.cpp +++ b/plugins/delimited_text/qgsdelimitedtextplugingui.cpp @@ -83,7 +83,7 @@ void QgsDelimitedTextPluginGui::updateFieldLists() " using delimiter " << txtDelimiter->text() << std::endl; #endif - QStringList fieldList = QStringList::split(QRegExp(txtDelimiter->text()), line, true); + QStringList fieldList = QStringList::split(QRegExp(txtDelimiter->text()), line); #ifdef QGISDEBUG std::cerr << "Split line into " << fieldList.size() << " parts" << std::endl; @@ -94,8 +94,11 @@ void QgsDelimitedTextPluginGui::updateFieldLists() int fieldPos = 0; for ( QStringList::Iterator it = fieldList.begin(); it != fieldList.end(); ++it ) { // add item to both drop-downs (X field and Y field) + if((*it).length() > 0) + { cmbXField->insertItem(*it); cmbYField->insertItem(*it); + } } // close the file file->close(); diff --git a/providers/delimitedtext/qgsdelimitedtextprovider.cpp b/providers/delimitedtext/qgsdelimitedtextprovider.cpp index f3fbd7963f3..e23ea3edc66 100644 --- a/providers/delimitedtext/qgsdelimitedtextprovider.cpp +++ b/providers/delimitedtext/qgsdelimitedtextprovider.cpp @@ -1,9 +1,9 @@ /*************************************************************************** qgsdelimitedtextprovider.cpp - Data provider for delimted text ------------------- -begin : 2004-02-27 -copyright : (C) 2004 by Gary E.Sherman -email : sherman at mrcc.com + begin : 2004-02-27 + copyright : (C) 2004 by Gary E.Sherman + email : sherman at mrcc.com ***************************************************************************/ /*************************************************************************** @@ -98,7 +98,11 @@ email : sherman at mrcc.com // We don't know anything about a text based field other // than its name. All fields are assumed to be text int fieldPos = 0; - for ( QStringList::Iterator it = fieldList.begin(); it != fieldList.end(); ++it ) { + for ( QStringList::Iterator it = fieldList.begin(); it != fieldList.end(); ++it ) + { + QString field = *it; + if(field.length() > 0) + { attributeFields.push_back(QgsField(*it, "Text")); fieldPositions[*it] = fieldPos++; // check to see if this field matches either the x or y field @@ -120,7 +124,11 @@ email : sherman at mrcc.com std::cerr << "Adding field: " << *it << std::endl; #endif + } } +#ifdef QGISDEBUG + std::cerr << "Field count for the delimited text file is " << attributeFields.size() << std::endl; +#endif }else { // examine the x,y and update extents