Rework SourceSelectionWidget to support widget caching

This commit is contained in:
WarmUpTill
2025-05-20 21:37:18 +02:00
committed by WarmUpTill
parent 3dd3f576c3
commit ba3e87a761
15 changed files with 125 additions and 78 deletions

View File

@@ -199,10 +199,17 @@ static inline void populateSettingsInputMethods(QComboBox *list)
}
}
static QStringList getFilterSourcesList()
{
auto sources = GetSourcesWithFilterNames();
sources.sort();
return sources;
}
MacroActionFilterEdit::MacroActionFilterEdit(
QWidget *parent, std::shared_ptr<MacroActionFilter> entryData)
: QWidget(parent),
_sources(new SourceSelectionWidget(this, QStringList(), true)),
_sources(new SourceSelectionWidget(this, getFilterSourcesList, true)),
_filters(new FilterSelectionWidget(this, _sources, true)),
_actions(new QComboBox()),
_getSettings(new QPushButton(obs_module_text(
@@ -220,9 +227,6 @@ MacroActionFilterEdit::MacroActionFilterEdit(
_filters->setSizeAdjustPolicy(QComboBox::AdjustToContents);
populateActionSelection(_actions);
auto sources = GetSourcesWithFilterNames();
sources.sort();
_sources->SetSourceNameList(sources);
_refreshSettingSelection->setToolTip(obs_module_text(
"AdvSceneSwitcher.action.filter.refresh.tooltip"));