0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00

UI: Add confirmation dialog for resetting properties

This commit is contained in:
derrod 2023-01-29 13:40:59 +01:00 committed by Rodney
parent 8d4a0b3645
commit 644b73eb46
3 changed files with 32 additions and 0 deletions

View File

@ -382,6 +382,10 @@ ConfirmRemove.Title="Confirm Remove"
ConfirmRemove.Text="Are you sure you wish to remove '%1'?"
ConfirmRemove.TextMultiple="Are you sure you wish to remove %1 items?"
# confirm reset to defaults dialog box
ConfirmReset.Title="Reset Properties"
ConfirmReset.Text="Are you sure you wish to reset current properties to their defaults?"
# output start messages
Output.StartStreamFailed="Failed to start streaming"
Output.StartRecordingFailed="Failed to start recording"

View File

@ -1184,6 +1184,17 @@ void OBSBasicFilters::EffectFilterNameEdited(
UNUSED_PARAMETER(endHint);
}
static bool ConfirmReset(QWidget *parent)
{
QMessageBox::StandardButton button;
button = OBSMessageBox::question(parent, QTStr("ConfirmReset.Title"),
QTStr("ConfirmReset.Text"),
QMessageBox::Yes | QMessageBox::No);
return button == QMessageBox::Yes;
}
void OBSBasicFilters::ResetFilters()
{
QListWidget *list = isAsync ? ui->asyncFilters : ui->effectFilters;
@ -1194,6 +1205,9 @@ void OBSBasicFilters::ResetFilters()
if (!filter)
return;
if (!ConfirmReset(this))
return;
OBSDataAutoRelease settings = obs_source_get_settings(filter);
OBSDataAutoRelease empty_settings = obs_data_create();

View File

@ -301,6 +301,17 @@ void OBSBasicProperties::UpdateProperties(void *data, calldata_t *)
"ReloadProperties");
}
static bool ConfirmReset(QWidget *parent)
{
QMessageBox::StandardButton button;
button = OBSMessageBox::question(parent, QTStr("ConfirmReset.Title"),
QTStr("ConfirmReset.Text"),
QMessageBox::Yes | QMessageBox::No);
return button == QMessageBox::Yes;
}
void OBSBasicProperties::on_buttonBox_clicked(QAbstractButton *button)
{
QDialogButtonBox::ButtonRole val = ui->buttonBox->buttonRole(button);
@ -362,6 +373,9 @@ void OBSBasicProperties::on_buttonBox_clicked(QAbstractButton *button)
close();
} else if (val == QDialogButtonBox::ResetRole) {
if (!ConfirmReset(this))
return;
OBSDataAutoRelease settings = obs_source_get_settings(source);
obs_data_clear(settings);