diff --git a/UI/window-basic-status-bar.cpp b/UI/window-basic-status-bar.cpp index f6e61ca78..02ff7f053 100644 --- a/UI/window-basic-status-bar.cpp +++ b/UI/window-basic-status-bar.cpp @@ -304,15 +304,6 @@ void OBSBasicStatusBar::UpdateRecordTime() if (!paused) { totalRecordSeconds++; - int seconds = totalRecordSeconds % 60; - int totalMinutes = totalRecordSeconds / 60; - int minutes = totalMinutes % 60; - int hours = totalMinutes / 60; - - QString text = QString::asprintf("%02d:%02d:%02d", hours, - minutes, seconds); - - statusWidget->ui->recordTime->setText(text); if (recordOutput && !statusWidget->ui->recordTime->isEnabled()) statusWidget->ui->recordTime->setDisabled(false); } else { @@ -322,6 +313,24 @@ void OBSBasicStatusBar::UpdateRecordTime() streamPauseIconToggle = !streamPauseIconToggle; } + + UpdateRecordTimeLabel(); +} + +void OBSBasicStatusBar::UpdateRecordTimeLabel() +{ + int seconds = totalRecordSeconds % 60; + int totalMinutes = totalRecordSeconds / 60; + int minutes = totalMinutes % 60; + int hours = totalMinutes / 60; + + QString text = + QString::asprintf("%02d:%02d:%02d", hours, minutes, seconds); + if (os_atomic_load_bool(&recording_paused)) { + text += QStringLiteral(" (PAUSED)"); + } + + statusWidget->ui->recordTime->setText(text); } void OBSBasicStatusBar::UpdateDroppedFrames() @@ -547,14 +556,12 @@ void OBSBasicStatusBar::RecordingStopped() void OBSBasicStatusBar::RecordingPaused() { - QString text = statusWidget->ui->recordTime->text() + - QStringLiteral(" (PAUSED)"); - statusWidget->ui->recordTime->setText(text); - if (recordOutput) { statusWidget->ui->recordIcon->setPixmap(recordingPausePixmap); streamPauseIconToggle = true; } + + UpdateRecordTimeLabel(); } void OBSBasicStatusBar::RecordingUnpaused() @@ -562,6 +569,8 @@ void OBSBasicStatusBar::RecordingUnpaused() if (recordOutput) { statusWidget->ui->recordIcon->setPixmap(recordingActivePixmap); } + + UpdateRecordTimeLabel(); } static QPixmap GetPixmap(const QString &filename) diff --git a/UI/window-basic-status-bar.hpp b/UI/window-basic-status-bar.hpp index a78199b4b..cd79f0db3 100644 --- a/UI/window-basic-status-bar.hpp +++ b/UI/window-basic-status-bar.hpp @@ -84,6 +84,7 @@ private: void UpdateBandwidth(); void UpdateStreamTime(); void UpdateRecordTime(); + void UpdateRecordTimeLabel(); void UpdateDroppedFrames(); static void OBSOutputReconnect(void *data, calldata_t *params);