112 lines
3.2 KiB
C++
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
|