From 34baa56134adf8eb5e34fbef30f43d3e8817c794 Mon Sep 17 00:00:00 2001 From: WarmUpTill <19472752+WarmUpTill@users.noreply.github.com> Date: Wed, 21 May 2025 16:05:10 +0200 Subject: [PATCH] Update process list on visibility change This is done to support widget caching --- plugins/base/macro-condition-process.cpp | 9 +++++++++ plugins/base/macro-condition-process.hpp | 3 +++ 2 files changed, 12 insertions(+) diff --git a/plugins/base/macro-condition-process.cpp b/plugins/base/macro-condition-process.cpp index af608001..b04a800b 100644 --- a/plugins/base/macro-condition-process.cpp +++ b/plugins/base/macro-condition-process.cpp @@ -156,6 +156,15 @@ void MacroConditionProcessEdit::ProcessChanged(const QString &text) QString::fromStdString(_entryData->GetShortDesc())); } +void MacroConditionProcessEdit::showEvent(QShowEvent *event) +{ + const QSignalBlocker b(_processSelection); + const auto text = _processSelection->currentText(); + _processSelection->clear(); + PopulateProcessSelection(_processSelection); + _processSelection->setCurrentText(text); +} + void MacroConditionProcessEdit::RegexChanged(const RegexConfig &conf) { if (_loading || !_entryData) { diff --git a/plugins/base/macro-condition-process.hpp b/plugins/base/macro-condition-process.hpp index 6b85645f..fc0a9be5 100644 --- a/plugins/base/macro-condition-process.hpp +++ b/plugins/base/macro-condition-process.hpp @@ -47,6 +47,9 @@ public: std::dynamic_pointer_cast(cond)); } +protected: + void showEvent(QShowEvent *event) override; + private slots: void ProcessChanged(const QString &text); void RegexChanged(const RegexConfig &);