output-timer.hpp 888 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include <QDialog>
  3. #include <memory>
  4. #include "ui_output-timer.h"
  5. class QCloseEvent;
  6. class OutputTimer : public QDialog {
  7. Q_OBJECT
  8. public:
  9. std::unique_ptr<Ui_OutputTimer> ui;
  10. OutputTimer(QWidget *parent);
  11. void closeEvent(QCloseEvent *event) override;
  12. void PauseRecordingTimer();
  13. void UnpauseRecordingTimer();
  14. public slots:
  15. void StreamingTimerButton();
  16. void RecordingTimerButton();
  17. void StreamTimerStart();
  18. void RecordTimerStart();
  19. void StreamTimerStop();
  20. void RecordTimerStop();
  21. void UpdateStreamTimerDisplay();
  22. void UpdateRecordTimerDisplay();
  23. void ShowHideDialog();
  24. void EventStopStreaming();
  25. void EventStopRecording();
  26. private:
  27. bool streamingAlreadyActive = false;
  28. bool recordingAlreadyActive = false;
  29. QTimer *streamingTimer;
  30. QTimer *recordingTimer;
  31. QTimer *streamingTimerDisplay;
  32. QTimer *recordingTimerDisplay;
  33. int recordingTimeLeft;
  34. };