ConfiguratorWindow::on_lineEditPID_textChanged(), ConfiguratorWindow::on_lineEditPID_textEdited(), ConfiguratorWindow::on_lineEditVID_textChanged() and ConfiguratorWindow::on_lineEditVID_textEdited() should be refactored
Currently, the functions mentioned in the title are implemented as follows:
void ConfiguratorWindow::on_lineEditPID_textChanged()
{
if (ui->lineEditPID->text().size() < 4 || ui->lineEditPID->text() == "0000") {
ui->lineEditPID->setStyleSheet("background: rgb(255, 204, 0);");
} else {
ui->lineEditPID->setStyleSheet("");
}
}
void ConfiguratorWindow::on_lineEditPID_textEdited()
{
int curPosition = ui->lineEditPID->cursorPosition();
ui->lineEditPID->setText(ui->lineEditPID->text().toLower());
ui->lineEditPID->setCursorPosition(curPosition);
}
void ConfiguratorWindow::on_lineEditVID_textChanged()
{
if (ui->lineEditVID->text().size() < 4 || ui->lineEditVID->text() == "0000") {
ui->lineEditVID->setStyleSheet("background: rgb(255, 204, 0);");
} else {
ui->lineEditVID->setStyleSheet("");
}
}
void ConfiguratorWindow::on_lineEditVID_textEdited()
{
int curPosition = ui->lineEditVID->cursorPosition();
ui->lineEditVID->setText(ui->lineEditVID->text().toLower());
ui->lineEditVID->setCursorPosition(curPosition);
}
However, the QLineEdit::textEdited() signal takes an argument of type "const QString &", which is automatically pointed to the text inside the line edit. Thus, the functions above can be refactored as follows:
void ConfiguratorWindow::on_lineEditPID_textChanged(const QString &text)
{
if (text.size() < 4 || text == "0000") {
ui->lineEditPID->setStyleSheet("background: rgb(255, 204, 0);");
} else {
ui->lineEditPID->setStyleSheet("");
}
}
void ConfiguratorWindow::on_lineEditPID_textEdited(const QString &text)
{
int curPosition = ui->lineEditPID->cursorPosition();
ui->lineEditPID->setText(text.toLower());
ui->lineEditPID->setCursorPosition(curPosition);
}
void ConfiguratorWindow::on_lineEditVID_textChanged(const QString &text)
{
if (text.size() < 4 || text == "0000") {
ui->lineEditVID->setStyleSheet("background: rgb(255, 204, 0);");
} else {
ui->lineEditVID->setStyleSheet("");
}
}
void ConfiguratorWindow::on_lineEditVID_textEdited(const QString &text)
{
int curPosition = ui->lineEditVID->cursorPosition();
ui->lineEditVID->setText(text.toLower());
ui->lineEditVID->setCursorPosition(curPosition);
}