From da62ac501fe7c4b4e0a7da69f8ea7d98ce64a7b6 Mon Sep 17 00:00:00 2001 From: Grieb Date: Tue, 21 Apr 2015 12:47:29 -0300 Subject: [PATCH] [companion][logsDialog]A 50% improvement performance on open file. --- companion/src/logsdialog.cpp | 50 ++++++++---------------------------- 1 file changed, 11 insertions(+), 39 deletions(-) diff --git a/companion/src/logsdialog.cpp b/companion/src/logsdialog.cpp index e5d2646f3..a935ec465 100644 --- a/companion/src/logsdialog.cpp +++ b/companion/src/logsdialog.cpp @@ -445,15 +445,11 @@ void logsDialog::on_fileOpen_BT_clicked() ui->logTable->setColumnCount(csvlog.at(0).count()); ui->logTable->setRowCount(csvlog.count()-1); ui->logTable->setHorizontalHeaderLabels(csvlog.at(0)); + + QAbstractItemModel *model = ui->logTable->model(); for (int i=1; i1) { - item->setTextAlignment(Qt::AlignRight); - } else { - item->setTextAlignment(Qt::AlignCenter); - } - ui->logTable->setItem(i-1,j,item ); + model->setData(model->index(i - 1, j, QModelIndex()), csvlog.at(i).at(j)); } } @@ -483,53 +479,29 @@ bool logsDialog::cvsFileParse() csvlog.clear(); logFilename.clear(); QTextStream inputStream(&file); - QRegExp rx2("(?:\"([^\"]*)\";?)|(?:([^,]*),?)"); - QStringList list; QString buffer = file.readLine(); + if (buffer.startsWith("Date,Time")) { file.reset(); } else { return false; } + int numfields=-1; while (!file.atEnd()) { - int pos2 = 0; - QString buffer = file.readLine(); - QString line=buffer.trimmed(); - list.clear(); - if(line.size()<1){ - list << ""; - } else { - while (line.size()>pos2 && (pos2 = rx2.indexIn(line, pos2)) != -1) { - QString col; - if(rx2.cap(1).size()>0) { - col = rx2.cap(1); - } else if(rx2.cap(2).size()>0) { - col = rx2.cap(2); - } - if (col.contains(".")) { - if (col.indexOf(".")==(col.length()-3)) { - col.append("0"); - } - } - list<