MCPcopy Create free account
hub / github.com/collin80/SavvyCAN / loadSenderFile

Method loadSenderFile

framesenderwindow.cpp:336–404  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

334}
335
336void FrameSenderWindow::loadSenderFile(QString filename)
337{
338 QFile *inFile = new QFile(filename);
339 QByteArray line;
340
341 if (!inFile->open(QIODevice::ReadOnly | QIODevice::Text))
342 {
343 delete inFile;
344 return;
345 }
346
347 ui->tableSender->clear();
348 while (ui->tableSender->rowCount() > 0) ui->tableSender->removeRow(0);
349 sendingData.clear();
350
351 while (!inFile->atEnd()) {
352 inhibitChanged = true;
353 line = inFile->readLine().simplified();
354 if (line.length() > 2)
355 {
356 QList<QByteArray> tokens = line.split('#');
357 int row = ui->tableSender->rowCount();
358 ui->tableSender->insertRow(row);
359 QTableWidgetItem *item = new QTableWidgetItem();
360 ui->tableSender->setItem(row, 0, item);
361 ui->tableSender->item(row, 0)->setFlags(item->flags() | Qt::ItemIsUserCheckable);
362
363 item = new QTableWidgetItem();
364 ui->tableSender->setItem(row, 4, item);
365 ui->tableSender->item(row, 4)->setFlags(item->flags() | Qt::ItemIsUserCheckable);
366 item->setCheckState(Qt::Unchecked);
367
368 item = new QTableWidgetItem();
369 ui->tableSender->setItem(row, 5, item);
370 ui->tableSender->item(row, 5)->setFlags(item->flags() | Qt::ItemIsUserCheckable);
371 item->setCheckState(Qt::Unchecked);
372
373 if (tokens[0] == "T")
374 {
375 ui->tableSender->item(row, 0)->setCheckState(Qt::Checked);
376 }
377 else ui->tableSender->item(row, 0)->setCheckState(Qt::Unchecked);
378 if (tokens.length() >= 9) {
379 for (int i = 1; i < 9; i++)
380 {
381 if (i != 4 && i != 5) {
382 ui->tableSender->setItem(row, i, new QTableWidgetItem(QString(tokens[i])));
383 } else {
384 if (tokens[i] == "T") {
385 ui->tableSender->item(row, i)->setCheckState(Qt::Checked);
386 }
387 }
388 }
389 } else {
390 ui->tableSender->setItem(row, 1, new QTableWidgetItem(QString(tokens[1])));
391 ui->tableSender->setItem(row, 2, new QTableWidgetItem(QString(tokens[2])));
392 ui->tableSender->setItem(row, 3, new QTableWidgetItem(QString(tokens[3])));
393 ui->tableSender->setItem(row, 6, new QTableWidgetItem(QString(tokens[4])));

Callers

nothing calls this directly

Calls 5

insertRowMethod · 0.80
itemMethod · 0.80
flagsMethod · 0.80
clearMethod · 0.45
rowCountMethod · 0.45

Tested by

no test coverage detected