From 3b68a3b19d3b6c2db5bcab6c94879140788a0e2b Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 21 Oct 2016 00:32:25 +0200 Subject: [PATCH] refs #768, fixed model form selectOnly, also hide drop area when read only Reported during #780 by RW --- src/blackgui/editors/aircrafticaoform.cpp | 2 ++ src/blackgui/editors/aircraftmodelform.cpp | 7 +++++++ src/blackgui/editors/aircraftmodelform.h | 5 ++++- src/blackgui/editors/airlineicaoform.cpp | 2 ++ src/blackgui/editors/distributorform.cpp | 2 ++ src/blackgui/editors/liveryform.cpp | 2 ++ 6 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/blackgui/editors/aircrafticaoform.cpp b/src/blackgui/editors/aircrafticaoform.cpp index 580c96e5e..387453f66 100644 --- a/src/blackgui/editors/aircrafticaoform.cpp +++ b/src/blackgui/editors/aircrafticaoform.cpp @@ -161,6 +161,7 @@ namespace BlackGui ui->cb_Wtc->setEnabled(!readOnly); ui->cb_Rank->setEnabled(!readOnly); + ui->drop_DropData->setVisible(!readOnly); ui->combined_TypeSelector->setReadOnly(readOnly); } @@ -168,6 +169,7 @@ namespace BlackGui { this->setReadOnly(true); ui->aircraft_Selector->setReadOnly(false); + ui->drop_DropData->setVisible(true); } void CAircraftIcaoForm::clear() diff --git a/src/blackgui/editors/aircraftmodelform.cpp b/src/blackgui/editors/aircraftmodelform.cpp index 9119d0d36..e6a61d89e 100644 --- a/src/blackgui/editors/aircraftmodelform.cpp +++ b/src/blackgui/editors/aircraftmodelform.cpp @@ -34,6 +34,13 @@ namespace BlackGui ui->editor_Livery->setReadOnly(readOnly); } + void CAircraftModelForm::setSelectOnly() + { + ui->editor_AircraftIcao->setSelectOnly(); + ui->editor_Distributor->setSelectOnly(); + ui->editor_Livery->setSelectOnly(); + } + CStatusMessageList CAircraftModelForm::validate(bool withNestedForms) const { CStatusMessageList msgs; diff --git a/src/blackgui/editors/aircraftmodelform.h b/src/blackgui/editors/aircraftmodelform.h index a62fd704e..1027c3565 100644 --- a/src/blackgui/editors/aircraftmodelform.h +++ b/src/blackgui/editors/aircraftmodelform.h @@ -37,9 +37,12 @@ namespace BlackGui //! Allow to drop data void allowDrop(bool allowDrop); - //! Set as read only + //! \copydoc BlackGui::Editors::CForm::setReadOnly virtual void setReadOnly(bool readOnly) override; + //! \copydoc BlackGui::Editors::CForm::setSelectOnly + virtual void setSelectOnly() override; + //! \copydoc BlackGui::Editors::CForm::validate virtual BlackMisc::CStatusMessageList validate(bool withNestedForms = true) const override; diff --git a/src/blackgui/editors/airlineicaoform.cpp b/src/blackgui/editors/airlineicaoform.cpp index 208ff877a..ce7e43268 100644 --- a/src/blackgui/editors/airlineicaoform.cpp +++ b/src/blackgui/editors/airlineicaoform.cpp @@ -118,6 +118,7 @@ namespace BlackGui ui->selector_AirlineName->setReadOnly(readOnly); ui->le_TelephonyDesignator->setReadOnly(readOnly); ui->country_Selector->setReadOnly(readOnly); + ui->drop_DropData->setVisible(!readOnly); CGuiUtility::checkBoxReadOnly(ui->cb_Va, readOnly); CGuiUtility::checkBoxReadOnly(ui->cb_Military, readOnly); @@ -128,6 +129,7 @@ namespace BlackGui this->setReadOnly(true); ui->selector_AirlineDesignator->setReadOnly(false); ui->selector_AirlineName->setReadOnly(false); + ui->drop_DropData->setVisible(true); } void CAirlineIcaoForm::clear() diff --git a/src/blackgui/editors/distributorform.cpp b/src/blackgui/editors/distributorform.cpp index b74e1f783..a2386fcaa 100644 --- a/src/blackgui/editors/distributorform.cpp +++ b/src/blackgui/editors/distributorform.cpp @@ -101,12 +101,14 @@ namespace BlackGui ui->le_Alias2->setReadOnly(readOnly); ui->le_Description->setReadOnly(readOnly); ui->distributor_Selector->setReadOnly(readOnly); + ui->drop_DropData->setVisible(!readOnly); } void CDistributorForm::setSelectOnly() { this->setReadOnly(true); ui->distributor_Selector->setReadOnly(false); + ui->drop_DropData->setVisible(true); } void CDistributorForm::clear() diff --git a/src/blackgui/editors/liveryform.cpp b/src/blackgui/editors/liveryform.cpp index 154442677..9a0905f4a 100644 --- a/src/blackgui/editors/liveryform.cpp +++ b/src/blackgui/editors/liveryform.cpp @@ -156,6 +156,7 @@ namespace BlackGui ui->editor_AirlineIcao->setReadOnly(readOnly); ui->pb_SearchColor->setVisible(!readOnly); ui->pb_TempLivery->setVisible(!readOnly); + ui->drop_DropData->setVisible(!readOnly); CGuiUtility::checkBoxReadOnly(ui->cb_Military, readOnly); } @@ -164,6 +165,7 @@ namespace BlackGui this->setReadOnly(true); ui->comp_LiverySelector->setReadOnly(false); ui->editor_AirlineIcao->setSelectOnly(); + ui->drop_DropData->setVisible(true); } void CLiveryForm::clear()