flight.cpp 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #include "flight.h"
  2. /*!
  3. * \brief flight::printFlight Displays basic data for debugging
  4. */
  5. void flight::printFlight()
  6. {
  7. QTextStream cout(stdout, QIODevice::WriteOnly);
  8. if(id != -1){
  9. cout << "Flight ID:\t\t" + QString::number(id) + "\n";
  10. }else{
  11. cout << "Flight ID:\t\tnot set\n";
  12. }
  13. if(doft.toString(Qt::ISODate).length()){
  14. cout << "Date of Flight:\t" + doft.toString(Qt::ISODate) + "\n";
  15. }else{
  16. cout << "Date of Flight:\tnot set\n";
  17. }
  18. if(dept != QStringLiteral("INVA")){
  19. cout << "Departure:\t\t" + dept + "\n";
  20. }else{
  21. cout << "Departure:\t\tnot set\n";
  22. }
  23. if(dest != QStringLiteral("INVA")){
  24. cout << "Destination:\t\t" + dest + "\n";
  25. }else{
  26. cout << "Destination:\t\tnot set\n";
  27. }
  28. if(tofb.toString("hh:mm").length()){
  29. cout << "Departure Time:\t" + tofb.toString("hh:mm") + "\n";
  30. }else{
  31. cout << "Departure Time:\tnot set\n";
  32. }
  33. if(tonb.toString("hh:mm").length()){
  34. cout << "Arrival Time:\t" + tonb.toString("hh:mm") + "\n";
  35. }else{
  36. cout << "Arrival Time:\tnot set\n";
  37. }
  38. if(pic != QStringLiteral("INVA")){
  39. cout << "Pilot in Command:\t" + pic + "\n";
  40. }else{
  41. cout << "Pilot in Command:\tnot set\n";
  42. }
  43. if(acft != QStringLiteral("INVA")){
  44. cout << "Aircraft:\t\t" + acft + "\n";
  45. }else{
  46. cout << "Aircraft:\t\tnot set\n";
  47. }
  48. if(tblk.isValid()){
  49. cout << "Blocktime:\t\t" + tblk.toString("hh:mm") + "\n";
  50. }else{
  51. cout << "Blocktime:\t\tnot set\n";
  52. }
  53. }
  54. /*!
  55. * \brief flight::debug Provides compatibility with qDebug
  56. * \return
  57. */
  58. QString flight::debug()
  59. {
  60. printFlight();
  61. return QString();
  62. }
  63. flight flight::fromVector(QVector<QString> details)
  64. {
  65. if(details.length() != 31){
  66. qWarning() << __PRETTY_FUNCTION__ << "Invalid Input. Aborting.";
  67. return flight();
  68. }
  69. flight flightobject;
  70. flightobject.id = details[1].toInt();
  71. flightobject.doft = QDate::fromString(details[2],Qt::ISODate);
  72. flightobject.dept = details[3];
  73. flightobject.dest = details[4];
  74. flightobject.tofb = QTime::fromString(details[5],"hh:mm");
  75. flightobject.tonb = QTime::fromString(details[6],"hh:mm");
  76. flightobject.pic = details[7];
  77. flightobject.acft = details[8];
  78. flightobject.tblk = QTime::fromString(details[9],"hh:mm");
  79. flightobject.tSPSE = QTime::fromString(details[10],"hh:mm");
  80. flightobject.tSPME = QTime::fromString(details[11],"hh:mm");
  81. flightobject.tMP = QTime::fromString(details[12],"hh:mm");
  82. flightobject.tNIGHT = QTime::fromString(details[13],"hh:mm");
  83. flightobject.tIFR = QTime::fromString(details[14],"hh:mm");
  84. flightobject.tPIC = QTime::fromString(details[15],"hh:mm");
  85. flightobject.tSIC = QTime::fromString(details[16],"hh:mm");
  86. flightobject.tDUAL = QTime::fromString(details[17],"hh:mm");
  87. flightobject.tFI = QTime::fromString(details[18],"hh:mm");
  88. flightobject.tSIM = QTime::fromString(details[19],"hh:mm");
  89. flightobject.pilotFlying = details[20].toInt();
  90. flightobject.toDay = details[21].toInt();
  91. flightobject.toNight = details[22].toInt();
  92. flightobject.ldgDay = details[23].toInt();
  93. flightobject.ldgNight = details[24].toInt();
  94. flightobject.autoland = details[25].toInt();
  95. flightobject.secondPilot = details[26];
  96. flightobject.thirdPilot = details[27];
  97. flightobject.approachType = details[28];
  98. flightobject.flightNumber = details[29];
  99. flightobject.remarks = details[30];
  100. return flightobject;
  101. }