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);
CUpperCaseEventFilter *ef = new CUpperCaseEventFilter(ui->pte_Route);
ef->setOnlyAscii();
ui->pte_Route->installEventFilter(ef);
ef = new CUpperCaseEventFilter(ui->pte_Remarks);
ef->setOnlyAscii();
ui->pte_Remarks->installEventFilter(ef);
ef = new CUpperCaseEventFilter(ui->pte_AdditionalRemarks);
ef->setOnlyAscii();
ui->pte_AdditionalRemarks->installEventFilter(ef);
// readonly
// ef = new CUpperCaseEventFilter(ui->pte_RemarksGenerated);
// ui->pte_RemarksGenerated->installEventFilter(ef);
// connect
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)
{
const QChar c = e->text().front();
if (m_illegalChars.contains(c)) { return true; }
if (c.isLetter())
{
const ushort unicode = c.unicode();
if (m_onlyAscii && unicode > 127) { return true; }
if (unicode > 127) { return true; }
pte->insertPlainText(e->text().toUpper());
// return true to prevent further processing
return true;
}
else
{
// all codes like backspace etc.
return false;
}
// all codes like backspace etc.
return false;
} // length
} // key event
}

View File

@@ -19,19 +19,9 @@ namespace swift::gui
//! \copydoc 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:
//! Filter
virtual bool eventFilter(QObject *object, QEvent *event) override;
private:
QString m_illegalChars;
bool m_onlyAscii = false;
bool eventFilter(QObject *object, QEvent *event) override;
};
} // namespace swift::gui