mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 02:35:33 +08:00
refs #212, added support for displaying an info if flight plan was sent
* improved validation * fixed cat E for approach speed * added attribute to FP class
This commit is contained in:
@@ -13,6 +13,7 @@ namespace BlackGui
|
||||
connect(this->ui->pb_Send, &QPushButton::pressed, this, &CFlightPlanComponent::sendFlightPlan);
|
||||
connect(this->ui->pb_Load, &QPushButton::pressed, this, &CFlightPlanComponent::loadFlightPlan);
|
||||
connect(this->ui->pb_Reset, &QPushButton::pressed, this, &CFlightPlanComponent::resetFlightPlan);
|
||||
connect(this->ui->pb_ValidateFlightPlan, &QPushButton::pressed, this, &CFlightPlanComponent::validateFlightPlan);
|
||||
|
||||
bool c;
|
||||
c = connect(this->ui->cb_VoiceCapabilities, SIGNAL(currentIndexChanged(int)), this, SLOT(buildRemarkString()));
|
||||
@@ -68,6 +69,11 @@ namespace BlackGui
|
||||
this->ui->le_CruiseTrueAirspeed->setText(flightPlan.getCruiseTrueAirspeed().valueRoundedWithUnit(BlackMisc::PhysicalQuantities::CSpeedUnit::kts(), 0));
|
||||
}
|
||||
|
||||
CFlightPlan CFlightPlanComponent::getFlightPlan() const
|
||||
{
|
||||
return this->m_flightPlan;
|
||||
}
|
||||
|
||||
BlackMisc::CStatusMessageList CFlightPlanComponent::validateAndInitializeFlightPlan(BlackMisc::Aviation::CFlightPlan &flightPlan)
|
||||
{
|
||||
BlackMisc::CStatusMessageList messages;
|
||||
@@ -191,17 +197,40 @@ namespace BlackGui
|
||||
if (messages.isEmpty())
|
||||
{
|
||||
// no error, send if possible
|
||||
CStatusMessage m;
|
||||
if (this->getIContextNetwork()->isConnected())
|
||||
{
|
||||
flightPlan.setWhenLastSent(QDateTime::currentDateTimeUtc());
|
||||
this->getIContextNetwork()->sendFlightPlan(flightPlan);
|
||||
this->ui->le_LastSent->setText(flightPlan.whenLastSent().toString());
|
||||
m = CStatusMessage::getInfoMessage("Sent flight plan", CStatusMessage::TypeTrafficNetwork);
|
||||
}
|
||||
else
|
||||
{
|
||||
CStatusMessage m = CStatusMessage::getErrorMessage("No errors, but not connected, cannot send flight plan", CStatusMessage::TypeTrafficNetwork);
|
||||
this->getIContextApplication()->sendStatusMessage(m);
|
||||
flightPlan.setWhenLastSent(QDateTime());
|
||||
this->ui->le_LastSent->clear();
|
||||
m = CStatusMessage::getErrorMessage("No errors, but not connected, cannot send flight plan", CStatusMessage::TypeTrafficNetwork);
|
||||
}
|
||||
this->sendStatusMessage(m);
|
||||
this->m_flightPlan = flightPlan; // last valid FP
|
||||
}
|
||||
else
|
||||
{
|
||||
this->getIContextApplication()->sendStatusMessages(messages);
|
||||
this->sendStatusMessages(messages);
|
||||
}
|
||||
}
|
||||
|
||||
void CFlightPlanComponent::validateFlightPlan()
|
||||
{
|
||||
CFlightPlan flightPlan;
|
||||
CStatusMessageList messages = this->validateAndInitializeFlightPlan(flightPlan);
|
||||
if (messages.isEmpty())
|
||||
{
|
||||
this->sendStatusMessage(CStatusMessage::getInfoMessage("No errors", CStatusMessage::TypeTrafficNetwork));
|
||||
}
|
||||
else
|
||||
{
|
||||
this->sendStatusMessages(messages);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,6 +313,8 @@ namespace BlackGui
|
||||
rem.append("PER/C ");
|
||||
else if (v.startsWith("D"))
|
||||
rem.append("PER/D ");
|
||||
else if (v.startsWith("E"))
|
||||
rem.append("PER/E ");
|
||||
|
||||
if (this->ui->frp_SelcalCode->hasValidCode())
|
||||
{
|
||||
@@ -304,7 +335,7 @@ namespace BlackGui
|
||||
void CFlightPlanComponent::copyRemarks()
|
||||
{
|
||||
this->ui->pte_Remarks->setPlainText(this->ui->pte_RemarksGenerated->toPlainText());
|
||||
this->getIContextApplication()->sendStatusMessage(CStatusMessage::getInfoMessage("Copied remarks", CStatusMessage::TypeTrafficNetwork));
|
||||
this->sendStatusMessage(CStatusMessage::getInfoMessage("Copied remarks", CStatusMessage::TypeTrafficNetwork));
|
||||
}
|
||||
|
||||
void CFlightPlanComponent::currentTabGenerator()
|
||||
|
||||
@@ -29,9 +29,15 @@ namespace BlackGui
|
||||
//! Prefill with aircraft dara
|
||||
void prefillWithFlightPlanData(const BlackMisc::Aviation::CFlightPlan &flightPlan);
|
||||
|
||||
//! Get this flight plan
|
||||
BlackMisc::Aviation::CFlightPlan getFlightPlan() const;
|
||||
|
||||
private:
|
||||
Ui::CFlightPlanComponent *ui;
|
||||
|
||||
//! My flight plan
|
||||
BlackMisc::Aviation::CFlightPlan m_flightPlan;
|
||||
|
||||
//! Validate, generates status messages
|
||||
BlackMisc::CStatusMessageList validateAndInitializeFlightPlan(BlackMisc::Aviation::CFlightPlan &fligtPlan);
|
||||
|
||||
@@ -51,6 +57,9 @@ namespace BlackGui
|
||||
//! Load Flightplan
|
||||
void loadFlightPlan();
|
||||
|
||||
//! Validate Flightplan
|
||||
void validateFlightPlan();
|
||||
|
||||
//! Remark
|
||||
void buildRemarkString();
|
||||
|
||||
|
||||
@@ -38,287 +38,10 @@
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gl_FlightPlan">
|
||||
<item row="7" column="1">
|
||||
<widget class="QLineEdit" name="le_EstimatedTimeEnroute">
|
||||
<property name="inputMask">
|
||||
<string>99:99</string>
|
||||
</property>
|
||||
<item row="11" column="2">
|
||||
<widget class="QPushButton" name="pb_Load">
|
||||
<property name="text">
|
||||
<string>00:00</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="lbl_Aircraft_Type">
|
||||
<property name="text">
|
||||
<string>3. Aircraft type</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLineEdit" name="le_CruiseTrueAirspeed">
|
||||
<property name="text">
|
||||
<string>0 kts</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>40</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" rowspan="4">
|
||||
<widget class="QGroupBox" name="gb_Type">
|
||||
<property name="title">
|
||||
<string>1. Type</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_TypeVfr">
|
||||
<property name="text">
|
||||
<string>VFR</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_TypeSvfr">
|
||||
<property name="text">
|
||||
<string>SVFR</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_TypeIfr">
|
||||
<property name="text">
|
||||
<string>IFR</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QLabel" name="lbl_EstimatedTimeEnroute">
|
||||
<property name="text">
|
||||
<string>10. Estimated time enroute</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="lbl_OriginAirport">
|
||||
<property name="text">
|
||||
<string>5. Departure airport</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="3">
|
||||
<widget class="QPushButton" name="pb_Send">
|
||||
<property name="text">
|
||||
<string>Send plan</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QLabel" name="lbl_CrusingAltitude">
|
||||
<property name="text">
|
||||
<string>7. Cruising altitude</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="4">
|
||||
<widget class="QPlainTextEdit" name="pte_Route"/>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="le_Callsign">
|
||||
<property name="inputMask">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>40</number>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1" colspan="3">
|
||||
<widget class="QPlainTextEdit" name="pte_Remarks"/>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QLineEdit" name="le_FuelOnBoard">
|
||||
<property name="inputMask">
|
||||
<string>99:99</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>00:00</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>5</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLineEdit" name="le_DestinationAirport">
|
||||
<property name="inputMask">
|
||||
<string>>AAAA</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ICAO</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="lbl_TakeOffTimePlanned">
|
||||
<property name="text">
|
||||
<string>6. Departure time</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="3">
|
||||
<widget class="QLineEdit" name="le_PilotsHomebase"/>
|
||||
</item>
|
||||
<item row="9" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="le_PilotsName">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<widget class="QLabel" name="lbl_PilotsNameAndHomebase">
|
||||
<property name="text">
|
||||
<string>14. Pilots name / homebase</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QLineEdit" name="le_CrusingAltitude">
|
||||
<property name="maxLength">
|
||||
<number>40</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="lbl_DestinationAirport">
|
||||
<property name="text">
|
||||
<string>9.Destination airport</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="lbl_Callsign">
|
||||
<property name="text">
|
||||
<string>2. Callsign</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QLabel" name="lbl_CruiseTrueAirspeed">
|
||||
<property name="text">
|
||||
<string>4. True airspeed</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="4">
|
||||
<widget class="QLabel" name="lbl_Route">
|
||||
<property name="text">
|
||||
<string>8. Route</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="3">
|
||||
<widget class="QLabel" name="lbl_AlternateAirport">
|
||||
<property name="text">
|
||||
<string>13. Alternate airport</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QLabel" name="lbl_FuelOnBorad">
|
||||
<property name="text">
|
||||
<string>12. Fuel on board</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="3">
|
||||
<widget class="QLineEdit" name="le_AlternateAirport">
|
||||
<property name="inputMask">
|
||||
<string>>AAAA</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ICAO</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="le_OriginAirport">
|
||||
<property name="inputMask">
|
||||
<string>>AAAA</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ICAO</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>4</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLineEdit" name="le_AircraftType"/>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QLineEdit" name="le_TakeOffTimePlanned">
|
||||
<property name="inputMask">
|
||||
<string>99:99</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>00:00</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>5</number>
|
||||
<string>Load plan</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -364,17 +87,315 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
<item row="11" column="1">
|
||||
<widget class="QPushButton" name="pb_Reset">
|
||||
<property name="text">
|
||||
<string>Reset plan</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="2">
|
||||
<widget class="QPushButton" name="pb_Load">
|
||||
<item row="7" column="1">
|
||||
<widget class="QLineEdit" name="le_EstimatedTimeEnroute">
|
||||
<property name="inputMask">
|
||||
<string>99:99</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Load plan</string>
|
||||
<string>00:00</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLineEdit" name="le_CruiseTrueAirspeed">
|
||||
<property name="text">
|
||||
<string>0 kts</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>40</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="lbl_Aircraft_Type">
|
||||
<property name="text">
|
||||
<string>3. Aircraft type</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="4">
|
||||
<widget class="QLabel" name="lbl_Route">
|
||||
<property name="text">
|
||||
<string>8. Route</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QLabel" name="lbl_FuelOnBorad">
|
||||
<property name="text">
|
||||
<string>12. Fuel on board</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="le_OriginAirport">
|
||||
<property name="inputMask">
|
||||
<string>>AAAA</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ICAO</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>4</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLineEdit" name="le_AircraftType"/>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QLineEdit" name="le_TakeOffTimePlanned">
|
||||
<property name="inputMask">
|
||||
<string>99:99</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>00:00</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>5</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="3">
|
||||
<widget class="QLineEdit" name="le_AlternateAirport">
|
||||
<property name="inputMask">
|
||||
<string>>AAAA</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ICAO</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="3">
|
||||
<widget class="QLabel" name="lbl_AlternateAirport">
|
||||
<property name="text">
|
||||
<string>13. Alternate airport</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1" colspan="3">
|
||||
<widget class="QPlainTextEdit" name="pte_Remarks"/>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QLineEdit" name="le_FuelOnBoard">
|
||||
<property name="inputMask">
|
||||
<string>99:99</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>00:00</string>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>5</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QLabel" name="lbl_CrusingAltitude">
|
||||
<property name="text">
|
||||
<string>7. Cruising altitude</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="lbl_TakeOffTimePlanned">
|
||||
<property name="text">
|
||||
<string>6. Departure time</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="4">
|
||||
<widget class="QPlainTextEdit" name="pte_Route"/>
|
||||
</item>
|
||||
<item row="0" column="0" rowspan="4">
|
||||
<widget class="QGroupBox" name="gb_Type">
|
||||
<property name="title">
|
||||
<string>1. Type</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_TypeVfr">
|
||||
<property name="text">
|
||||
<string>VFR</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_TypeSvfr">
|
||||
<property name="text">
|
||||
<string>SVFR</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_TypeIfr">
|
||||
<property name="text">
|
||||
<string>IFR</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLineEdit" name="le_DestinationAirport">
|
||||
<property name="inputMask">
|
||||
<string>>AAAA</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>ICAO</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QLabel" name="lbl_CruiseTrueAirspeed">
|
||||
<property name="text">
|
||||
<string>4. True airspeed</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="3">
|
||||
<widget class="QPushButton" name="pb_Send">
|
||||
<property name="text">
|
||||
<string>Send plan</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QLineEdit" name="le_CrusingAltitude">
|
||||
<property name="maxLength">
|
||||
<number>40</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="lbl_Callsign">
|
||||
<property name="text">
|
||||
<string>2. Callsign</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="le_PilotsName">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QLabel" name="lbl_EstimatedTimeEnroute">
|
||||
<property name="text">
|
||||
<string>10. Estimated time enroute</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<widget class="QLabel" name="lbl_PilotsNameAndHomebase">
|
||||
<property name="text">
|
||||
<string>14. Pilots name / homebase</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="lbl_DestinationAirport">
|
||||
<property name="text">
|
||||
<string>9.Destination airport</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="lbl_OriginAirport">
|
||||
<property name="text">
|
||||
<string>5. Departure airport</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="le_Callsign">
|
||||
<property name="inputMask">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="maxLength">
|
||||
<number>40</number>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="3">
|
||||
<widget class="QLineEdit" name="le_PilotsHomebase"/>
|
||||
</item>
|
||||
<item row="10" column="0">
|
||||
<widget class="QLabel" name="lbl_LastSent">
|
||||
<property name="text">
|
||||
<string>Sent</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1" colspan="3">
|
||||
<widget class="QLineEdit" name="le_LastSent">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0">
|
||||
<widget class="QPushButton" name="pb_ValidateFlightPlan">
|
||||
<property name="text">
|
||||
<string>Validate</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -616,17 +637,22 @@
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>B: 92-121kts</string>
|
||||
<string>B: 91-120kts</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>C: 122-142kts</string>
|
||||
<string>C: 121-140kts</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>D: 143kts or above</string>
|
||||
<string>D: 141-165kts</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>E: 166-210kts</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -710,6 +736,41 @@
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>rb_TypeVfr</tabstop>
|
||||
<tabstop>rb_TypeSvfr</tabstop>
|
||||
<tabstop>rb_TypeIfr</tabstop>
|
||||
<tabstop>le_Callsign</tabstop>
|
||||
<tabstop>le_AircraftType</tabstop>
|
||||
<tabstop>le_CruiseTrueAirspeed</tabstop>
|
||||
<tabstop>le_OriginAirport</tabstop>
|
||||
<tabstop>le_TakeOffTimePlanned</tabstop>
|
||||
<tabstop>le_CrusingAltitude</tabstop>
|
||||
<tabstop>pte_Route</tabstop>
|
||||
<tabstop>le_DestinationAirport</tabstop>
|
||||
<tabstop>le_EstimatedTimeEnroute</tabstop>
|
||||
<tabstop>le_FuelOnBoard</tabstop>
|
||||
<tabstop>le_AlternateAirport</tabstop>
|
||||
<tabstop>pb_RemarksGenerator</tabstop>
|
||||
<tabstop>pte_Remarks</tabstop>
|
||||
<tabstop>le_PilotsName</tabstop>
|
||||
<tabstop>le_PilotsHomebase</tabstop>
|
||||
<tabstop>pb_Reset</tabstop>
|
||||
<tabstop>pb_Load</tabstop>
|
||||
<tabstop>pb_Send</tabstop>
|
||||
<tabstop>pb_Parse</tabstop>
|
||||
<tabstop>pb_CopyOver</tabstop>
|
||||
<tabstop>pte_RemarksGenerated</tabstop>
|
||||
<tabstop>le_AirlineOperator</tabstop>
|
||||
<tabstop>cb_PilotRating</tabstop>
|
||||
<tabstop>cb_RequiredNavigationPerformance</tabstop>
|
||||
<tabstop>pte_AdditionalRemarks</tabstop>
|
||||
<tabstop>cb_VoiceCapabilities</tabstop>
|
||||
<tabstop>le_AircraftRegistration</tabstop>
|
||||
<tabstop>cb_PerformanceCategory</tabstop>
|
||||
<tabstop>cb_NavigationEquipment</tabstop>
|
||||
<tabstop>cb_NoSidsStarts</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -110,6 +110,9 @@ namespace BlackMisc
|
||||
//! Set remarks string (max 100 characters)
|
||||
void setRemarks(const QString &remarks) { m_remarks = remarks.left(100); }
|
||||
|
||||
//! When last sent
|
||||
void setWhenLastSent(const QDateTime &dateTime) { m_lastSent = dateTime; }
|
||||
|
||||
//! Get ICAO aircraft equipment code string
|
||||
const QString &getEquipmentIcao() const { return m_equipmentIcao; }
|
||||
|
||||
@@ -158,6 +161,12 @@ namespace BlackMisc
|
||||
//! Get route string
|
||||
const QString &getRoute() const { return m_route; }
|
||||
|
||||
//! When last sent
|
||||
const QDateTime &whenLastSent() const { return m_lastSent; }
|
||||
|
||||
//! Flight plan already sent
|
||||
bool wasSent() const { return m_lastSent.isValid() && !m_lastSent.isNull(); }
|
||||
|
||||
//! Get remarks string
|
||||
const QString &getRemarks() const { return m_remarks; }
|
||||
|
||||
@@ -210,12 +219,13 @@ namespace BlackMisc
|
||||
FlightRules m_flightRules;
|
||||
QString m_route;
|
||||
QString m_remarks;
|
||||
QDateTime m_lastSent;
|
||||
};
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
Q_DECLARE_METATYPE(BlackMisc::Aviation::CFlightPlan)
|
||||
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Aviation::CFlightPlan, (o.m_equipmentIcao, o.m_originAirportIcao, o.m_destinationAirportIcao, o.m_alternateAirportIcao,
|
||||
o.m_takeoffTimePlanned, o.m_takeoffTimeActual, o.m_enrouteTime, o.m_fuelTime, o.m_cruiseAltitude/*, tie(o.m_cruiseTrueAirspeed, o.m_flightRules, o.m_route, o.m_remarks)*/))
|
||||
o.m_takeoffTimePlanned, o.m_takeoffTimeActual, o.m_enrouteTime, o.m_fuelTime, o.m_cruiseAltitude, tie(o.m_cruiseTrueAirspeed, o.m_flightRules, o.m_route, o.m_remarks, o.m_lastSent)))
|
||||
|
||||
#endif // guard
|
||||
|
||||
Reference in New Issue
Block a user