diff --git a/UI/data/themes/Rachni.qss b/UI/data/themes/Rachni.qss
index 553a8c004..7af24bec8 100644
--- a/UI/data/themes/Rachni.qss
+++ b/UI/data/themes/Rachni.qss
@@ -794,8 +794,12 @@ QPushButton:pressed#exitButton {
border: 1px solid rgb(240, 98, 146); /* Pink (Secondary) */
}
+QPushButton:checked#streamButton,
+QPushButton:checked#recordButton,
QPushButton:checked[themeID="replayBufferButton"],
-QPushButton:checked#modeSwitch {
+QPushButton:checked#modeSwitch,
+QPushButton:checked#settingsButton,
+QPushButton:checked#exitButton {
background-color: rgba(240, 98, 146, 0.5); /* Pink (Secondary) */
border: 1px solid rgba(240, 98, 146, 0.5); /* Pink (Secondary) */
}
diff --git a/UI/forms/OBSBasic.ui b/UI/forms/OBSBasic.ui
index 6af544370..768577ef7 100644
--- a/UI/forms/OBSBasic.ui
+++ b/UI/forms/OBSBasic.ui
@@ -954,7 +954,7 @@
Basic.Main.StartStreaming
- false
+ true
@@ -978,6 +978,9 @@
Basic.Main.StartRecording
+
+ true
+
-
diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
index e804fdacc..34f16badb 100644
--- a/UI/window-basic-main.cpp
+++ b/UI/window-basic-main.cpp
@@ -4192,6 +4192,7 @@ void OBSBasic::StartStreaming()
if (!outputHandler->StartStreaming(service)) {
ui->streamButton->setText(QTStr("Basic.Main.StartStreaming"));
ui->streamButton->setEnabled(true);
+ ui->streamButton->setChecked(false);
if (sysTrayStream) {
sysTrayStream->setText(ui->streamButton->text());
@@ -4314,6 +4315,7 @@ void OBSBasic::StreamDelayStarting(int sec)
{
ui->streamButton->setText(QTStr("Basic.Main.StopStreaming"));
ui->streamButton->setEnabled(true);
+ ui->streamButton->setChecked(true);
if (sysTrayStream) {
sysTrayStream->setText(ui->streamButton->text());
@@ -4339,6 +4341,7 @@ void OBSBasic::StreamDelayStopping(int sec)
{
ui->streamButton->setText(QTStr("Basic.Main.StartStreaming"));
ui->streamButton->setEnabled(true);
+ ui->streamButton->setChecked(false);
if (sysTrayStream) {
sysTrayStream->setText(ui->streamButton->text());
@@ -4362,6 +4365,7 @@ void OBSBasic::StreamingStart()
{
ui->streamButton->setText(QTStr("Basic.Main.StopStreaming"));
ui->streamButton->setEnabled(true);
+ ui->streamButton->setChecked(true);
ui->statusbar->StreamStarted(outputHandler->streamOutput);
if (sysTrayStream) {
@@ -4432,6 +4436,7 @@ void OBSBasic::StreamingStop(int code, QString last_error)
ui->streamButton->setText(QTStr("Basic.Main.StartStreaming"));
ui->streamButton->setEnabled(true);
+ ui->streamButton->setChecked(false);
if (sysTrayStream) {
sysTrayStream->setText(ui->streamButton->text());
@@ -4501,6 +4506,7 @@ void OBSBasic::RecordingStart()
{
ui->statusbar->RecordingStarted(outputHandler->fileOutput);
ui->recordButton->setText(QTStr("Basic.Main.StopRecording"));
+ ui->recordButton->setChecked(true);
if (sysTrayRecord)
sysTrayRecord->setText(ui->recordButton->text());
@@ -4518,6 +4524,7 @@ void OBSBasic::RecordingStop(int code)
{
ui->statusbar->RecordingStopped();
ui->recordButton->setText(QTStr("Basic.Main.StartRecording"));
+ ui->recordButton->setChecked(false);
if (sysTrayRecord)
sysTrayRecord->setText(ui->recordButton->text());