Saeterprosjekt/src/uidialogs/widgetdialogs/prosjekt/nyttprosjektdialog.cpp

92 lines
3.4 KiB
C++

#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());
}