refactor: Simplify upper case validator

This commit is contained in:
Lars Toenning
2025-03-24 14:28:33 +01:00
parent eb4f2585ba
commit e1a5fd4e2d
3 changed files with 4 additions and 24 deletions

View File

@@ -108,17 +108,11 @@ namespace swift::gui::components
ui->le_SsrEquipment->setReadOnly(true); ui->le_SsrEquipment->setReadOnly(true);
CUpperCaseEventFilter *ef = new CUpperCaseEventFilter(ui->pte_Route); CUpperCaseEventFilter *ef = new CUpperCaseEventFilter(ui->pte_Route);
ef->setOnlyAscii();
ui->pte_Route->installEventFilter(ef); ui->pte_Route->installEventFilter(ef);
ef = new CUpperCaseEventFilter(ui->pte_Remarks); ef = new CUpperCaseEventFilter(ui->pte_Remarks);
ef->setOnlyAscii();
ui->pte_Remarks->installEventFilter(ef); ui->pte_Remarks->installEventFilter(ef);
ef = new CUpperCaseEventFilter(ui->pte_AdditionalRemarks); ef = new CUpperCaseEventFilter(ui->pte_AdditionalRemarks);
ef->setOnlyAscii();
ui->pte_AdditionalRemarks->installEventFilter(ef); ui->pte_AdditionalRemarks->installEventFilter(ef);
// readonly
// ef = new CUpperCaseEventFilter(ui->pte_RemarksGenerated);
// ui->pte_RemarksGenerated->installEventFilter(ef);
// connect // connect
connect(ui->pb_Send, &QPushButton::pressed, this, &CFlightPlanComponent::sendFlightPlan, Qt::QueuedConnection); connect(ui->pb_Send, &QPushButton::pressed, this, &CFlightPlanComponent::sendFlightPlan, Qt::QueuedConnection);

View File

@@ -27,21 +27,17 @@ namespace swift::gui
if (e->text().length() == 1) if (e->text().length() == 1)
{ {
const QChar c = e->text().front(); const QChar c = e->text().front();
if (m_illegalChars.contains(c)) { return true; }
if (c.isLetter()) if (c.isLetter())
{ {
const ushort unicode = c.unicode(); const ushort unicode = c.unicode();
if (m_onlyAscii && unicode > 127) { return true; } if (unicode > 127) { return true; }
pte->insertPlainText(e->text().toUpper()); pte->insertPlainText(e->text().toUpper());
// return true to prevent further processing // return true to prevent further processing
return true; return true;
} }
else // all codes like backspace etc.
{ return false;
// all codes like backspace etc.
return false;
}
} // length } // length
} // key event } // key event
} }

View File

@@ -19,19 +19,9 @@ namespace swift::gui
//! \copydoc QObject::QObject //! \copydoc QObject::QObject
using QObject::QObject; using QObject::QObject;
//! Not allowed characters
void setIllegalCharacters(const QString &illegal) { m_illegalChars = illegal; }
//! Allow only ASCII
void setOnlyAscii() { m_onlyAscii = true; }
protected: protected:
//! Filter //! Filter
virtual bool eventFilter(QObject *object, QEvent *event) override; bool eventFilter(QObject *object, QEvent *event) override;
private:
QString m_illegalChars;
bool m_onlyAscii = false;
}; };
} // namespace swift::gui } // namespace swift::gui