diff --git a/companion/src/logsdialog.cpp b/companion/src/logsdialog.cpp index 12213536b..bba3ba2bc 100644 --- a/companion/src/logsdialog.cpp +++ b/companion/src/logsdialog.cpp @@ -173,12 +173,35 @@ void logsDialog::selectionChanged() void logsDialog::on_mapsButton_clicked() { int n = csvlog.count(); // number of points in graph if (n==0) return; - int latcol=0, longcol=0, altcol=0, coursecol=0, speedcol=0, rssicol=0; + int latcol=0, longcol=0, altcol=0, speedcol=0; int itemSelected=0.; bool rangeSelected=false; + enum fieldtype { + T_F, + I_F, + F_F, + G_F + }; + ui->FieldsTW->setDisabled(true); + ui->logTable->setDisabled(true); + QString fields[]={"SWR","RSSI","A1","A2","GPS Date"\ + ,"GPS Time","Long","Lat","Course","GPS Speed","GPS Alt","Baro Alt"\ + ,"Vertical Speed","Temp1","Temp2","RPM","Fuel","Cell volts","Cell 1"\ + ,"Cell 2","Cell 3","Cell 4","Cell 5","Cell 6","Current","Consumption"\ + ,"Vfas","AccelX","AccelY","AccelZ","Rud","Ele","Thr","Ail"\ + ,"S1","S2","LS","RS","SA","SB","SC","SD","SE","SF","SG","SH"}; + int fieldstype[]={I_F,I_F,F_F,F_F,T_F\ + ,T_F,G_F,G_F,F_F,G_F,G_F,F_F\ + ,F_F,F_F,F_F,I_F,I_F,F_F,F_F\ + ,F_F,F_F,F_F,F_F,F_F,F_F,F_F\ + ,F_F,F_F,F_F,F_F,I_F,I_F,I_F,I_F\ + ,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F,I_F}; + QSettings settings("companion9x", "companion9x"); QString gePath=settings.value("gePath", "").toString(); if (gePath.isEmpty() || !QFile(gePath).exists()) { + ui->FieldsTW->setDisabled(false); + ui->logTable->setDisabled(false); return; } for (int i=1; iFieldsTW->setDisabled(false); + ui->logTable->setDisabled(false); return; } QString latitude,longitude; double flatitude, flongitude,temp; QTextStream outputStream(&geFile); outputStream << "\n\n"; - outputStream << "\t\n\t\tMy Flight\n"; + outputStream << "\t\n\t\t" << logFilename << "\n"; outputStream << "\t\t\n"; outputStream << "\t\t\n"; outputStream << "\t\t\n\t\t\t\n\t\t\t\tnormal\n\t\t\t\t#multiTrack_n\n\t\t\t\n\t\t\t\n\t\t\t\thighlight\n\t\t\t\t#multiTrack_h\n\t\t\t\n\t\t\n"; outputStream << "\t\t\n"; outputStream << "\t\t\n"; outputStream << "\t\t\t\n\t\t\t\tGPS Speed\n\t\t\t\n"; - outputStream << "\t\t\t\n\t\t\t\tRSSI\n\t\t\t\n"; + for (int i=0; iFieldsTW->item(0,i)->isSelected() && fieldstype[i]!=G_F ) { + outputStream << "\t\t\t\n\t\t\t\t" << fields[i] << "\n\t\t\t\n"; + } + } outputStream << "\t\t\n"; - outputStream << "\t\t\n\t\t\tFlight\n\t\t\t\n\t\t\t\tMy Flight\n\t\t\t\t#multiTrack\n\t\t\t\t\n"; + + QString planeName; + if (logFilename.indexOf("-")>0) { + planeName=logFilename.left(logFilename.indexOf("-")); + } else { + planeName=logFilename; + } + outputStream << "\t\t\n\t\t\tLog Data\n\t\t\t\n\t\t\t\t" << planeName << "\n\t\t\t\t#multiTrack\n\t\t\t\t\n"; for (int i=1; ilogTable->item(i-1,1)->isSelected() &&rangeSelected) || !rangeSelected) { QString tstamp=csvlog.at(i).at(0)+QString("T")+csvlog.at(i).at(1); @@ -281,20 +325,26 @@ void logsDialog::on_mapsButton_clicked() { } } outputStream << "\t\t\t\t\t\t\t\n"; - outputStream << "\t\t\t\t\t\t\t\n"; - for (int i=1; ilogTable->item(i-1,1)->isSelected() &&rangeSelected) || !rangeSelected) { - outputStream << "\t\t\t\t\t\t\t\t"<< csvlog.at(i).at(rssicol) <<"\n"; + for (int i=0; iFieldsTW->item(0,i)->isSelected() && fieldstype[i]!= G_F ) { + outputStream << "\t\t\t\t\t\t\t\n"; + for (int j=1; jlogTable->item(j-1,1)->isSelected() &&rangeSelected) || !rangeSelected) { + outputStream << "\t\t\t\t\t\t\t\t"<< csvlog.at(j).at(i+2) <<"\n"; + } + } + outputStream << "\t\t\t\t\t\t\t\n"; } } - outputStream << "\t\t\t\t\t\t\t\n"; outputStream << "\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n"; geFile.close(); QStringList parameters; parameters << geFilename; QProcess *process = new QProcess(this); - process->startDetached(gePath, parameters); + process->start(gePath, parameters); + ui->FieldsTW->setDisabled(false); + ui->logTable->setDisabled(false); } @@ -578,6 +628,7 @@ bool logsDialog::cvsFileParse() } else { ui->sessions_CB->clear(); csvlog.clear(); + logFilename.clear(); QTextStream inputStream(&file); QRegExp rx2("(?:\"([^\"]*)\";?)|(?:([^,]*),?)"); QStringList list; @@ -626,6 +677,7 @@ bool logsDialog::cvsFileParse() } lines++; } + logFilename=QFileInfo(file.fileName()).baseName(); } file.close(); diff --git a/companion/src/logsdialog.h b/companion/src/logsdialog.h index 9901228a7..e78fa6c51 100644 --- a/companion/src/logsdialog.h +++ b/companion/src/logsdialog.h @@ -43,6 +43,7 @@ private: double GetScale(QString channel); QList palette; bool plotLock; + QString logFilename; }; #endif // LOGSDIALOG_H