112 lines
4.7 KiB
C++
112 lines
4.7 KiB
C++
#include "redigerprosjektdialog.h"
|
|
#include "ui_redigerprosjektdialog.h"
|
|
|
|
RedigerProsjektDialog::RedigerProsjektDialog(QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::RedigerProsjektDialog) {
|
|
ui->setupUi(this);
|
|
}
|
|
|
|
RedigerProsjektDialog::~RedigerProsjektDialog() {
|
|
delete ui;
|
|
}
|
|
|
|
void RedigerProsjektDialog::settProsjektFil(ProsjektFil prosjekt) {
|
|
prosjektFil = prosjekt;
|
|
fyllSkjemaElementer();
|
|
}
|
|
|
|
void RedigerProsjektDialog::fyllSkjemaElementer() {
|
|
ui->lineProsjektNavn->setText(prosjektFil.value("prosjektnavn").toString());
|
|
ui->lineOrdrenummer->setText(prosjektFil.value("ordrenummer").toString());
|
|
ui->textEditProsjektBeskrivelse->setHtml(prosjektFil.value("prosjektbeskrivelse").toString());
|
|
ui->checkVarsleStart->setChecked(prosjektFil.value("varslestart").toBool());
|
|
ui->checkVarsleSlutt->setChecked(prosjektFil.value("varsleslutt").toBool());
|
|
endreVarselStatus();
|
|
|
|
quint64 prosjektStart = prosjektFil.value("prosjektstart").toULongLong();
|
|
quint64 prosjektSlutt = prosjektFil.value("prosjektslutt").toULongLong();
|
|
QDateTime tProsjektStart(QDateTime::fromMSecsSinceEpoch(prosjektStart));
|
|
QDateTime tProsjektSlutt(QDateTime::fromMSecsSinceEpoch(prosjektSlutt));
|
|
|
|
ui->dateStart->setDateTime(tProsjektStart);
|
|
ui->dateSlutt->setDateTime(tProsjektSlutt);
|
|
ui->timeStart->setDateTime(tProsjektStart);
|
|
ui->timeSlutt->setDateTime(tProsjektSlutt);
|
|
|
|
ui->spinBoxAntallDognVarslingStart->setValue(prosjektFil.value("dognvarselstart").toInt());
|
|
ui->spinBoxAntallDognVarslingSlutt->setValue(prosjektFil.value("dognvarselslutt").toInt());
|
|
ui->spinBoxTimerForStart->setValue(prosjektFil.value("timervarselstart").toInt());
|
|
ui->spinBoxTimerForSlutt->setValue(prosjektFil.value("timercarselslutt").toInt());
|
|
}
|
|
|
|
void RedigerProsjektDialog::on_checkVarsleStart_clicked() {
|
|
endreVarselStatus();
|
|
}
|
|
|
|
|
|
void RedigerProsjektDialog::on_checkVarsleSlutt_clicked() {
|
|
endreVarselStatus();
|
|
}
|
|
|
|
void RedigerProsjektDialog::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());
|
|
}
|
|
|
|
|
|
void RedigerProsjektDialog::on_pushAvbryt_clicked() {
|
|
QDialog::close();
|
|
}
|
|
|
|
|
|
void RedigerProsjektDialog::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 lagreProsjekt(nyttProsjekt);
|
|
}
|
|
|
|
void RedigerProsjektDialog::fokusStart() {
|
|
ui->lineProsjektNavn->setFocus();
|
|
ui->lineProsjektNavn->selectAll();
|
|
}
|