mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-16 02:06:08 +08:00
refs #911, allow to enter id for airline and aircraft ICAO
This commit is contained in:
committed by
Mathew Sutcliffe
parent
317b52a00b
commit
cc1fd0e868
@@ -47,10 +47,13 @@ namespace BlackGui
|
|||||||
this->setFocusProxy(ui->le_Id);
|
this->setFocusProxy(ui->le_Id);
|
||||||
ui->lai_id->set(CIcons::appAircraftIcao16(), "Id:");
|
ui->lai_id->set(CIcons::appAircraftIcao16(), "Id:");
|
||||||
ui->le_Updated->setReadOnly(true);
|
ui->le_Updated->setReadOnly(true);
|
||||||
ui->le_Id->setReadOnly(true);
|
ui->le_Id->setValidator(new QIntValidator(0, 999999, ui->le_Id));
|
||||||
ui->aircraft_Selector->displayWithIcaoDescription(false);
|
ui->aircraft_Selector->displayWithIcaoDescription(false);
|
||||||
connect(ui->aircraft_Selector, &CDbAircraftIcaoSelectorComponent::changedAircraftIcao, this, &CAircraftIcaoForm::setValue);
|
connect(ui->aircraft_Selector, &CDbAircraftIcaoSelectorComponent::changedAircraftIcao, this, &CAircraftIcaoForm::setValue);
|
||||||
|
|
||||||
|
// Id
|
||||||
|
connect(ui->le_Id, &QLineEdit::returnPressed, this, &CAircraftIcaoForm::ps_idEntered);
|
||||||
|
|
||||||
// drag and drop
|
// drag and drop
|
||||||
connect(ui->drop_DropData, &CDropSite::droppedValueObject, this, &CAircraftIcaoForm::ps_droppedCode);
|
connect(ui->drop_DropData, &CDropSite::droppedValueObject, this, &CAircraftIcaoForm::ps_droppedCode);
|
||||||
ui->drop_DropData->setInfoText("<drop aircraft ICAO code>");
|
ui->drop_DropData->setInfoText("<drop aircraft ICAO code>");
|
||||||
@@ -155,6 +158,7 @@ namespace BlackGui
|
|||||||
ui->le_ModelDescription->setReadOnly(readOnly);
|
ui->le_ModelDescription->setReadOnly(readOnly);
|
||||||
ui->le_Family->setReadOnly(readOnly);
|
ui->le_Family->setReadOnly(readOnly);
|
||||||
ui->le_Iata->setReadOnly(readOnly);
|
ui->le_Iata->setReadOnly(readOnly);
|
||||||
|
ui->le_Id->setReadOnly(readOnly);
|
||||||
|
|
||||||
CGuiUtility::checkBoxReadOnly(ui->cb_Legacy, readOnly);
|
CGuiUtility::checkBoxReadOnly(ui->cb_Legacy, readOnly);
|
||||||
CGuiUtility::checkBoxReadOnly(ui->cb_Military, readOnly);
|
CGuiUtility::checkBoxReadOnly(ui->cb_Military, readOnly);
|
||||||
@@ -170,6 +174,7 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
this->setReadOnly(true);
|
this->setReadOnly(true);
|
||||||
ui->aircraft_Selector->setReadOnly(false);
|
ui->aircraft_Selector->setReadOnly(false);
|
||||||
|
ui->le_Id->setReadOnly(false);
|
||||||
ui->drop_DropData->setVisible(true);
|
ui->drop_DropData->setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,6 +183,11 @@ namespace BlackGui
|
|||||||
setValue(CAircraftIcaoCode());
|
setValue(CAircraftIcaoCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CAircraftIcaoForm::resetValue()
|
||||||
|
{
|
||||||
|
this->setValue(m_originalCode);
|
||||||
|
}
|
||||||
|
|
||||||
void CAircraftIcaoForm::ps_droppedCode(const BlackMisc::CVariant &variantDropped)
|
void CAircraftIcaoForm::ps_droppedCode(const BlackMisc::CVariant &variantDropped)
|
||||||
{
|
{
|
||||||
CAircraftIcaoCode icao;
|
CAircraftIcaoCode icao;
|
||||||
@@ -198,6 +208,24 @@ namespace BlackGui
|
|||||||
this->setValue(icao);
|
this->setValue(icao);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CAircraftIcaoForm::ps_idEntered()
|
||||||
|
{
|
||||||
|
if (!sGui || !sGui->hasWebDataServices())
|
||||||
|
{
|
||||||
|
ui->le_Id->undo();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const int id = ui->le_Id->text().toInt();
|
||||||
|
const CAircraftIcaoCode icao = sGui->getWebDataServices()->getAircraftIcaoCodeForDbKey(id);
|
||||||
|
if (!icao.isLoadedFromDb())
|
||||||
|
{
|
||||||
|
ui->le_Id->undo();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this->setValue(icao);
|
||||||
|
}
|
||||||
|
|
||||||
int CAircraftIcaoForm::getDbKeyFromGui() const
|
int CAircraftIcaoForm::getDbKeyFromGui() const
|
||||||
{
|
{
|
||||||
QString key(ui->le_Id->text().trimmed());
|
QString key(ui->le_Id->text().trimmed());
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
class QWidget;
|
class QWidget;
|
||||||
|
|
||||||
namespace Ui { class CAircraftIcaoForm; }
|
namespace Ui { class CAircraftIcaoForm; }
|
||||||
|
|
||||||
namespace BlackGui
|
namespace BlackGui
|
||||||
{
|
{
|
||||||
namespace Editors
|
namespace Editors
|
||||||
@@ -42,7 +41,7 @@ namespace BlackGui
|
|||||||
explicit CAircraftIcaoForm(QWidget *parent = nullptr);
|
explicit CAircraftIcaoForm(QWidget *parent = nullptr);
|
||||||
|
|
||||||
//! Destructor
|
//! Destructor
|
||||||
~CAircraftIcaoForm();
|
virtual ~CAircraftIcaoForm();
|
||||||
|
|
||||||
//! Get value
|
//! Get value
|
||||||
BlackMisc::Aviation::CAircraftIcaoCode getValue() const;
|
BlackMisc::Aviation::CAircraftIcaoCode getValue() const;
|
||||||
@@ -63,6 +62,9 @@ namespace BlackGui
|
|||||||
//! Clear
|
//! Clear
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
|
//! Reset value to current value
|
||||||
|
void resetValue();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
//! Set value
|
//! Set value
|
||||||
bool setValue(const BlackMisc::Aviation::CAircraftIcaoCode &icao);
|
bool setValue(const BlackMisc::Aviation::CAircraftIcaoCode &icao);
|
||||||
@@ -71,6 +73,9 @@ namespace BlackGui
|
|||||||
//! Variant has been dropped
|
//! Variant has been dropped
|
||||||
void ps_droppedCode(const BlackMisc::CVariant &variantDropped);
|
void ps_droppedCode(const BlackMisc::CVariant &variantDropped);
|
||||||
|
|
||||||
|
//! Id has been entered
|
||||||
|
void ps_idEntered();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QScopedPointer<Ui::CAircraftIcaoForm> ui;
|
QScopedPointer<Ui::CAircraftIcaoForm> ui;
|
||||||
BlackMisc::Aviation::CAircraftIcaoCode m_originalCode;
|
BlackMisc::Aviation::CAircraftIcaoCode m_originalCode;
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
#include "blackgui/editors/validationindicator.h"
|
#include "blackgui/editors/validationindicator.h"
|
||||||
#include "blackgui/guiutility.h"
|
#include "blackgui/guiutility.h"
|
||||||
#include "blackgui/labelandicon.h"
|
#include "blackgui/labelandicon.h"
|
||||||
|
#include "blackgui/guiapplication.h"
|
||||||
|
#include "blackcore/webdataservices.h"
|
||||||
#include "blackmisc/aviation/airlineicaocodelist.h"
|
#include "blackmisc/aviation/airlineicaocodelist.h"
|
||||||
#include "blackmisc/compare.h"
|
#include "blackmisc/compare.h"
|
||||||
#include "blackmisc/icons.h"
|
#include "blackmisc/icons.h"
|
||||||
@@ -39,13 +41,16 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
ui->le_Updated->setReadOnly(true);
|
ui->le_Updated->setReadOnly(true);
|
||||||
ui->le_Id->setReadOnly(true);
|
ui->le_Id->setValidator(new QIntValidator(0, 999999, ui->le_Id));
|
||||||
ui->lai_Id->set(CIcons::appAirlineIcao16(), "Id:");
|
ui->lai_Id->set(CIcons::appAirlineIcao16(), "Id:");
|
||||||
|
|
||||||
ui->selector_AirlineDesignator->displayWithIcaoDescription(false);
|
ui->selector_AirlineDesignator->displayWithIcaoDescription(false);
|
||||||
connect(ui->selector_AirlineName, &CDbAirlineIcaoSelectorComponent::changedAirlineIcao, this, &CAirlineIcaoForm::setValue);
|
connect(ui->selector_AirlineName, &CDbAirlineIcaoSelectorComponent::changedAirlineIcao, this, &CAirlineIcaoForm::setValue);
|
||||||
connect(ui->selector_AirlineDesignator, &CDbAirlineIcaoSelectorComponent::changedAirlineIcao, this, &CAirlineIcaoForm::setValue);
|
connect(ui->selector_AirlineDesignator, &CDbAirlineIcaoSelectorComponent::changedAirlineIcao, this, &CAirlineIcaoForm::setValue);
|
||||||
|
|
||||||
|
// Id
|
||||||
|
connect(ui->le_Id, &QLineEdit::returnPressed, this, &CAirlineIcaoForm::ps_idEntered);
|
||||||
|
|
||||||
// drag and drop
|
// drag and drop
|
||||||
connect(ui->drop_DropData, &CDropSite::droppedValueObject, this, &CAirlineIcaoForm::ps_droppedCode);
|
connect(ui->drop_DropData, &CDropSite::droppedValueObject, this, &CAirlineIcaoForm::ps_droppedCode);
|
||||||
ui->drop_DropData->setInfoText("<drop airline ICAO code>");
|
ui->drop_DropData->setInfoText("<drop airline ICAO code>");
|
||||||
@@ -114,6 +119,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CAirlineIcaoForm::setReadOnly(bool readOnly)
|
void CAirlineIcaoForm::setReadOnly(bool readOnly)
|
||||||
{
|
{
|
||||||
|
ui->le_Id->setReadOnly(readOnly);
|
||||||
ui->selector_AirlineDesignator->setReadOnly(readOnly);
|
ui->selector_AirlineDesignator->setReadOnly(readOnly);
|
||||||
ui->selector_AirlineName->setReadOnly(readOnly);
|
ui->selector_AirlineName->setReadOnly(readOnly);
|
||||||
ui->le_TelephonyDesignator->setReadOnly(readOnly);
|
ui->le_TelephonyDesignator->setReadOnly(readOnly);
|
||||||
@@ -127,6 +133,7 @@ namespace BlackGui
|
|||||||
void CAirlineIcaoForm::setSelectOnly()
|
void CAirlineIcaoForm::setSelectOnly()
|
||||||
{
|
{
|
||||||
this->setReadOnly(true);
|
this->setReadOnly(true);
|
||||||
|
ui->le_Id->setReadOnly(false);
|
||||||
ui->selector_AirlineDesignator->setReadOnly(false);
|
ui->selector_AirlineDesignator->setReadOnly(false);
|
||||||
ui->selector_AirlineName->setReadOnly(false);
|
ui->selector_AirlineName->setReadOnly(false);
|
||||||
ui->drop_DropData->setVisible(true);
|
ui->drop_DropData->setVisible(true);
|
||||||
@@ -134,7 +141,12 @@ namespace BlackGui
|
|||||||
|
|
||||||
void CAirlineIcaoForm::clear()
|
void CAirlineIcaoForm::clear()
|
||||||
{
|
{
|
||||||
setValue(CAirlineIcaoCode());
|
this->setValue(CAirlineIcaoCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
void CAirlineIcaoForm::resetValue()
|
||||||
|
{
|
||||||
|
this->setValue(m_originalCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CAirlineIcaoForm::ps_droppedCode(const BlackMisc::CVariant &variantDropped)
|
void CAirlineIcaoForm::ps_droppedCode(const BlackMisc::CVariant &variantDropped)
|
||||||
@@ -156,5 +168,23 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
this->setValue(icao);
|
this->setValue(icao);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CAirlineIcaoForm::ps_idEntered()
|
||||||
|
{
|
||||||
|
if (!sGui || !sGui->hasWebDataServices())
|
||||||
|
{
|
||||||
|
ui->le_Id->undo();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const int id = ui->le_Id->text().toInt();
|
||||||
|
const CAirlineIcaoCode icao = sGui->getWebDataServices()->getAirlineIcaoCodeForDbKey(id);
|
||||||
|
if (!icao.isLoadedFromDb())
|
||||||
|
{
|
||||||
|
ui->le_Id->undo();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this->setValue(icao);
|
||||||
|
}
|
||||||
} // ns
|
} // ns
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace BlackGui
|
|||||||
explicit CAirlineIcaoForm(QWidget *parent = nullptr);
|
explicit CAirlineIcaoForm(QWidget *parent = nullptr);
|
||||||
|
|
||||||
//! Destructor
|
//! Destructor
|
||||||
~CAirlineIcaoForm();
|
virtual ~CAirlineIcaoForm();
|
||||||
|
|
||||||
//! Set value
|
//! Set value
|
||||||
void setValue(const BlackMisc::Aviation::CAirlineIcaoCode &icao = BlackMisc::Aviation::CAirlineIcaoCode());
|
void setValue(const BlackMisc::Aviation::CAirlineIcaoCode &icao = BlackMisc::Aviation::CAirlineIcaoCode());
|
||||||
@@ -66,6 +66,9 @@ namespace BlackGui
|
|||||||
//! Clear
|
//! Clear
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
|
//! Reset value to current value
|
||||||
|
void resetValue();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
//! Airline has been changed
|
//! Airline has been changed
|
||||||
void airlineChanged(const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcao);
|
void airlineChanged(const BlackMisc::Aviation::CAirlineIcaoCode &airlineIcao);
|
||||||
@@ -74,11 +77,13 @@ namespace BlackGui
|
|||||||
//! Variant has been dropped
|
//! Variant has been dropped
|
||||||
void ps_droppedCode(const BlackMisc::CVariant &variantDropped);
|
void ps_droppedCode(const BlackMisc::CVariant &variantDropped);
|
||||||
|
|
||||||
|
//! Id entered
|
||||||
|
void ps_idEntered();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QScopedPointer<Ui::CAirlineIcaoForm> ui;
|
QScopedPointer<Ui::CAirlineIcaoForm> ui;
|
||||||
BlackMisc::Aviation::CAirlineIcaoCode m_originalCode; //!< object allowing to override values
|
BlackMisc::Aviation::CAirlineIcaoCode m_originalCode; //!< object allowing to override values
|
||||||
};
|
};
|
||||||
|
|
||||||
} // ns
|
} // ns
|
||||||
} //ns
|
} //ns
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user