7 #include <QStyledItemDelegate>
9 #include "ui_pilotform.h"
19 using namespace swift::config;
21 using namespace swift::misc::aviation;
22 using namespace swift::misc::network;
25 namespace swift::gui::editors
30 ui->lblp_HomeAirport->setToolTips(
"ok",
"wrong");
31 ui->lblp_Id->setToolTips(
"ok",
"wrong");
32 ui->lblp_Password->setToolTips(
"ok",
"wrong");
33 ui->lblp_RealName->setToolTips(
"ok",
"wrong");
35 connect(ui->pb_UnhidePassword, &QPushButton::clicked,
this, &CPilotForm::unhidePassword);
36 connect(ui->le_Id, &QLineEdit::editingFinished,
this, &CPilotForm::doValidation);
37 connect(ui->comp_HomeAirport, &CAirportSmallCompleter::editingFinished,
this, &CPilotForm::doValidation);
38 connect(ui->le_Password, &QLineEdit::editingFinished,
this, &CPilotForm::doValidation);
39 connect(ui->le_RealName, &QLineEdit::editingFinished,
this, &CPilotForm::doValidation);
46 if (vatsim == m_vatsim) {
return; }
48 ui->le_Id->setValidator(vatsim ? m_vatsimIntValidator.data() :
nullptr);
53 CUser user =
CUser(ui->le_Id->text().trimmed(), CUser::beautifyRealName(ui->le_RealName->text()),
"",
54 ui->le_Password->text());
55 user.
setHomeBase(ui->comp_HomeAirport->getAirportIcaoCode());
61 ui->le_Id->setText(user.
getId());
71 ui->le_Password->clear();
72 ui->comp_HomeAirport->clear();
73 ui->le_RealName->clear();
75 ui->lblp_Id->setTicked(
false);
76 ui->lblp_HomeAirport->setTicked(
false);
77 ui->lblp_Password->setTicked(
false);
78 ui->lblp_RealName->setTicked(
false);
83 ui->comp_HomeAirport->setReadOnly(readonly);
84 ui->le_Id->setReadOnly(readonly);
85 ui->le_Password->setReadOnly(readonly);
86 ui->le_RealName->setReadOnly(readonly);
87 ui->lblp_Id->setVisible(!readonly);
88 ui->lblp_HomeAirport->setVisible(!readonly);
89 ui->lblp_Password->setVisible(!readonly);
90 ui->lblp_RealName->setVisible(!readonly);
101 ui->lblp_Id->setTicked(validId);
105 const bool validHomeAirport =
107 (ui->comp_HomeAirport->isEmpty() || ui->comp_HomeAirport->getAirportIcaoCode().hasValidIcaoCode(
false));
108 ui->lblp_HomeAirport->setTicked(validHomeAirport);
112 ui->lblp_Password->setTicked(validCredentials);
116 ui->lblp_RealName->setTicked(validRealName);
124 void CPilotForm::doValidation()
static void tempUnhidePassword(QLineEdit *lineEdit, int unhideMs=5000)
Temp. unhide password.
Derived & validationError(const char16_t(&format)[N])
Set the severity to error, providing a format string, and adding the validation category.
void push_back(const T &value)
Appends an element at the end of the sequence.
Streamable status message, e.g.
Status messages, e.g. from Core -> GUI.
Value object encapsulating information of a user.
const aviation::CAirportIcaoCode & getHomeBase() const
Homebase.
bool hasValidOrEmptyHomeBase() const
Has valid or empty home base?
const QString & getPassword() const
Get password.
bool hasRealName() const
Valid real name?
const QString & getRealName() const
Get full name.
const QString & getId() const
Get id.
void setHomeBase(const aviation::CAirportIcaoCode &homebase)
Set homebase.
bool hasId() const
Valid id?
bool hasHomeBase() const
Has home base?
bool hasValidVatsimId() const
Has a valid VATSIM id?
bool hasCredentials() const
Valid credentials?
High level reusable GUI components.
Free functions in swift::misc.