Saeterprosjekt/src/core/mainwindow.h

112 lines
3.2 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QSettings>
#include <QFileDialog>
#include <QMessageBox>
#include <QCloseEvent>
#include <QAction>
#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<QString>)
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