#include "nyttprosjektdialog.h" #include "ui_nyttprosjektdialog.h" NyttProsjektDialog::NyttProsjektDialog(QWidget *parent) : QDialog(parent), ui(new Ui::NyttProsjektDialog) { ui->setupUi(this); QDateTime iDag = QDateTime::currentDateTime(); QDate dagensDato = iDag.date(); ui->dateStart->setMinimumDate(dagensDato); ui->dateSlutt->setMinimumDate(dagensDato); } NyttProsjektDialog::~NyttProsjektDialog() { delete ui; } void NyttProsjektDialog::opprettOrdreNr(int ordreNr) { ui->lineOrdrenummer->setText(QString::number(ordreNr)); } void NyttProsjektDialog::fokusStart() { ui->lineProsjektNavn->setFocus(); } void NyttProsjektDialog::on_pushAvbryt_clicked() { QDialog::close(); } void NyttProsjektDialog::on_pushLagre_clicked() { ProsjektFil nyttProsjekt; nyttProsjekt.insert("prosjektnavn", ui->lineProsjektNavn->text()); nyttProsjekt.insert("ordrenummer", ui->lineOrdrenummer->text().toInt()); nyttProsjekt.insert("prosjektbeskrivelse", ui->textEditProsjektBeskrivelse->toHtml()); nyttProsjekt.insert("varslestart", ui->checkVarsleStart->isChecked()); nyttProsjekt.insert("varsleslutt", ui->checkVarsleSlutt->isChecked()); QDateTime prosjektStartDato = ui->dateStart->dateTime(); quint64 mSekStart = prosjektStartDato.toMSecsSinceEpoch() + ui->timeStart->time().msecsSinceStartOfDay(); QDateTime prosjektSluttDato = ui->dateSlutt->dateTime(); quint64 mSekSlutt = prosjektSluttDato.toMSecsSinceEpoch() + ui->timeSlutt->time().msecsSinceStartOfDay(); nyttProsjekt.insert("prosjektstart", mSekStart); nyttProsjekt.insert("prosjektslutt", mSekSlutt); int dognVarselStart = ui->spinBoxAntallDognVarslingStart->value(); int timerVarselStart = ui->spinBoxTimerForStart->value(); quint64 epochVarselDognStart = dognVarselStart * 24 * 60 * 60 * 1000; quint64 epochVarselTimerStart = timerVarselStart * 60 * 60 * 1000; quint64 epochVarselStart = epochVarselDognStart + epochVarselTimerStart; int dognVarselSlutt = ui->spinBoxAntallDognVarslingSlutt->value(); int timerVarselSlutt = ui->spinBoxTimerForSlutt->value(); quint64 epochVarselDognSlutt = dognVarselSlutt * 24 * 60 * 60 * 1000; quint64 epochVarselTimerSlutt = timerVarselSlutt * 60 * 60 * 1000; quint64 epochVarselSlutt = epochVarselDognSlutt + epochVarselTimerSlutt; nyttProsjekt.insert("varselstart", epochVarselStart); nyttProsjekt.insert("varselslutt", epochVarselSlutt); nyttProsjekt.insert("dognvarselstart", ui->spinBoxAntallDognVarslingStart->value()); nyttProsjekt.insert("dognvarselslutt", ui->spinBoxAntallDognVarslingSlutt->value()); nyttProsjekt.insert("timervarselstart", ui->spinBoxTimerForStart->value()); nyttProsjekt.insert("timercarselslutt", ui->spinBoxTimerForSlutt->value()); nyttProsjekt.insert("active", true); nyttProsjekt.insert("ferdig", false); emit leggTilProsjekt(nyttProsjekt); } void NyttProsjektDialog::on_checkVarsleStart_clicked() { endreVarselStatus(); } void NyttProsjektDialog::on_checkVarsleSlutt_clicked() { endreVarselStatus(); } void NyttProsjektDialog::endreVarselStatus() { ui->spinBoxAntallDognVarslingSlutt->setEnabled(ui->checkVarsleSlutt->isChecked()); ui->spinBoxTimerForSlutt->setEnabled(ui->checkVarsleSlutt->isChecked()); ui->spinBoxAntallDognVarslingStart->setEnabled(ui->checkVarsleStart->isChecked()); ui->spinBoxTimerForStart->setEnabled(ui->checkVarsleStart->isChecked()); }