#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include #include #include "kundewidget.h" #include "prosjektwidget.h" #include "datahandler.h" #include "nykundedialog.h" #include "redigerkundedialog.h" #include "nyttprosjektdialog.h" #include "redigerprosjektdialog.h" #include "velgkundeprosjektdialog.h" #include "innstillingdialog.h" #include "arbeidshest.h" #include "varsledialog.h" #include "omdialog.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE Q_DECLARE_METATYPE(QList) class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_actionNy_triggered(); void on_action_pne_triggered(); void on_action_Avslutt_triggered(); void on_actionL_agre_som_triggered(); void on_actionLagre_triggered(); void on_action_Innstillinger_triggered(); void barnDialogLukket(); void on_actionOm_triggered(); /* Kundeslots */ void on_commandCustomers_clicked(); void visNyKundeDlg(); void visRedigerKundeDlg(int posisjon); void settInnNyKunde(KundeFil kunde); void redigerKunde(KundeFil redigertKunde); void slettKunde(int posisjon); void visProsjektListe(int posisjon); void knyttProsjekt(int kunde, int prosjekt); /* Prosjektslots */ void on_commandProsjekter_clicked(); void visNyttProsjektDlg(); void leggTilNyttProsjekt(ProsjektFil prosjekt); void sendProsjektFil(int kartotekPlassering); void visRedigerProsjektDialog(int kartotekPlassering); void lagreProsjektEndringer(ProsjektFil endringer); void slettProsjekt(int kartotekPlassering); void settAktivInaktiv(int kartotekPlassering); void fjernKundeFraProsjekt(int prosjektKartotekPosisjon, int kundeID); /* Arbeidshest slots */ void varsle(ProsjektFil prosjekt, AlertConditions kondisjon); private: Ui::MainWindow *ui; KundeWidget *kundeW; ProsjektWidget *prosjektW; DataHandler *ioHandler; NyKundeDialog *nyKdlg; RedigerKundeDialog *redigerKdlg; NyttProsjektDialog *nyProsjektDlg; RedigerProsjektDialog *redigerProsjektDlg; VelgKundeProsjektDialog *kundeProsjektDlg; InnstillingDialog *innstillingDlg; VarsleDialog *varsleDlg; OmDialog *om; ArbeidsHest *hest; void oppdaterTittel(); void oppdaterUI(); void konstruerHistorikk(); void oppdaterTellere(); void slettKundeFraKartotek(int kundeNummer); void erstattProsjekt(ProsjektFil prosjekt); void leggFilbaneTilHistorikk(QString filBane); void lastDatabaseFil(QString fil); int tellKunder(); int tellProsjekter(); int hentKundeIndeksPosisjon(int kundeNummer); void closeEvent(QCloseEvent *event); bool harFil, filLagret, kListe, prosjekter, utlop, pListe; QString filSti; // kundeFil kundeListe; KundeFil kundeKort; KundeKartotek kundeKart; ProsjektFil prosjektKort; ProsjektKartotek prosjektKart; ProsjektBindinger bindinger; }; #endif // MAINWINDOW_H