diff --git a/src/ImportCSVForm.cpp b/src/ImportCSVForm.cpp index 4bb5fad1..0087a99d 100644 --- a/src/ImportCSVForm.cpp +++ b/src/ImportCSVForm.cpp @@ -185,10 +185,8 @@ void importCSVForm::preview() int maxrecs = 20; curList = pdb->decodeCSV(csvfilename, sep, quote, maxrecs, &numfields); - //qDebug("count = %d, numfields = %d", curList .count(), numfields); - previewTable->clear(); - previewTable->setColumnCount(curList.size()); + previewTable->setColumnCount(numfields); //can not operate on an empty result if (numfields==0) return; @@ -206,7 +204,7 @@ void importCSVForm::preview() int rowNum = 0; int colNum = 0; for ( QStringList::Iterator ct = curList .begin(); ct != curList .end(); ++ct ) { - if (colNum==0) previewTable->setVerticalHeaderItem( rowNum, new QTableWidgetItem( QString::number(rowNum) ) ); + if (colNum==0) previewTable->setVerticalHeaderItem( rowNum, new QTableWidgetItem( QString::number(rowNum+1) ) ); previewTable->setItem(rowNum, colNum, new QTableWidgetItem( *ct ) ); colNum++; if (colNum==numfields) diff --git a/src/sqlitedb.cpp b/src/sqlitedb.cpp index 1c7d3ef2..3317722d 100644 --- a/src/sqlitedb.cpp +++ b/src/sqlitedb.cpp @@ -733,8 +733,8 @@ QStringList DBBrowserDB::decodeCSV(const QString & csvfilename, char sep, char q QProgressDialog progress("Decoding CSV file...", "Cancel", 0, file.size()); progress.setWindowModality(Qt::ApplicationModal); char c=0; - while ( c!=-1) { - file.getChar(&c); + while(file.getChar(&c)) + { if (c==quote){ if (inquotemode){ if (inescapemode){ @@ -778,6 +778,7 @@ QStringList DBBrowserDB::decodeCSV(const QString & csvfilename, char sep, char q } recs++; progress.setValue(file.pos()); + qApp->processEvents(); if (progress.wasCanceled()) break; if ((recs>maxrecords)&&(maxrecords!=-1)) { break;