#include "dialogedittrainee.h" #include "ui_dialogedittrainee.h" #include #include DialogEditTrainee::DialogEditTrainee(QWidget *parent) : QDialog(parent), ui(new Ui::DialogEditTrainee), traineeInput() { ui->setupUi(this); verify(); ui->editName->setProperty("mandatoryField", true); ui->editLogin->setProperty("mandatoryField", true); ui->editPassword->setProperty("mandatoryField", true); ui->btnViewPassword->setObjectName("btnViewPassword"); ui->editLogin->setValidator(new QRegExpValidator(QRegExp("[A-Za-z\\d]+"), this)); ui->editPassword->setEnabled(false); //#ifndef PROJECT_TYPE_DEBUG ui->editPassword->setEchoMode(QLineEdit::EchoMode::Password); //#endif ui->btnViewPassword->setEnabled(false); ui->btnOK->setEnabled(false); } DialogEditTrainee::~DialogEditTrainee() { delete ui; } void DialogEditTrainee::setTrainee(Trainee trainee) { traineeInput = trainee; ui->editName->setText(trainee.getName()); ui->editLogin->setText(trainee.getLogin()); ui->editPassword->setText(trainee.getPassword()); ui->checkArchived->setChecked(trainee.getArchived()); ui->checkLoggedIn->setChecked(trainee.getLoggedIn()); if(trainee.getNeedSetPassword()) { ui->editPassword->setEnabled(true); ui->btnViewPassword->setEnabled(true); } //else //ui->editPassword->setText("*****"); ui->btnOK->setEnabled(false); } Trainee DialogEditTrainee::getTrainee() { Trainee trainee = traineeInput; trainee.setName(ui->editName->text()); trainee.setLogin(ui->editLogin->text()); trainee.setPassword(ui->editPassword->text()); trainee.setArchived(ui->checkArchived->isChecked()); trainee.setLoggedIn(ui->checkLoggedIn->isChecked()); return trainee; } void DialogEditTrainee::on_editName_textChanged(const QString &arg1) { verify(); } void DialogEditTrainee::on_editLogin_textChanged(const QString &arg1) { verify(); } void DialogEditTrainee::on_editPassword_textChanged(const QString &arg1) { verify(); } void DialogEditTrainee::verify() { if(ui->editName->text().trimmed() == QStringLiteral("") || ui->editLogin->text().trimmed() == QStringLiteral("") || ui->editPassword->text().trimmed() == QStringLiteral("")) ui->btnOK->setEnabled(false); else ui->btnOK->setEnabled(true); } void DialogEditTrainee::on_btnOK_clicked() { this->accept(); } void DialogEditTrainee::on_btnViewPassword_pressed() { ui->editPassword->setEchoMode(QLineEdit::EchoMode::Normal); } void DialogEditTrainee::on_btnViewPassword_released() { ui->editPassword->setEchoMode(QLineEdit::EchoMode::Password); }