Implementert sjekk om filen er lagret ved avslutting #2

This commit is contained in:
Helge-Mikael Nordgård 2021-09-24 22:00:53 +02:00
parent 840c4164fc
commit 355d73ca45
2 changed files with 41 additions and 2 deletions

View File

@ -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(): /* on_action_Avslutt_triggered():
* ------------------------------ * ------------------------------
* *

View File

@ -4,6 +4,7 @@
#include <QMainWindow> #include <QMainWindow>
#include <QFileDialog> #include <QFileDialog>
#include <QMessageBox> #include <QMessageBox>
#include <QCloseEvent>
#include "kundewidget.h" #include "kundewidget.h"
#include "prosjektwidget.h" #include "prosjektwidget.h"
@ -38,6 +39,7 @@ private slots:
void on_actionLagre_triggered(); void on_actionLagre_triggered();
void on_action_Innstillinger_triggered(); void on_action_Innstillinger_triggered();
void barnDialogLukket(); void barnDialogLukket();
void on_actionOm_triggered();
/* Kundeslots */ /* Kundeslots */
void on_commandCustomers_clicked(); void on_commandCustomers_clicked();
@ -63,8 +65,6 @@ private slots:
/* Arbeidshest slots */ /* Arbeidshest slots */
void varsle(ProsjektFil prosjekt, AlertConditions kondisjon, AlertTypes type); void varsle(ProsjektFil prosjekt, AlertConditions kondisjon, AlertTypes type);
void on_actionOm_triggered();
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
KundeWidget *kundeW; KundeWidget *kundeW;
@ -88,6 +88,8 @@ private:
int tellKunder(); int tellKunder();
int tellProsjekter(); int tellProsjekter();
void closeEvent(QCloseEvent *event);
bool harFil, filLagret, kListe, prosjekter, utlop, pListe; bool harFil, filLagret, kListe, prosjekter, utlop, pListe;
QString filSti; QString filSti;
// kundeFil kundeListe; // kundeFil kundeListe;