UI: Properly inform user if recording path is invalid

This commit is contained in:
Lqlsoftware 2019-12-27 17:12:31 +08:00 committed by jp9000
parent 95faa461ba
commit 046464884a
2 changed files with 23 additions and 0 deletions

View file

@ -5416,6 +5416,12 @@ void OBSBasic::StartRecording()
if (disableOutputsRef)
return;
if (!OutputPathValid()) {
OutputPathInvalidMessage();
ui->recordButton->setChecked(false);
return;
}
if (LowDiskSpace()) {
DiskSpaceMessage();
ui->recordButton->setChecked(false);
@ -7655,6 +7661,20 @@ const char *OBSBasic::GetCurrentOutputPath()
return path;
}
void OBSBasic::OutputPathInvalidMessage()
{
blog(LOG_ERROR, "Recording stopped because of bad output path");
OBSMessageBox::critical(this, QTStr("Output.BadPath.Title"),
QTStr("Output.BadPath.Text"));
}
bool OBSBasic::OutputPathValid()
{
const char *path = GetCurrentOutputPath();
return path && *path && QDir(path).exists();
}
void OBSBasic::DiskSpaceMessage()
{
blog(LOG_ERROR, "Recording stopped because of low disk space");

View file

@ -683,6 +683,9 @@ private:
void UpdatePause(bool activate = true);
void UpdateReplayBuffer(bool activate = true);
bool OutputPathValid();
void OutputPathInvalidMessage();
bool LowDiskSpace();
void DiskSpaceMessage();