mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-12 23:35:33 +08:00
refs #911, paste support in forms
* added paste icon * base class utility functions * implemented paste for livery, airline and aircraft ICAO
This commit is contained in:
committed by
Mathew Sutcliffe
parent
5e69be6208
commit
fc3a36512e
@@ -45,7 +45,7 @@ namespace BlackGui
|
||||
{
|
||||
ui->setupUi(this);
|
||||
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_Id->setValidator(new QIntValidator(0, 999999, ui->le_Id));
|
||||
ui->aircraft_Selector->displayWithIcaoDescription(false);
|
||||
@@ -54,8 +54,9 @@ namespace BlackGui
|
||||
// Id
|
||||
connect(ui->le_Id, &QLineEdit::returnPressed, this, &CAircraftIcaoForm::ps_idEntered);
|
||||
|
||||
// drag and drop
|
||||
// drag and drop, pasted
|
||||
connect(ui->drop_DropData, &CDropSite::droppedValueObject, this, &CAircraftIcaoForm::ps_droppedCode);
|
||||
connect(ui->tb_Paste, &QToolButton::clicked, this, &CAircraftIcaoForm::ps_pasted);
|
||||
ui->drop_DropData->setInfoText("<drop aircraft ICAO code>");
|
||||
ui->drop_DropData->setAcceptedMetaTypeIds({ qMetaTypeId<CAircraftIcaoCode>(), qMetaTypeId<CAircraftIcaoCodeList>()});
|
||||
}
|
||||
@@ -89,6 +90,23 @@ namespace BlackGui
|
||||
return true;
|
||||
}
|
||||
|
||||
void CAircraftIcaoForm::jsonPasted(const QString &json)
|
||||
{
|
||||
try
|
||||
{
|
||||
CAircraftIcaoCodeList icaos;
|
||||
icaos.convertFromJson(Json::jsonObjectFromString(json));
|
||||
if (!icaos.isEmpty())
|
||||
{
|
||||
this->setValue(icaos.front());
|
||||
}
|
||||
}
|
||||
catch (const CJsonException &ex)
|
||||
{
|
||||
Q_UNUSED(ex);
|
||||
}
|
||||
}
|
||||
|
||||
CAircraftIcaoCode CAircraftIcaoForm::getValue() const
|
||||
{
|
||||
CAircraftIcaoCode icao(ui->aircraft_Selector->getAircraftIcao());
|
||||
@@ -159,6 +177,7 @@ namespace BlackGui
|
||||
ui->le_Family->setReadOnly(readOnly);
|
||||
ui->le_Iata->setReadOnly(readOnly);
|
||||
ui->le_Id->setReadOnly(readOnly);
|
||||
ui->tb_Paste->setVisible(!readOnly);
|
||||
|
||||
CGuiUtility::checkBoxReadOnly(ui->cb_Legacy, readOnly);
|
||||
CGuiUtility::checkBoxReadOnly(ui->cb_Military, readOnly);
|
||||
@@ -173,6 +192,7 @@ namespace BlackGui
|
||||
void CAircraftIcaoForm::setSelectOnly()
|
||||
{
|
||||
this->setReadOnly(true);
|
||||
ui->tb_Paste->setVisible(true);
|
||||
ui->aircraft_Selector->setReadOnly(false);
|
||||
ui->le_Id->setReadOnly(false);
|
||||
ui->drop_DropData->setVisible(true);
|
||||
|
||||
Reference in New Issue
Block a user