From e13b9b0aa72928a8438c1a436f5a6842d6bbe914 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sat, 17 Feb 2024 23:29:06 +0100 Subject: [PATCH] Add helpers which also update the lineEdit text of FilterComboBox --- lib/utils/filter-combo-box.cpp | 17 +++++++++++++++++ lib/utils/filter-combo-box.hpp | 3 +++ 2 files changed, 20 insertions(+) diff --git a/lib/utils/filter-combo-box.cpp b/lib/utils/filter-combo-box.cpp index ec8aee14..4d2dd6f6 100644 --- a/lib/utils/filter-combo-box.cpp +++ b/lib/utils/filter-combo-box.cpp @@ -62,6 +62,23 @@ void FilterComboBox::SetFilterBehaviourEnabled(bool value) FilterComboBox::_filteringEnabled = value; } +void FilterComboBox::setCurrentText(const QString &text) +{ + if (_filteringEnabled) { + lineEdit()->setText(text); + } + QComboBox::setCurrentText(text); +} + +void FilterComboBox::setItemText(int index, const QString &text) +{ + QComboBox::setItemText(index, text); + if (_filteringEnabled && index == currentIndex()) { + const QSignalBlocker b(this); + lineEdit()->setText(text); + } +} + void FilterComboBox::focusOutEvent(QFocusEvent *event) { // Reset on invalid selection diff --git a/lib/utils/filter-combo-box.hpp b/lib/utils/filter-combo-box.hpp index 1b090481..d73b72fc 100644 --- a/lib/utils/filter-combo-box.hpp +++ b/lib/utils/filter-combo-box.hpp @@ -14,6 +14,9 @@ public: const QString &placehodler = ""); static void SetFilterBehaviourEnabled(bool); + void setCurrentText(const QString &text); + void setItemText(int index, const QString &text); + protected: void focusOutEvent(QFocusEvent *event) override;