mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-03 16:25:54 +08:00
Fixed style of airline ICAO form and better scaling of images
This commit is contained in:
@@ -23,6 +23,7 @@
|
|||||||
#include <QMetaType>
|
#include <QMetaType>
|
||||||
#include <QPalette>
|
#include <QPalette>
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
#include <QPointer>
|
||||||
|
|
||||||
using namespace BlackGui;
|
using namespace BlackGui;
|
||||||
using namespace BlackCore;
|
using namespace BlackCore;
|
||||||
@@ -49,8 +50,11 @@ namespace BlackGui
|
|||||||
const int c = sGui->getWebDataServices()->getAirlineIcaoCodesCount();
|
const int c = sGui->getWebDataServices()->getAirlineIcaoCodesCount();
|
||||||
if (c > 0)
|
if (c > 0)
|
||||||
{
|
{
|
||||||
QTimer::singleShot(500, [this, c]()
|
QPointer<CDbAirlineIcaoSelectorBase> myself(this);
|
||||||
|
QTimer::singleShot(500, [ = ]()
|
||||||
{
|
{
|
||||||
|
if (!sGui || sGui->isShuttingDown()) { return; }
|
||||||
|
if (!myself) { return; }
|
||||||
this->onCodesRead(CEntityFlags::AirlineIcaoEntity, CEntityFlags::ReadFinished, c);
|
this->onCodesRead(CEntityFlags::AirlineIcaoEntity, CEntityFlags::ReadFinished, c);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -77,16 +81,10 @@ namespace BlackGui
|
|||||||
bool CDbAirlineIcaoSelectorBase::setAirlineIcao(int key)
|
bool CDbAirlineIcaoSelectorBase::setAirlineIcao(int key)
|
||||||
{
|
{
|
||||||
CAirlineIcaoCode icao(sGui->getWebDataServices()->getAirlineIcaoCodeForDbKey(key));
|
CAirlineIcaoCode icao(sGui->getWebDataServices()->getAirlineIcaoCodeForDbKey(key));
|
||||||
if (icao.hasCompleteData())
|
if (!icao.hasCompleteData()) { return false; }
|
||||||
{
|
|
||||||
this->setAirlineIcao(icao);
|
this->setAirlineIcao(icao);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CDbAirlineIcaoSelectorBase::isSet() const
|
bool CDbAirlineIcaoSelectorBase::isSet() const
|
||||||
{
|
{
|
||||||
@@ -97,7 +95,7 @@ namespace BlackGui
|
|||||||
void CDbAirlineIcaoSelectorBase::dragEnterEvent(QDragEnterEvent *event)
|
void CDbAirlineIcaoSelectorBase::dragEnterEvent(QDragEnterEvent *event)
|
||||||
{
|
{
|
||||||
if (!event || !acceptDrop(event->mimeData())) { return; }
|
if (!event || !acceptDrop(event->mimeData())) { return; }
|
||||||
setBackgroundRole(QPalette::Highlight);
|
this->setBackgroundRole(QPalette::Highlight);
|
||||||
event->acceptProposedAction();
|
event->acceptProposedAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,12 +114,12 @@ namespace BlackGui
|
|||||||
void CDbAirlineIcaoSelectorBase::dropEvent(QDropEvent *event)
|
void CDbAirlineIcaoSelectorBase::dropEvent(QDropEvent *event)
|
||||||
{
|
{
|
||||||
if (!event || !acceptDrop(event->mimeData())) { return; }
|
if (!event || !acceptDrop(event->mimeData())) { return; }
|
||||||
CVariant valueVariant(toCVariant(event->mimeData()));
|
const CVariant valueVariant(toCVariant(event->mimeData()));
|
||||||
if (valueVariant.isValid())
|
if (valueVariant.isValid())
|
||||||
{
|
{
|
||||||
if (valueVariant.canConvert<CAirlineIcaoCode>())
|
if (valueVariant.canConvert<CAirlineIcaoCode>())
|
||||||
{
|
{
|
||||||
CAirlineIcaoCode icao(valueVariant.value<CAirlineIcaoCode>());
|
const CAirlineIcaoCode icao(valueVariant.value<CAirlineIcaoCode>());
|
||||||
if (!icao.hasValidDbKey()) { return; }
|
if (!icao.hasValidDbKey()) { return; }
|
||||||
this->setAirlineIcao(icao);
|
this->setAirlineIcao(icao);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,15 +45,15 @@ namespace BlackGui
|
|||||||
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, Qt::QueuedConnection);
|
||||||
connect(ui->selector_AirlineDesignator, &CDbAirlineIcaoSelectorComponent::changedAirlineIcao, this, &CAirlineIcaoForm::setValue);
|
connect(ui->selector_AirlineDesignator, &CDbAirlineIcaoSelectorComponent::changedAirlineIcao, this, &CAirlineIcaoForm::setValue, Qt::QueuedConnection);
|
||||||
|
|
||||||
// Id
|
// Id
|
||||||
connect(ui->le_Id, &QLineEdit::returnPressed, this, &CAirlineIcaoForm::ps_idEntered);
|
connect(ui->le_Id, &QLineEdit::returnPressed, this, &CAirlineIcaoForm::onIdEntered);
|
||||||
|
|
||||||
// drag and drop, paste
|
// drag and drop, paste
|
||||||
connect(ui->tb_Paste, &QToolButton::clicked, this, &CAirlineIcaoForm::pasted);
|
connect(ui->tb_Paste, &QToolButton::clicked, this, &CAirlineIcaoForm::pasted);
|
||||||
connect(ui->drop_DropData, &CDropSite::droppedValueObject, this, &CAirlineIcaoForm::ps_droppedCode);
|
connect(ui->drop_DropData, &CDropSite::droppedValueObject, this, &CAirlineIcaoForm::onDroppedCode);
|
||||||
ui->drop_DropData->setInfoText("<drop airline ICAO code>");
|
ui->drop_DropData->setInfoText("<drop airline ICAO code>");
|
||||||
ui->drop_DropData->setAcceptedMetaTypeIds({ qMetaTypeId<CAirlineIcaoCode>(), qMetaTypeId<CAirlineIcaoCodeList>()});
|
ui->drop_DropData->setAcceptedMetaTypeIds({ qMetaTypeId<CAirlineIcaoCode>(), qMetaTypeId<CAirlineIcaoCodeList>()});
|
||||||
}
|
}
|
||||||
@@ -61,10 +61,10 @@ namespace BlackGui
|
|||||||
CAirlineIcaoForm::~CAirlineIcaoForm()
|
CAirlineIcaoForm::~CAirlineIcaoForm()
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
void CAirlineIcaoForm::setValue(const BlackMisc::Aviation::CAirlineIcaoCode &icao)
|
void CAirlineIcaoForm::setValue(const CAirlineIcaoCode &icao)
|
||||||
{
|
{
|
||||||
if (this->m_originalCode == icao) { return; }
|
if (m_originalCode == icao) { return; }
|
||||||
this->m_originalCode = icao;
|
m_originalCode = icao;
|
||||||
|
|
||||||
ui->selector_AirlineDesignator->setAirlineIcao(icao);
|
ui->selector_AirlineDesignator->setAirlineIcao(icao);
|
||||||
ui->selector_AirlineName->setAirlineIcao(icao);
|
ui->selector_AirlineName->setAirlineIcao(icao);
|
||||||
@@ -74,14 +74,24 @@ namespace BlackGui
|
|||||||
ui->cb_Va->setChecked(icao.isVirtualAirline());
|
ui->cb_Va->setChecked(icao.isVirtualAirline());
|
||||||
ui->cb_Military->setChecked(icao.isMilitary());
|
ui->cb_Military->setChecked(icao.isMilitary());
|
||||||
ui->country_Selector->setCountry(icao.getCountry());
|
ui->country_Selector->setCountry(icao.getCountry());
|
||||||
ui->lbl_AirlineIcon->setPixmap(icao.toPixmap());
|
|
||||||
|
const QPixmap pm = icao.toPixmap();
|
||||||
|
if (pm.width() < 125)
|
||||||
|
{
|
||||||
|
ui->lbl_AirlineIcon->setPixmap(pm);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->lbl_AirlineIcon->setTextFormat(Qt::RichText);
|
||||||
|
ui->lbl_AirlineIcon->setText(CGuiUtility::asSimpleHtmlImageHeight(icao.toIcon(), 25));
|
||||||
|
}
|
||||||
|
|
||||||
// sometimes artefacts when icon is displayed
|
// sometimes artefacts when icon is displayed
|
||||||
this->repaint();
|
this->repaint();
|
||||||
|
|
||||||
if (this->m_originalCode.hasCompleteData())
|
if (m_originalCode.hasCompleteData())
|
||||||
{
|
{
|
||||||
emit airlineChanged(this->m_originalCode);
|
emit airlineChanged(m_originalCode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,7 +187,7 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CAirlineIcaoForm::ps_droppedCode(const BlackMisc::CVariant &variantDropped)
|
void CAirlineIcaoForm::onDroppedCode(const BlackMisc::CVariant &variantDropped)
|
||||||
{
|
{
|
||||||
CAirlineIcaoCode icao;
|
CAirlineIcaoCode icao;
|
||||||
if (variantDropped.canConvert<CAirlineIcaoCode>())
|
if (variantDropped.canConvert<CAirlineIcaoCode>())
|
||||||
@@ -197,7 +207,7 @@ namespace BlackGui
|
|||||||
this->setValue(icao);
|
this->setValue(icao);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CAirlineIcaoForm::ps_idEntered()
|
void CAirlineIcaoForm::onIdEntered()
|
||||||
{
|
{
|
||||||
if (!sGui || !sGui->hasWebDataServices())
|
if (!sGui || !sGui->hasWebDataServices())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -75,12 +75,11 @@ namespace BlackGui
|
|||||||
//! \copydoc CForm::jsonPasted
|
//! \copydoc CForm::jsonPasted
|
||||||
virtual void jsonPasted(const QString &json) override;
|
virtual void jsonPasted(const QString &json) override;
|
||||||
|
|
||||||
private slots:
|
|
||||||
//! Variant has been dropped
|
//! Variant has been dropped
|
||||||
void ps_droppedCode(const BlackMisc::CVariant &variantDropped);
|
void onDroppedCode(const BlackMisc::CVariant &variantDropped);
|
||||||
|
|
||||||
//! Id entered
|
//! Id entered
|
||||||
void ps_idEntered();
|
void onIdEntered();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QScopedPointer<Ui::CAirlineIcaoForm> ui;
|
QScopedPointer<Ui::CAirlineIcaoForm> ui;
|
||||||
|
|||||||
Reference in New Issue
Block a user