92 lines
3.4 KiB
C++
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());
|
|
}
|