UI: Refactor dup. code from stream/recording start/stop

The code to enable/disable the profile menu along with
incrementing/decrementing the sleep inhibitor was duplicated more times
than necessary.
master
jp9000 2016-08-21 12:05:25 -07:00
parent 1ae46a2940
commit 276e8530d9
2 changed files with 29 additions and 40 deletions

View File

@ -3566,6 +3566,24 @@ static inline void ClearProcessPriority()
#define ClearProcessPriority() do {} while(false) #define ClearProcessPriority() do {} while(false)
#endif #endif
inline void OBSBasic::OnActivate()
{
if (ui->profileMenu->isEnabled()) {
ui->profileMenu->setEnabled(false);
App()->IncrementSleepInhibition();
UpdateProcessPriority();
}
}
inline void OBSBasic::OnDeactivate()
{
if (!outputHandler->Active() && !ui->profileMenu->isEnabled()) {
ui->profileMenu->setEnabled(true);
App()->DecrementSleepInhibition();
ClearProcessPriority();
}
}
void OBSBasic::StopStreaming() void OBSBasic::StopStreaming()
{ {
SaveProject(); SaveProject();
@ -3573,11 +3591,7 @@ void OBSBasic::StopStreaming()
if (outputHandler->StreamingActive()) if (outputHandler->StreamingActive())
outputHandler->StopStreaming(); outputHandler->StopStreaming();
if (!outputHandler->Active() && !ui->profileMenu->isEnabled()) { OnDeactivate();
ui->profileMenu->setEnabled(true);
App()->DecrementSleepInhibition();
ClearProcessPriority();
}
bool recordWhenStreaming = config_get_bool(GetGlobalConfig(), bool recordWhenStreaming = config_get_bool(GetGlobalConfig(),
"BasicWindow", "RecordWhenStreaming"); "BasicWindow", "RecordWhenStreaming");
@ -3594,11 +3608,7 @@ void OBSBasic::ForceStopStreaming()
if (outputHandler->StreamingActive()) if (outputHandler->StreamingActive())
outputHandler->ForceStopStreaming(); outputHandler->ForceStopStreaming();
if (!outputHandler->Active() && !ui->profileMenu->isEnabled()) { OnDeactivate();
ui->profileMenu->setEnabled(true);
App()->DecrementSleepInhibition();
ClearProcessPriority();
}
bool recordWhenStreaming = config_get_bool(GetGlobalConfig(), bool recordWhenStreaming = config_get_bool(GetGlobalConfig(),
"BasicWindow", "RecordWhenStreaming"); "BasicWindow", "RecordWhenStreaming");
@ -3625,11 +3635,7 @@ void OBSBasic::StreamDelayStarting(int sec)
ui->statusbar->StreamDelayStarting(sec); ui->statusbar->StreamDelayStarting(sec);
if (ui->profileMenu->isEnabled()) { OnActivate();
ui->profileMenu->setEnabled(false);
App()->IncrementSleepInhibition();
UpdateProcessPriority();
}
} }
void OBSBasic::StreamDelayStopping(int sec) void OBSBasic::StreamDelayStopping(int sec)
@ -3656,11 +3662,7 @@ void OBSBasic::StreamingStart()
ui->streamButton->setEnabled(true); ui->streamButton->setEnabled(true);
ui->statusbar->StreamStarted(outputHandler->streamOutput); ui->statusbar->StreamStarted(outputHandler->streamOutput);
if (ui->profileMenu->isEnabled()) { OnActivate();
ui->profileMenu->setEnabled(false);
App()->IncrementSleepInhibition();
UpdateProcessPriority();
}
blog(LOG_INFO, STREAMING_START); blog(LOG_INFO, STREAMING_START);
} }
@ -3703,11 +3705,7 @@ void OBSBasic::StreamingStop(int code)
ui->streamButton->setText(QTStr("Basic.Main.StartStreaming")); ui->streamButton->setText(QTStr("Basic.Main.StartStreaming"));
ui->streamButton->setEnabled(true); ui->streamButton->setEnabled(true);
if (!outputHandler->Active() && !ui->profileMenu->isEnabled()) { OnDeactivate();
ui->profileMenu->setEnabled(true);
App()->DecrementSleepInhibition();
ClearProcessPriority();
}
blog(LOG_INFO, STREAMING_STOP); blog(LOG_INFO, STREAMING_STOP);
@ -3744,11 +3742,7 @@ void OBSBasic::StopRecording()
if (outputHandler->RecordingActive()) if (outputHandler->RecordingActive())
outputHandler->StopRecording(); outputHandler->StopRecording();
if (!outputHandler->Active() && !ui->profileMenu->isEnabled()) { OnDeactivate();
ui->profileMenu->setEnabled(true);
App()->DecrementSleepInhibition();
ClearProcessPriority();
}
} }
void OBSBasic::RecordingStart() void OBSBasic::RecordingStart()
@ -3756,11 +3750,7 @@ void OBSBasic::RecordingStart()
ui->statusbar->RecordingStarted(outputHandler->fileOutput); ui->statusbar->RecordingStarted(outputHandler->fileOutput);
ui->recordButton->setText(QTStr("Basic.Main.StopRecording")); ui->recordButton->setText(QTStr("Basic.Main.StopRecording"));
if (ui->profileMenu->isEnabled()) { OnActivate();
ui->profileMenu->setEnabled(false);
App()->IncrementSleepInhibition();
UpdateProcessPriority();
}
blog(LOG_INFO, RECORDING_START); blog(LOG_INFO, RECORDING_START);
} }
@ -3787,11 +3777,7 @@ void OBSBasic::RecordingStop(int code)
QTStr("Output.RecordError.Msg")); QTStr("Output.RecordError.Msg"));
} }
if (!outputHandler->Active() && !ui->profileMenu->isEnabled()) { OnDeactivate();
ui->profileMenu->setEnabled(true);
App()->DecrementSleepInhibition();
ClearProcessPriority();
}
} }
void OBSBasic::on_streamButton_clicked() void OBSBasic::on_streamButton_clicked()

View File

@ -282,6 +282,9 @@ private:
return os_atomic_load_bool(&previewProgramMode); return os_atomic_load_bool(&previewProgramMode);
} }
inline void OnActivate();
inline void OnDeactivate();
public slots: public slots:
void StartStreaming(); void StartStreaming();
void StopStreaming(); void StopStreaming();