11 #include "ui_dbairlineicaoselectorcomponent.h"
23 using namespace swift::misc::db;
24 using namespace swift::misc::network;
25 using namespace swift::misc::aviation;
29 CDbAirlineIcaoSelectorComponent::CDbAirlineIcaoSelectorComponent(QWidget *parent)
33 this->setFocusProxy(ui->le_Airline);
35 connect(ui->le_Airline, &QLineEdit::editingFinished,
this, &CDbAirlineIcaoSelectorComponent::onDataChanged);
48 this->m_currentIcao.getCombinedStringWithKey());
49 ui->le_Airline->setText(icaoStr);
56 ui->lbl_Description->setVisible(description);
61 ui->le_Airline->clear();
62 ui->lbl_Description->clear();
70 const QStringList &CDbAirlineIcaoSelectorComponent::completerStrings()
75 static const QStringList cs(
82 QCompleter *c =
new QCompleter(completerStrings(),
this);
83 c->setCaseSensitivity(Qt::CaseInsensitive);
84 c->setCompletionMode(QCompleter::PopupCompletion);
85 c->setMaxVisibleItems(10);
86 const int w5chars = c->popup()->fontMetrics().size(Qt::TextSingleLine,
"FooBa").width();
87 c->popup()->setMinimumWidth(w5chars * 10);
88 ui->le_Airline->setCompleter(c);
92 void CDbAirlineIcaoSelectorComponent::onDataChanged()
94 if (!
sGui) {
return; }
95 QString s(ui->le_Airline->text());
96 if (s.isEmpty()) {
return; }
98 int dbKey = CDatastoreUtility::extractIntegerKey(s);
CWebDataServices * getWebDataServices() const
Get the web data services.
swift::misc::aviation::CAirlineIcaoCode getAirlineIcaoCodeForDbKey(int id) const
ICAO code for id.
swift::misc::aviation::CAirlineIcaoCode smartAirlineIcaoSelector(const swift::misc::aviation::CAirlineIcaoCode &code, const swift::misc::aviation::CCallsign &callsign=swift::misc::aviation::CCallsign()) const
Smart airline selector.
swift::misc::aviation::CAirlineIcaoCodeList getAirlineIcaoCodes() const
Airline ICAO codes.
Airline ICAO selector base class.
virtual bool setAirlineIcao(const swift::misc::aviation::CAirlineIcaoCode &icao)
Current airline ICAO.
swift::misc::aviation::CAirlineIcaoCode m_currentIcao
current ICAO object
virtual void clear()
Clear selection.
QString getRawDesignator() const
Raw text designator.
virtual void setReadOnly(bool readOnly)
Read only.
virtual ~CDbAirlineIcaoSelectorComponent()
Destructor.
virtual QCompleter * createCompleter()
Create a new completer.
void displayWithIcaoDescription(bool description)
Display ICAO description.
virtual bool setAirlineIcao(const swift::misc::aviation::CAirlineIcaoCode &icao)
Current airline ICAO.
Value object for ICAO classification.
QString getVDesignatorDbKey() const
Get VDesignator plus key.
const QString & getName() const
Get name, e.g. "Lufthansa".
QStringList toIcaoDesignatorCompleterStrings(bool combinedString=true, bool sort=true) const
String list for completion by ICAO designator.
SWIFT_GUI_EXPORT swift::gui::CGuiApplication * sGui
Single instance of GUI application object.
Backend services of the swift project, like dealing with the network or the simulators.
High level reusable GUI components.
Free functions in swift::misc.
SWIFT_MISC_EXPORT QString stripDesignatorFromCompleterString(const QString &candidate)
Strip a designator from a combined string.