Add ability to load Tesla ODIN JSON files. Where will you get such a

file? State secret.
This commit is contained in:
Collin Kidder
2020-02-12 19:56:43 -05:00
parent f0656a7f2c
commit 48d7dfa97c
6 changed files with 219 additions and 2 deletions
+23
View File
@@ -35,6 +35,7 @@ DBCLoadSaveWindow::DBCLoadSaveWindow(const QVector<CANFrame> *frames, QWidget *p
connect(ui->btnNewDBC, &QAbstractButton::clicked, this, &DBCLoadSaveWindow::newFile);
connect(ui->tableFiles, &QTableWidget::cellChanged, this, &DBCLoadSaveWindow::cellChanged);
connect(ui->tableFiles, &QTableWidget::cellDoubleClicked, this, &DBCLoadSaveWindow::cellDoubleClicked);
connect(ui->btnLoadJSON, &QAbstractButton::clicked, this, &DBCLoadSaveWindow::loadJSON);
editorWindow = new DBCMainEditor(frames, this);
currentlyEditingFile = nullptr;
@@ -101,6 +102,28 @@ void DBCLoadSaveWindow::loadFile()
}
}
void DBCLoadSaveWindow::loadJSON()
{
DBCFile *file = dbcHandler->loadJSONFile(-1);
if(file) {
int idx = ui->tableFiles->rowCount();
ui->tableFiles->insertRow(ui->tableFiles->rowCount());
ui->tableFiles->setItem(idx, 0, new QTableWidgetItem(file->getFullFilename()));
ui->tableFiles->setItem(idx, 1, new QTableWidgetItem("-1"));
DBC_ATTRIBUTE *attr = file->findAttributeByName("isj1939dbc");
QTableWidgetItem *item = new QTableWidgetItem("");
ui->tableFiles->setItem(idx, 2, item);
if (attr && attr->defaultValue > 0)
{
item->setCheckState(Qt::Checked);
}
else
{
item->setCheckState(Qt::Unchecked);
}
}
}
void DBCLoadSaveWindow::saveFile()
{
int idx = ui->tableFiles->currentRow();