From 0b368ad935916bed191a5af928a30d8361336a31 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 12 Nov 2018 02:19:42 +0100 Subject: [PATCH] Ref T431, FSD setup allow to force 4 letter airline ICAO code --- src/blackgui/editors/fsdsetupform.cpp | 10 ++++------ src/blackgui/editors/fsdsetupform.ui | 13 ++++++++++++- src/blackmisc/network/fsdsetup.cpp | 15 ++++++++++++--- src/blackmisc/network/fsdsetup.h | 9 ++++++++- 4 files changed, 36 insertions(+), 11 deletions(-) diff --git a/src/blackgui/editors/fsdsetupform.cpp b/src/blackgui/editors/fsdsetupform.cpp index 11b307687..27a7af76e 100644 --- a/src/blackgui/editors/fsdsetupform.cpp +++ b/src/blackgui/editors/fsdsetupform.cpp @@ -44,6 +44,7 @@ namespace BlackGui ui->cb_GndFlagSend->isChecked(), ui->cb_GndFlagReceive->isChecked(), ui->cb_FastPositionSend->isChecked(), ui->cb_FastPositionReceive->isChecked() ); + s.setForce3LetterAirlineCodes(ui->cb_3LetterAirlineICAO->isChecked()); return s; } @@ -62,6 +63,7 @@ namespace BlackGui ui->cb_AircraftPartsSend->setChecked(d & CFsdSetup::SendAircraftParts); ui->cb_FastPositionReceive->setChecked(d & CFsdSetup::ReceiveInterimPositions); ui->cb_FastPositionSend->setChecked(d & CFsdSetup::SendInterimPositions); + ui->cb_3LetterAirlineICAO->setChecked(setup.force3LetterAirlineCodes()); } bool CFsdSetupForm::isFsdSetupEnabled() const @@ -84,12 +86,8 @@ namespace BlackGui { ui->le_TextCodec->setReadOnly(readonly); ui->pb_SetDefaults->setEnabled(!readonly); - CGuiUtility::checkBoxReadOnly(ui->cb_AircraftPartsReceive, readonly); - CGuiUtility::checkBoxReadOnly(ui->cb_AircraftPartsSend, readonly); - CGuiUtility::checkBoxReadOnly(ui->cb_FastPositionReceive, readonly); - CGuiUtility::checkBoxReadOnly(ui->cb_FastPositionSend, readonly); - CGuiUtility::checkBoxReadOnly(ui->cb_GndFlagReceive, readonly); - CGuiUtility::checkBoxReadOnly(ui->cb_GndFlagSend, readonly); + CGuiUtility::checkBoxesReadOnly(this, readonly); + CGuiUtility::checkBoxReadOnly(ui->cb_Override, false); // always editable if (readonly && ui->cb_Override->isChecked()) { diff --git a/src/blackgui/editors/fsdsetupform.ui b/src/blackgui/editors/fsdsetupform.ui index 0895b99aa..11c4e6a6b 100644 --- a/src/blackgui/editors/fsdsetupform.ui +++ b/src/blackgui/editors/fsdsetupform.ui @@ -6,7 +6,7 @@ 0 0 - 255 + 248 82 @@ -130,6 +130,16 @@ + + + + force 3 letter airline ICAO code + + + 3 letter airline + + + @@ -142,6 +152,7 @@ cb_FastPositionSend cb_FastPositionReceive le_TextCodec + cb_3LetterAirlineICAO diff --git a/src/blackmisc/network/fsdsetup.cpp b/src/blackmisc/network/fsdsetup.cpp index cfea08908..2b17fe2c6 100644 --- a/src/blackmisc/network/fsdsetup.cpp +++ b/src/blackmisc/network/fsdsetup.cpp @@ -45,13 +45,15 @@ namespace BlackMisc QString CFsdSetup::sendReceiveDetailsToString(SendReceiveDetails details) { - static const QString ds("Send parts; %1 gnd: %2 interim: %3 Receive parts: %4 gnd: %5 interim: %6"); + static const QString ds("Send parts; %1 gnd: %2 interim: %3 Receive parts: %4 gnd: %5 interim: %6 3letter: %7"); return ds.arg(boolToYesNo(details.testFlag(SendAircraftParts)), boolToYesNo(details.testFlag(SendGndFlag)), boolToYesNo(details.testFlag(SendInterimPositions)), boolToYesNo(details.testFlag(ReceiveAircraftParts)), boolToYesNo(details.testFlag(ReceiveGndFlag)), - boolToYesNo(details.testFlag(ReceiveInterimPositions))); + boolToYesNo(details.testFlag(ReceiveInterimPositions)), + boolToYesNo(details.testFlag(Force3LetterAirlineICAO)) + ); } void CFsdSetup::setSendReceiveDetails(bool partsSend, bool partsReceive, bool gndSend, bool gndReceive, bool interimSend, bool interimReceive) @@ -66,9 +68,16 @@ namespace BlackMisc this->setSendReceiveDetails(s); } + void CFsdSetup::setForce3LetterAirlineCodes(bool force) + { + SendReceiveDetails d = this->getSendReceiveDetails(); + d.setFlag(Force3LetterAirlineICAO, force); + this->setSendReceiveDetails(d); + } + const CFsdSetup &CFsdSetup::vatsimStandard() { - static const CFsdSetup s(AllParts); + static const CFsdSetup s(VATSIMDefault); return s; } diff --git a/src/blackmisc/network/fsdsetup.h b/src/blackmisc/network/fsdsetup.h index e7ff3204b..36f400a98 100644 --- a/src/blackmisc/network/fsdsetup.h +++ b/src/blackmisc/network/fsdsetup.h @@ -46,13 +46,15 @@ namespace BlackMisc ReceiveAircraftParts = 1 << 3, //!< aircraft parts in ReceiveInterimPositions = 1 << 4, //!< fast position updates in ReceiveGndFlag = 1 << 5, //!< gnd.flag in (position) + Force3LetterAirlineICAO = 1 << 6, //!< force 3 letter airline ICAO code AllSending = SendAircraftParts | SendInterimPositions | SendGndFlag, //!< all out AllReceive = ReceiveAircraftParts | ReceiveInterimPositions | ReceiveGndFlag, //!< all in All = AllReceive | AllSending, //!< all AllParts = SendAircraftParts | ReceiveAircraftParts, //!< send/receive parts AllSendingWithoutGnd = SendAircraftParts | SendInterimPositions, //!< all out, but no gnd.flag AllReceiveWithoutGnd = ReceiveAircraftParts | ReceiveInterimPositions, //!< all in, but no gnd.flag - AllWithoutGnd = AllReceiveWithoutGnd | AllSendingWithoutGnd //!< all, but no gnd.flag + AllWithoutGnd = AllReceiveWithoutGnd | AllSendingWithoutGnd, //!< all, but no gnd.flag + VATSIMDefault = AllParts | Force3LetterAirlineICAO }; Q_DECLARE_FLAGS(SendReceiveDetails, SendReceiveDetailsFlag) @@ -98,6 +100,11 @@ namespace BlackMisc bool receiveInterimPositions() const { return this->getSendReceiveDetails().testFlag(ReceiveInterimPositions); } //! @} + //! Airline codes @{ + bool force3LetterAirlineCodes() const { return this->getSendReceiveDetails().testFlag(Force3LetterAirlineICAO); } + void setForce3LetterAirlineCodes(bool force); + //! @} + //! Validate, provide details about issues CStatusMessageList validate() const;