diff --git a/dialogs/updatedialog.cpp b/dialogs/updatedialog.cpp index 78bad08..2f10593 100644 --- a/dialogs/updatedialog.cpp +++ b/dialogs/updatedialog.cpp @@ -1,9 +1,10 @@ #include "updatedialog.h" #include "ui_updatedialog.h" -UpdateDialog::UpdateDialog(QWidget *parent) : +UpdateDialog::UpdateDialog(ZeiterfassungSettings &settings, QNetworkAccessManager *manager, QWidget *parent) : QDialog(parent), - ui(new Ui::UpdateDialog) + ui(new Ui::UpdateDialog), + m_settings(settings) { ui->setupUi(this); } diff --git a/dialogs/updatedialog.h b/dialogs/updatedialog.h index abf3a74..1f06229 100644 --- a/dialogs/updatedialog.h +++ b/dialogs/updatedialog.h @@ -3,6 +3,9 @@ #include +class QNetworkAccessManager; + +class ZeiterfassungSettings; namespace Ui { class UpdateDialog; } class UpdateDialog : public QDialog @@ -10,11 +13,12 @@ class UpdateDialog : public QDialog Q_OBJECT public: - explicit UpdateDialog(QWidget *parent = 0); + explicit UpdateDialog(ZeiterfassungSettings &settings, QNetworkAccessManager *manager, QWidget *parent = 0); ~UpdateDialog(); private: Ui::UpdateDialog *ui; + ZeiterfassungSettings &m_settings; }; #endif // UPDATEDIALOG_H diff --git a/mainwindow.cpp b/mainwindow.cpp index ada0553..33ac7ea 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -20,6 +20,7 @@ #include "dialogs/bookingdialog.h" #include "dialogs/timeassignmentdialog.h" #include "dialogs/settingsdialog.h" +#include "dialogs/updatedialog.h" #include "strips/bookingstrip.h" #include "strips/timeassignmentstrip.h" #include "models/bookingsmodel.h" @@ -112,6 +113,9 @@ MainWindow::MainWindow(ZeiterfassungSettings &settings, Zeiterfassung &erfassung m_holidaysLabel->setFrameShadow(QFrame::Sunken); refresh(true); + + if(settings.lastUpdateCheck().isNull() || settings.lastUpdateCheck() < QDate::currentDate()) + new UpdateDialog(settings, erfassung.manager(), this); } MainWindow::~MainWindow() diff --git a/zeiterfassung.cpp b/zeiterfassung.cpp index 97bd4f3..34932df 100644 --- a/zeiterfassung.cpp +++ b/zeiterfassung.cpp @@ -33,6 +33,11 @@ void Zeiterfassung::setUrl(const QString &url) Q_EMIT urlChanged(m_url = url); } +QNetworkAccessManager *Zeiterfassung::manager() const +{ + return m_manager; +} + bool Zeiterfassung::doLoginPage() { if(m_replies.login) diff --git a/zeiterfassung.h b/zeiterfassung.h index 18a23e0..6349414 100644 --- a/zeiterfassung.h +++ b/zeiterfassung.h @@ -21,6 +21,8 @@ public: const QString &url() const; void setUrl(const QString &url); + QNetworkAccessManager *manager() const; + struct UserInfo { int userId;