From d9cc02844d2d5167e726230e4f35cb84d79e0d6a Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 16 Sep 2014 22:18:20 +0200 Subject: [PATCH] refs #325, reduced loading in users component --- src/blackgui/components/usercomponent.cpp | 21 +++++++++++++++++++++ src/blackgui/components/usercomponent.h | 6 ++++++ 2 files changed, 27 insertions(+) diff --git a/src/blackgui/components/usercomponent.cpp b/src/blackgui/components/usercomponent.cpp index 2f66da0a9..f15931ce7 100644 --- a/src/blackgui/components/usercomponent.cpp +++ b/src/blackgui/components/usercomponent.cpp @@ -30,6 +30,18 @@ namespace BlackGui delete ui; } + int CUserComponent::countClients() const + { + Q_ASSERT(this->ui->tvp_Clients); + return this->ui->tvp_Clients->rowCount(); + } + + int CUserComponent::countUsers() const + { + Q_ASSERT(this->ui->tvp_AllUsers); + return this->ui->tvp_AllUsers->rowCount(); + } + void CUserComponent::update() { Q_ASSERT(this->ui->tvp_AllUsers); @@ -38,6 +50,15 @@ namespace BlackGui if (this->getIContextNetwork()->isConnected()) { + bool withData = countUsers() > 0 || countClients() > 0; + if (withData && !isVisibleWidget()) + { + // KWB remove: qDebug() will be removed soo + qDebug() << this->objectName() << "Skipping update"; + return; + } + + // load data this->ui->tvp_Clients->updateContainer(this->getIContextNetwork()->getOtherClients()); this->ui->tvp_AllUsers->updateContainer(this->getIContextNetwork()->getUsers()); } diff --git a/src/blackgui/components/usercomponent.h b/src/blackgui/components/usercomponent.h index 9d051d4a0..1e29cea98 100644 --- a/src/blackgui/components/usercomponent.h +++ b/src/blackgui/components/usercomponent.h @@ -43,6 +43,12 @@ namespace BlackGui //! Timer for updating CTimerBasedComponent *getTimerComponent() { return this->m_timerComponent; } + //! Number of clients + int countClients() const; + + //! Number of users + int countUsers() const; + public slots: //! Update users void update();