From 95315ce608ab223efdfa085e2ed90448bdf8f688 Mon Sep 17 00:00:00 2001 From: Ming Rui Zhang <mingrui.zhang@savoirfairelinux.com> Date: Mon, 16 Aug 2021 15:06:39 -0400 Subject: [PATCH] adapter: move bannedStatusChanged connection out from redundant safeInit Gitlab: #492 Change-Id: I8bab7bc1cd1f5bdbf7c6c54e615a21690dad1585 --- src/accountadapter.cpp | 4 ---- src/accountadapter.h | 2 +- src/contactadapter.cpp | 26 ++++++++++++++------------ src/contactadapter.h | 4 +++- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/accountadapter.cpp b/src/accountadapter.cpp index e39c39dec..f81675974 100644 --- a/src/accountadapter.cpp +++ b/src/accountadapter.cpp @@ -48,10 +48,6 @@ AccountAdapter::AccountAdapter(AppSettingsManager* settingsManager, &AccountAdapter::accountStatusChanged); } -void -AccountAdapter::safeInit() -{} - NewAccountModel* AccountAdapter::getModel() { diff --git a/src/accountadapter.h b/src/accountadapter.h index 313b2ad0d..c41dfc12c 100644 --- a/src/accountadapter.h +++ b/src/accountadapter.h @@ -50,7 +50,7 @@ public: QObject* parent = nullptr); ~AccountAdapter() = default; - void safeInit() override; + void safeInit() override {} // Change to account corresponding to combox box index. Q_INVOKABLE void changeAccount(int row); diff --git a/src/contactadapter.cpp b/src/contactadapter.cpp index 621cd21d8..96227a737 100644 --- a/src/contactadapter.cpp +++ b/src/contactadapter.cpp @@ -26,18 +26,10 @@ ContactAdapter::ContactAdapter(LRCInstance* instance, QObject* parent) : QmlAdapterBase(instance, parent) { selectableProxyModel_.reset(new SelectableProxyModel(this)); -} - -void -ContactAdapter::safeInit() -{ - connect(lrcInstance_, &LRCInstance::currentAccountIdChanged, [this] { - connect(lrcInstance_->getCurrentContactModel(), - &ContactModel::bannedStatusChanged, - this, - &ContactAdapter::bannedStatusChanged, - Qt::UniqueConnection); - }); + if (lrcInstance_) { + connectSignals(); + connect(lrcInstance_, &LRCInstance::currentAccountIdChanged, [this] { connectSignals(); }); + } } QVariant @@ -194,3 +186,13 @@ ContactAdapter::contactSelected(int index) } } } + +void +ContactAdapter::connectSignals() +{ + connect(lrcInstance_->getCurrentContactModel(), + &ContactModel::bannedStatusChanged, + this, + &ContactAdapter::bannedStatusChanged, + Qt::UniqueConnection); +} diff --git a/src/contactadapter.h b/src/contactadapter.h index fa3e645d2..a4c15a23c 100644 --- a/src/contactadapter.h +++ b/src/contactadapter.h @@ -86,12 +86,14 @@ public: using Role = ConversationList::Role; - void safeInit() override; + void safeInit() override {} Q_INVOKABLE QVariant getContactSelectableModel(int type); Q_INVOKABLE void setSearchFilter(const QString& filter); Q_INVOKABLE void contactSelected(int index); + void connectSignals(); + Q_SIGNALS: void bannedStatusChanged(const QString& uri, bool banned); -- GitLab