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);