|
@@ -87,6 +87,15 @@ OBSBasicFilters::OBSBasicFilters(QWidget *parent, OBSSource source_)
|
|
SLOT(EffectFilterNameEdited(QWidget*,
|
|
SLOT(EffectFilterNameEdited(QWidget*,
|
|
QAbstractItemDelegate::EndEditHint)));
|
|
QAbstractItemDelegate::EndEditHint)));
|
|
|
|
|
|
|
|
+ connect(ui->buttonBox->button(QDialogButtonBox::Close),
|
|
|
|
+ SIGNAL(clicked()), this, SLOT(close()));
|
|
|
|
+
|
|
|
|
+ ui->buttonBox->button(QDialogButtonBox::Reset)->setText(
|
|
|
|
+ QTStr("Defaults"));
|
|
|
|
+
|
|
|
|
+ connect(ui->buttonBox->button(QDialogButtonBox::Reset),
|
|
|
|
+ SIGNAL(clicked()), this, SLOT(ResetFilters()));
|
|
|
|
+
|
|
uint32_t flags = obs_source_get_output_flags(source);
|
|
uint32_t flags = obs_source_get_output_flags(source);
|
|
bool audio = (flags & OBS_SOURCE_AUDIO) != 0;
|
|
bool audio = (flags & OBS_SOURCE_AUDIO) != 0;
|
|
bool audioOnly = (flags & OBS_SOURCE_VIDEO) == 0;
|
|
bool audioOnly = (flags & OBS_SOURCE_VIDEO) == 0;
|
|
@@ -573,6 +582,7 @@ void OBSBasicFilters::on_moveAsyncFilterDown_clicked()
|
|
void OBSBasicFilters::on_asyncFilters_GotFocus()
|
|
void OBSBasicFilters::on_asyncFilters_GotFocus()
|
|
{
|
|
{
|
|
UpdatePropertiesView(ui->asyncFilters->currentRow(), true);
|
|
UpdatePropertiesView(ui->asyncFilters->currentRow(), true);
|
|
|
|
+ isAsync = true;
|
|
}
|
|
}
|
|
|
|
|
|
void OBSBasicFilters::on_asyncFilters_currentRowChanged(int row)
|
|
void OBSBasicFilters::on_asyncFilters_currentRowChanged(int row)
|
|
@@ -614,6 +624,7 @@ void OBSBasicFilters::on_moveEffectFilterDown_clicked()
|
|
void OBSBasicFilters::on_effectFilters_GotFocus()
|
|
void OBSBasicFilters::on_effectFilters_GotFocus()
|
|
{
|
|
{
|
|
UpdatePropertiesView(ui->effectFilters->currentRow(), false);
|
|
UpdatePropertiesView(ui->effectFilters->currentRow(), false);
|
|
|
|
+ isAsync = false;
|
|
}
|
|
}
|
|
|
|
|
|
void OBSBasicFilters::on_effectFilters_currentRowChanged(int row)
|
|
void OBSBasicFilters::on_effectFilters_currentRowChanged(int row)
|
|
@@ -739,3 +750,23 @@ void OBSBasicFilters::EffectFilterNameEdited(QWidget *editor,
|
|
FilterNameEdited(editor, ui->effectFilters);
|
|
FilterNameEdited(editor, ui->effectFilters);
|
|
UNUSED_PARAMETER(endHint);
|
|
UNUSED_PARAMETER(endHint);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+void OBSBasicFilters::ResetFilters()
|
|
|
|
+{
|
|
|
|
+ QListWidget *list = isAsync ? ui->asyncFilters : ui->effectFilters;
|
|
|
|
+ int row = list->currentRow();
|
|
|
|
+
|
|
|
|
+ OBSSource filter = GetFilter(row, isAsync);
|
|
|
|
+
|
|
|
|
+ if (!filter)
|
|
|
|
+ return;
|
|
|
|
+
|
|
|
|
+ obs_data_t *settings = obs_source_get_settings(filter);
|
|
|
|
+ obs_data_clear(settings);
|
|
|
|
+ obs_data_release(settings);
|
|
|
|
+
|
|
|
|
+ if (!view->DeferUpdate())
|
|
|
|
+ obs_source_update(filter, nullptr);
|
|
|
|
+
|
|
|
|
+ view->RefreshProperties();
|
|
|
|
+}
|