From 899d94ca7455d37f72ee64330159c468ffbb5a61 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Wed, 9 Mar 2016 20:42:49 +0000 Subject: [PATCH] refs #601 Refactor signal/slot connections from CValuePage constructor into virtual method of CValueCache so that derived classes can override the behaviour. --- src/blackmisc/valuecache.cpp | 9 +++++++-- src/blackmisc/valuecache.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/blackmisc/valuecache.cpp b/src/blackmisc/valuecache.cpp index d0b6c335b..056602173 100644 --- a/src/blackmisc/valuecache.cpp +++ b/src/blackmisc/valuecache.cpp @@ -365,6 +365,12 @@ namespace BlackMisc } } + void CValueCache::connectPage(CValuePage *page) + { + connect(page, &CValuePage::valuesWantToCache, this, &CValueCache::changeValues); + connect(this, &CValueCache::valuesChanged, page, &CValuePage::setValuesFromCache); + } + //////////////////////////////// // Private :: CValuePage @@ -374,8 +380,7 @@ namespace BlackMisc QObject(parent), m_cache(cache) { - connect(this, &CValuePage::valuesWantToCache, cache, &CValueCache::changeValues); - connect(cache, &CValueCache::valuesChanged, this, &CValuePage::setValuesFromCache); + m_cache->connectPage(this); } CValuePage &CValuePage::getPageFor(QObject *parent, CValueCache *cache) diff --git a/src/blackmisc/valuecache.h b/src/blackmisc/valuecache.h index ac006cba6..2645ec43c 100644 --- a/src/blackmisc/valuecache.h +++ b/src/blackmisc/valuecache.h @@ -240,6 +240,8 @@ namespace BlackMisc Element &getElement(const QString &key, QMap::const_iterator pos); std::tuple getValue(const QString &key); + virtual void connectPage(Private::CValuePage *page); + signals: //! \private void valuesChanged(const BlackMisc::CValueCachePacket &values, QObject *changedBy);