Add WindowSelectionWidget

Refreshes list of windows when widget becomes visible to support widget
caching
This commit is contained in:
WarmUpTill
2025-05-21 13:05:31 +02:00
committed by WarmUpTill
parent c43439ee64
commit c281c6db83
7 changed files with 50 additions and 15 deletions

View File

@@ -2,7 +2,6 @@
#include "layout-helpers.hpp"
#include "plugin-state-helpers.hpp"
#include "platform-funcs.hpp"
#include "selection-helpers.hpp"
#include <regex>
@@ -193,7 +192,7 @@ void MacroConditionWindow::SetupTempVars()
MacroConditionWindowEdit::MacroConditionWindowEdit(
QWidget *parent, std::shared_ptr<MacroConditionWindow> entryData)
: QWidget(parent),
_windowSelection(new QComboBox()),
_windowSelection(new WindowSelectionWidget(this)),
_windowRegex(new RegexConfigWidget(this)),
_checkTitle(new QCheckBox()),
_fullscreen(new QCheckBox()),
@@ -206,9 +205,6 @@ MacroConditionWindowEdit::MacroConditionWindowEdit(
_focusWindow(new QLabel()),
_currentFocusLayout(new QHBoxLayout())
{
_windowSelection->setEditable(true);
_windowSelection->setMaxVisibleItems(20);
_checkText->setToolTip(obs_module_text(
"AdvSceneSwitcher.condition.window.entry.text.note"));
_text->setToolTip(obs_module_text(
@@ -240,8 +236,6 @@ MacroConditionWindowEdit::MacroConditionWindowEdit(
QWidget::connect(&_timer, SIGNAL(timeout()), this,
SLOT(UpdateFocusWindow()));
PopulateWindowSelection(_windowSelection);
const std::unordered_map<std::string, QWidget *> widgetPlaceholders = {
{"{{windows}}", _windowSelection},
{"{{windowRegex}}", _windowRegex},