diff --git a/Saeterprosjekt.pro.user b/Saeterprosjekt.pro.user index 029d496..5515c41 100644 --- a/Saeterprosjekt.pro.user +++ b/Saeterprosjekt.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -294,9 +294,8 @@ 2 - core2 - Qt4ProjectManager.Qt4RunConfiguration:C:/Users/heno/Nextcloud/Div QT Projects/saeterprosjekt/src/core/core.pro - C:/Users/heno/Nextcloud/Div QT Projects/saeterprosjekt/src/core/core.pro + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/heno/Documents/qt prosjekter/Saeterprosjekt/src/core/core.pro + C:/Users/heno/Documents/qt prosjekter/Saeterprosjekt/src/core/core.pro false true true diff --git a/src/core/datatypes.h b/src/core/datatypes.h index b5b867b..08f4b71 100644 --- a/src/core/datatypes.h +++ b/src/core/datatypes.h @@ -31,4 +31,10 @@ enum AlertTypes { SLUTT }; +enum UIElementer { + FORNAVN, + ETTERNAVN, + FIRMANAVN +}; + #endif // DATATYPES_H diff --git a/src/core/mainwindow.cpp b/src/core/mainwindow.cpp index c574751..f5309e2 100644 --- a/src/core/mainwindow.cpp +++ b/src/core/mainwindow.cpp @@ -513,11 +513,14 @@ void MainWindow::visRedigerKundeDlg(int posisjon) { void MainWindow::settInnNyKunde(KundeFil kunde) { if (kunde.value("fornavn").toString().isEmpty()) { - QMessageBox::warning(this, "Kan ikke lagre kunde", "Fornavn feltet er påkrevd"); + nyKdlg->settFeilMelding("Fornavn feltet er påkrevd"); + nyKdlg->fokuserElement(UIElementer::FORNAVN); } else if (kunde.value("etternavn").toString().isEmpty()) { - QMessageBox::warning(this, "Kan ikke lagre kunde", "Etternavn feltet er påkrevd"); + nyKdlg->settFeilMelding("Etternavn feltet er påkrevd"); + nyKdlg->fokuserElement(UIElementer::ETTERNAVN); } else if (kunde.value("firmanavn").toString().isEmpty()) { - QMessageBox::warning(this, "Kan ikke lagre kunde", "Firmanavn feltet er påkrevd"); + nyKdlg->settFeilMelding("Firmanavn feltet er påkrevd"); + nyKdlg->fokuserElement(UIElementer::FIRMANAVN); } else { kundeKart.append(kunde); oppdaterTellere(); @@ -536,12 +539,15 @@ void MainWindow::settInnNyKunde(KundeFil kunde) { */ void MainWindow::redigerKunde(KundeFil redigertKunde) { - if (redigertKunde.value("fornavn").isNull()) { - QMessageBox::warning(this, "Kan ikke lagre kunde", "Fornavn feltet er påkrevd"); - } else if (redigertKunde.value("etternavn").isNull()) { - QMessageBox::warning(this, "Kan ikke lagre kunde", "Etternavn feltet er påkrevd"); - } else if (redigertKunde.value("firmanavn").isNull()) { - QMessageBox::warning(this, "Kan ikke lagre kunde", "Firmanavn feltet er påkrevd"); + if (redigertKunde.value("fornavn").toString().isEmpty()) { + redigerKdlg->settFeilMelding("Fornavn feltet er påkrevd"); + redigerKdlg->fokuserElement(UIElementer::FORNAVN); + } else if (redigertKunde.value("etternavn").toString().isEmpty()) { + redigerKdlg->settFeilMelding("Etternavn feltet er påkrevd"); + redigerKdlg->fokuserElement(UIElementer::ETTERNAVN); + } else if (redigertKunde.value("firmanavn").toString().isEmpty()) { + redigerKdlg->settFeilMelding("Firmanavn feltet er påkrevd"); + redigerKdlg->fokuserElement(UIElementer::FIRMANAVN); } else { for (int i = 0; i < kundeKart.size(); ++i) { if (kundeKart.at(i).value("id").toInt() == redigertKunde.value("id").toInt()) { diff --git a/src/core/nykundedialog.cpp b/src/core/nykundedialog.cpp index b135859..95e1782 100644 --- a/src/core/nykundedialog.cpp +++ b/src/core/nykundedialog.cpp @@ -8,6 +8,7 @@ NyKundeDialog::NyKundeDialog(QWidget *parent) : ui->lineTlf->setValidator(new QIntValidator(10000000, 99999999, this)); ui->linePostnr->setValidator(new QIntValidator(1000, 9999, this)); + ui->labelFeilMelding->setText(""); } NyKundeDialog::~NyKundeDialog() { @@ -22,6 +23,27 @@ void NyKundeDialog::nyKundeId(quint64 id) { ui->lineKundenummer->setText(QString::number(id)); } +void NyKundeDialog::fokuserElement(UIElementer element) { + switch (element) { + case UIElementer::FORNAVN: + ui->lineFornavn->selectAll(); + ui->lineFornavn->setFocus(); + break; + case UIElementer::ETTERNAVN: + ui->lineEtternavn->selectAll(); + ui->lineEtternavn->setFocus(); + break; + case UIElementer::FIRMANAVN: + ui->lineFirmanavn->selectAll(); + ui->lineFirmanavn->setFocus(); + break; + } +} + +void NyKundeDialog::settFeilMelding(QString feilMelding) { + ui->labelFeilMelding->setText(tr("Feil: %1").arg(feilMelding)); +} + void NyKundeDialog::on_pushAvbryt_clicked() { QDialog::close(); } diff --git a/src/core/nykundedialog.h b/src/core/nykundedialog.h index 215b8bb..b983e9f 100644 --- a/src/core/nykundedialog.h +++ b/src/core/nykundedialog.h @@ -20,6 +20,9 @@ public: void startTopp(); void nyKundeId(quint64 id); + void fokuserElement(UIElementer element); + void settFeilMelding(QString feilMelding); + signals: void leggTilKunde(KundeFil kunde); diff --git a/src/core/nykundedialog.ui b/src/core/nykundedialog.ui index b87f255..2826741 100644 --- a/src/core/nykundedialog.ui +++ b/src/core/nykundedialog.ui @@ -206,6 +206,16 @@ + + + + <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Feil: </span><span style=" font-weight:600;"/><span style=" color:#000000;">TextLabel</span></p></body></html> + + + Qt::RichText + + + diff --git a/src/core/redigerkundedialog.cpp b/src/core/redigerkundedialog.cpp index 19fb15f..9069702 100644 --- a/src/core/redigerkundedialog.cpp +++ b/src/core/redigerkundedialog.cpp @@ -3,13 +3,13 @@ RedigerKundeDialog::RedigerKundeDialog(QWidget *parent) : QDialog(parent), - ui(new Ui::RedigerKundeDialog) -{ + ui(new Ui::RedigerKundeDialog) { ui->setupUi(this); + + ui->labelFeilMelding->setText(""); } -RedigerKundeDialog::~RedigerKundeDialog() -{ +RedigerKundeDialog::~RedigerKundeDialog() { delete ui; } @@ -29,6 +29,27 @@ void RedigerKundeDialog::settInnGamleVerdier(KundeFil gjeldendeKundeFil) { ui->lineFornavn->setFocus(); } +void RedigerKundeDialog::fokuserElement(UIElementer element) { + switch (element) { + case UIElementer::FORNAVN: + ui->lineFornavn->selectAll(); + ui->lineFornavn->setFocus(); + break; + case UIElementer::ETTERNAVN: + ui->lineEtternavn->selectAll(); + ui->lineEtternavn->setFocus(); + break; + case UIElementer::FIRMANAVN: + ui->lineFirmanavn->selectAll(); + ui->lineFirmanavn->setFocus(); + break; + } +} + +void RedigerKundeDialog::settFeilMelding(QString feilMelding) { + ui->labelFeilMelding->setText(tr("Feil: %1").arg(feilMelding)); +} + void RedigerKundeDialog::on_pushAvbryt_clicked() { QDialog::close(); } diff --git a/src/core/redigerkundedialog.h b/src/core/redigerkundedialog.h index e40ec44..197e7b0 100644 --- a/src/core/redigerkundedialog.h +++ b/src/core/redigerkundedialog.h @@ -17,6 +17,8 @@ public: ~RedigerKundeDialog(); void settInnGamleVerdier(KundeFil gjeldendeKundeFil); + void fokuserElement(UIElementer element); + void settFeilMelding(QString feilMelding); signals: void oppdaterKundeFil(KundeFil redigertKundeFil); diff --git a/src/core/redigerkundedialog.ui b/src/core/redigerkundedialog.ui index 175d416..3faa707 100644 --- a/src/core/redigerkundedialog.ui +++ b/src/core/redigerkundedialog.ui @@ -7,7 +7,7 @@ 0 0 359 - 309 + 365 @@ -206,6 +206,13 @@ + + + + TextLabel + + +