From 15f28e9ffd2eef95e5b2a9fd9d5c870eef5446dc Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Sat, 9 Sep 2023 15:01:03 +0200 Subject: [PATCH] Add m_update-object and prepare for doing the bootloader setup for downloading the device controller firmware. --- mainwindow.h | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/mainwindow.h b/mainwindow.h index 9d4e3cd..37f4e03 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -10,6 +10,10 @@ namespace Ui { class MainWindow; } QT_END_NAMESPACE #include "worker.h" +#include "update.h" +#include "update_dc_event.h" + +#define EMERGENCY_LEAVE_BL 0 class hwinf; class MainWindow : public QMainWindow { @@ -19,39 +23,60 @@ protected: void customEvent(QEvent *event) override; public: - MainWindow(hwinf *hw, Worker *worker, QWidget *parent = nullptr); + MainWindow(hwinf *hw, Worker *worker, Update *update, QWidget *parent = nullptr); ~MainWindow(); static const int START_PROGRESS_LOOP = -1; static const int STOP_PROGRESS_LOOP = -2; + static const int BL_START_COUNT = 5; + static const int BL_CHECK_COUNT = 5; + static const int BL_IS_UP_COUNT = 5; + static const int BL_STOP_COUNT = 5; int progressValue() const { return m_progressValue; } hwinf *getPlugin() { return m_hw; } hwinf const *getPlugin() const { return m_hw; } + Update *getUpdate() { return m_update; } + Update const *getUpdate() const { return m_update; } + UpdateDcEvent::UpdateStep updateStep() const { return m_updateStep; } + void setUpdateStep(UpdateDcEvent::UpdateStep updateStep) { m_updateStep = updateStep; } public slots: void onAppendText(QString, QString suffix = ""); void onReplaceLast(QStringList, QString suffix = ""); void onReplaceLast(QString, QString suffix = ""); void onShowErrorMessage(QString, QString); + void onShowStatusMessage(QString, QString); void onStopStartTimer(); void onRestartExitTimer(); void onEnableExit(); void onDisableExit(); +#if EMERGENCY_LEAVE_BL==1 + void emergencyLeaveBL(); +#endif + +signals: + +#if EMERGENCY_LEAVE_BL==1 + void leaveBL(); +#endif private slots: void onQuit(); private: void scrollDownTextEdit(); + void onShowMessage(QString, QString); Ui::MainWindow *ui; hwinf *m_hw; Worker *m_worker; - int m_width; + int const m_width; QTimer *m_startTimer; QTimer *m_exitTimer; bool m_progressRunning; int m_progressValue; + Update *m_update; + UpdateDcEvent::UpdateStep m_updateStep; }; #endif // MAINWINDOW_H