#pragma once #include "obs-dock.hpp" #include #include #include #include #include namespace advss { class StatusControl : public QWidget { Q_OBJECT public: StatusControl(QWidget *parent = 0, bool noLayout = false); QPushButton *Button() { return _button; } QHBoxLayout *ButtonLayout() { return _buttonLayout; } QLabel *StatusLabel() { return _status; } QLabel *StatusPrefixLabel() { return _statusPrefix; } private slots: void ButtonClicked(); void UpdateStatus(); private: void SetStopped(); void SetStarted(); void SetStatusStyleSheet(bool stopped) const; QPushButton *_button; QHBoxLayout *_buttonLayout; QLabel *_status; QLabel *_statusPrefix; QTimer _timer; QObject *_pulse = nullptr; bool _setToStopped = true; }; class StatusDock : public OBSDock { Q_OBJECT public: StatusDock(QWidget *parent = 0); }; void SetupDock(); } // namespace advss