From 5f7bf66bebb423d071f0ee65c0f2cd54cab2c073 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Mon, 19 Dec 2022 16:40:35 -0500
Subject: [PATCH] contactadapter: invalidate model on modelUpdated

This allow to refresh popup if a contact is added while showing
the element.

Change-Id: I7dfce7a24f0160a0328205d466bd0d4ae626b90f
GitLab: #790
---
 src/app/contactadapter.cpp | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/app/contactadapter.cpp b/src/app/contactadapter.cpp
index 6c96c6d1c..fd35b1588 100644
--- a/src/app/contactadapter.cpp
+++ b/src/app/contactadapter.cpp
@@ -249,10 +249,20 @@ ContactAdapter::removeContact(const QString& peerUri, bool banContact)
 void
 ContactAdapter::connectSignals()
 {
-    if (lrcInstance_->getCurrentContactModel())
+    if (lrcInstance_->getCurrentContactModel()) {
         connect(lrcInstance_->getCurrentContactModel(),
                 &ContactModel::bannedStatusChanged,
                 this,
                 &ContactAdapter::bannedStatusChanged,
                 Qt::UniqueConnection);
+        connect(
+            lrcInstance_->getCurrentContactModel(),
+            &ContactModel::modelUpdated,
+            this,
+            [&](const auto& uri) {
+                // Refresh contacts shown
+                selectableProxyModel_->invalidate();
+            },
+            Qt::UniqueConnection);
+    }
 }
-- 
GitLab