#pragma once // Qt #include #include #include // Project #include "VView.h" #include "main.h" #include "GuiController.h" #include "MAdjustHDDateTimeResponse.h" #include "MAdjustDGDateTimeResponse.h" // forward declarations class tst_views; namespace View { /*! * \brief The VDateTime class * \details View for handling the date and time * */ class VDateTime : public QObject { Q_OBJECT // friends friend class ::tst_views; VIEW_DEC_CLASS(VDateTime) protected: PROPERTY(QString, hour, "00") PROPERTY(QString, minute, "00") PROPERTY(QString, second, "00") PROPERTY(QString, month, "01") PROPERTY(QString, day, "01") PROPERTY(QString, year, "2020") PROPERTY(QString, status, "") public: enum DateTimeSetStatus { NOT_SET = 0, SUCCESS, FAILURE }; Q_ENUM(DateTimeSetStatus) public slots: void doSave(); void doGetCurrentTime(); signals: void didAdjustment(const AdjustHDDateTimeRequestData); void didAdjustment(const AdjustDGDateTimeRequestData); private slots: void doActionReceive(const AdjustHDDateTimeResponseData &vResponse); void doActionReceive(const AdjustDGDateTimeResponseData &vResponse); void onFinishedSetDateUI(const int &vExitCode); private: int _timerInterval = 1000; // ms QDateTime _currentTime; QProcess _process; QString enumToString(DateTimeSetStatus vEnum); DateTimeSetStatus _setDateTimeHD = NOT_SET; DateTimeSetStatus _setDateTimeDG = NOT_SET; DateTimeSetStatus _setDateTimeUI = NOT_SET; void updateStatus(); }; }