UI: Update error message severity levels and show additional info

master
Richard Stanway 2019-03-30 15:44:44 +01:00 committed by jp9000
parent 4be88c7f2a
commit 90df9ea290
8 changed files with 53 additions and 35 deletions

View File

@ -434,7 +434,7 @@ void OBSBasicFilters::AddNewFilter(const char *id)
return;
if (name.empty()) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
AddNewFilter(id);
@ -444,7 +444,7 @@ void OBSBasicFilters::AddNewFilter(const char *id)
existing_filter = obs_source_get_filter_by_name(source,
name.c_str());
if (existing_filter) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NameExists.Title"),
QTStr("NameExists.Text"));
obs_source_release(existing_filter);

View File

@ -63,7 +63,8 @@ static void OBSStopStreaming(void *data, calldata_t *params)
output->delayActive = false;
os_atomic_set_bool(&streaming_active, false);
QMetaObject::invokeMethod(output->main,
"StreamingStop", Q_ARG(int, code), Q_ARG(QString, arg_last_error));
"StreamingStop", Q_ARG(int, code),
Q_ARG(QString, arg_last_error));
}
static void OBSStartRecording(void *data, calldata_t *params)
@ -81,11 +82,15 @@ static void OBSStopRecording(void *data, calldata_t *params)
{
BasicOutputHandler *output = static_cast<BasicOutputHandler*>(data);
int code = (int)calldata_int(params, "code");
const char *last_error = calldata_string(params, "last_error");
QString arg_last_error = QString::fromUtf8(last_error);
output->recordingActive = false;
os_atomic_set_bool(&recording_active, false);
QMetaObject::invokeMethod(output->main,
"RecordingStop", Q_ARG(int, code));
"RecordingStop", Q_ARG(int, code),
Q_ARG(QString, arg_last_error));
UNUSED_PARAMETER(params);
}
@ -891,7 +896,7 @@ bool SimpleOutput::ConfigureRecording(bool updateReplayBuffer)
if (!dir) {
if (main->isVisible())
OBSMessageBox::information(main,
OBSMessageBox::warning(main,
QTStr("Output.BadPath.Title"),
QTStr("Output.BadPath.Text"));
else
@ -1658,7 +1663,7 @@ bool AdvancedOutput::StartRecording()
if (!dir) {
if (main->isVisible())
OBSMessageBox::information(main,
OBSMessageBox::warning(main,
QTStr("Output.BadPath.Title"),
QTStr("Output.BadPath.Text"));
else
@ -1758,7 +1763,7 @@ bool AdvancedOutput::StartReplayBuffer()
if (!dir) {
if (main->isVisible())
OBSMessageBox::information(main,
OBSMessageBox::warning(main,
QTStr("Output.BadPath.Title"),
QTStr("Output.BadPath.Text"));
else

View File

@ -107,13 +107,13 @@ static bool GetProfileName(QWidget *parent, std::string &name,
return false;
}
if (name.empty()) {
OBSMessageBox::information(parent,
OBSMessageBox::warning(parent,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
continue;
}
if (ProfileExists(name.c_str())) {
OBSMessageBox::information(parent,
OBSMessageBox::warning(parent,
QTStr("NameExists.Title"),
QTStr("NameExists.Text"));
continue;
@ -526,7 +526,7 @@ void OBSBasic::on_actionImportProfile_triggered()
profileDir + "/recordEncoder.json");
RefreshProfiles();
} else {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("Basic.MainMenu.Profile.Import"),
QTStr("Basic.MainMenu.Profile.Exists"));
}

View File

@ -114,13 +114,13 @@ static bool GetSceneCollectionName(QWidget *parent, std::string &name,
return false;
}
if (name.empty()) {
OBSMessageBox::information(parent,
OBSMessageBox::warning(parent,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
continue;
}
if (SceneCollectionExists(name.c_str())) {
OBSMessageBox::information(parent,
OBSMessageBox::warning(parent,
QTStr("NameExists.Title"),
QTStr("NameExists.Text"));
continue;

View File

@ -453,7 +453,7 @@ void OBSBasic::AddTransition()
if (accepted) {
if (name.empty()) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
AddTransition();
@ -462,7 +462,7 @@ void OBSBasic::AddTransition()
source = FindTransition(name.c_str());
if (source) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NameExists.Title"),
QTStr("NameExists.Text"));
@ -559,7 +559,7 @@ void OBSBasic::RenameTransition()
if (accepted) {
if (name.empty()) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
RenameTransition();
@ -568,7 +568,7 @@ void OBSBasic::RenameTransition()
source = FindTransition(name.c_str());
if (source) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NameExists.Title"),
QTStr("NameExists.Text"));

View File

@ -2790,7 +2790,7 @@ void OBSBasic::MixerRenameSource()
return;
if (name.empty()) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
continue;
@ -2800,7 +2800,7 @@ void OBSBasic::MixerRenameSource()
obs_source_release(sourceTest);
if (sourceTest) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NameExists.Title"),
QTStr("NameExists.Text"));
continue;
@ -3165,7 +3165,7 @@ void OBSBasic::DuplicateSelectedScene()
return;
if (name.empty()) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
continue;
@ -3173,7 +3173,7 @@ void OBSBasic::DuplicateSelectedScene()
obs_source_t *source = obs_get_source_by_name(name.c_str());
if (source) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NameExists.Title"),
QTStr("NameExists.Text"));
@ -4109,7 +4109,7 @@ void OBSBasic::on_actionAddScene_triggered()
if (accepted) {
if (name.empty()) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
on_actionAddScene_triggered();
@ -4118,7 +4118,7 @@ void OBSBasic::on_actionAddScene_triggered()
obs_source_t *source = obs_get_source_by_name(name.c_str());
if (source) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NameExists.Title"),
QTStr("NameExists.Text"));
@ -4869,7 +4869,7 @@ void OBSBasic::logUploadFinished(const QString &text, const QString &error)
ui->menuLogFiles->setEnabled(true);
if (text.isEmpty()) {
OBSMessageBox::information(this,
OBSMessageBox::critical(this,
QTStr("LogReturnDialog.ErrorUploadingLog"),
error);
return;
@ -4898,11 +4898,11 @@ static void RenameListItem(OBSBasic *parent, QListWidget *listWidget,
listItem->setText(QT_UTF8(prevName));
if (foundSource) {
OBSMessageBox::information(parent,
OBSMessageBox::warning(parent,
QTStr("NameExists.Title"),
QTStr("NameExists.Text"));
} else if (name.empty()) {
OBSMessageBox::information(parent,
OBSMessageBox::warning(parent,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
}
@ -5363,7 +5363,7 @@ void OBSBasic::RecordingStart()
blog(LOG_INFO, RECORDING_START);
}
void OBSBasic::RecordingStop(int code)
void OBSBasic::RecordingStop(int code, QString last_error)
{
ui->statusbar->RecordingStopped();
ui->recordButton->setText(QTStr("Basic.Main.StartRecording"));
@ -5375,19 +5375,32 @@ void OBSBasic::RecordingStop(int code)
blog(LOG_INFO, RECORDING_STOP);
if (code == OBS_OUTPUT_UNSUPPORTED && isVisible()) {
OBSMessageBox::information(this,
OBSMessageBox::critical(this,
QTStr("Output.RecordFail.Title"),
QTStr("Output.RecordFail.Unsupported"));
} else if (code == OBS_OUTPUT_NO_SPACE && isVisible()) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("Output.RecordNoSpace.Title"),
QTStr("Output.RecordNoSpace.Msg"));
} else if (code != OBS_OUTPUT_SUCCESS && isVisible()) {
OBSMessageBox::information(this,
const char *errorDescription;
DStr errorMessage;
bool use_last_error = true;
errorDescription = Str("Output.RecordError.Msg");
if (use_last_error && !last_error.isEmpty())
dstr_printf(errorMessage, "%s\n\n%s", errorDescription,
QT_TO_UTF8(last_error));
else
dstr_copy(errorMessage, errorDescription);
OBSMessageBox::critical(this,
QTStr("Output.RecordError.Title"),
QTStr("Output.RecordError.Msg"));
QT_UTF8(errorMessage));
} else if (code == OBS_OUTPUT_UNSUPPORTED && !isVisible()) {
SysTrayNotify(QTStr("Output.RecordFail.Unsupported"),
@ -5528,17 +5541,17 @@ void OBSBasic::ReplayBufferStop(int code)
blog(LOG_INFO, REPLAY_BUFFER_STOP);
if (code == OBS_OUTPUT_UNSUPPORTED && isVisible()) {
OBSMessageBox::information(this,
OBSMessageBox::critical(this,
QTStr("Output.RecordFail.Title"),
QTStr("Output.RecordFail.Unsupported"));
} else if (code == OBS_OUTPUT_NO_SPACE && isVisible()) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("Output.RecordNoSpace.Title"),
QTStr("Output.RecordNoSpace.Msg"));
} else if (code != OBS_OUTPUT_SUCCESS && isVisible()) {
OBSMessageBox::information(this,
OBSMessageBox::critical(this,
QTStr("Output.RecordError.Title"),
QTStr("Output.RecordError.Msg"));

View File

@ -438,7 +438,7 @@ public slots:
void RecordingStart();
void RecordStopping();
void RecordingStop(int code);
void RecordingStop(int code, QString last_error);
void StartReplayBuffer();
void StopReplayBuffer();

View File

@ -215,7 +215,7 @@ void OBSBasicSourceSelect::on_buttonBox_accepted()
AddExisting(QT_TO_UTF8(item->text()), visible, false);
} else {
if (ui->sourceName->text().isEmpty()) {
OBSMessageBox::information(this,
OBSMessageBox::warning(this,
QTStr("NoNameEntered.Title"),
QTStr("NoNameEntered.Text"));
return;