diff --git a/src/core/mainwindow.cpp b/src/core/mainwindow.cpp index e4f09ea..be55497 100644 --- a/src/core/mainwindow.cpp +++ b/src/core/mainwindow.cpp @@ -235,6 +235,43 @@ int MainWindow::tellProsjekter() { } + +/* closeEvent(): + * -------------------------------------- + * + * Denne funksjonen invokeres like før applikasjonen lukkes + */ + + + +void MainWindow::closeEvent(QCloseEvent *event) { + if (filLagret) { + event->accept(); + } else { + QMessageBox bekreftBoks; + bekreftBoks.setText("Bekreft avslutting"); + bekreftBoks.setInformativeText("Du har ulagrede endringer i databasen. Vil du lagre endringene før du avslutter?"); + bekreftBoks.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel); + bekreftBoks.setDefaultButton(QMessageBox::Save); + + int svar = bekreftBoks.exec(); + switch (svar) { + case QMessageBox::Save: + ioHandler->lagreFil(filSti, kundeKart, prosjektKart, bindinger); + event->accept(); + break; + case QMessageBox::Discard: + event->accept(); + break; + case QMessageBox::Cancel: + event->ignore(); + break; + default: + break; + } + } +} + /* on_action_Avslutt_triggered(): * ------------------------------ * diff --git a/src/core/mainwindow.h b/src/core/mainwindow.h index 98b9d24..b15aa65 100644 --- a/src/core/mainwindow.h +++ b/src/core/mainwindow.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "kundewidget.h" #include "prosjektwidget.h" @@ -38,6 +39,7 @@ private slots: void on_actionLagre_triggered(); void on_action_Innstillinger_triggered(); void barnDialogLukket(); + void on_actionOm_triggered(); /* Kundeslots */ void on_commandCustomers_clicked(); @@ -63,8 +65,6 @@ private slots: /* Arbeidshest slots */ void varsle(ProsjektFil prosjekt, AlertConditions kondisjon, AlertTypes type); - void on_actionOm_triggered(); - private: Ui::MainWindow *ui; KundeWidget *kundeW; @@ -88,6 +88,8 @@ private: int tellKunder(); int tellProsjekter(); + void closeEvent(QCloseEvent *event); + bool harFil, filLagret, kListe, prosjekter, utlop, pListe; QString filSti; // kundeFil kundeListe;