From b501591d8224dc5f591db9de5d95356b2fcd9b69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonatan=20P=C3=A5lsson?= Date: Wed, 16 Apr 2014 09:57:57 +0200 Subject: Emit onCacheChanged when cache changes --- browser/browserview.cpp | 5 ++++- browser/cachemanager.cpp | 10 ++++++++++ browser/cachemanager.h | 4 +++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/browser/browserview.cpp b/browser/browserview.cpp index 4ac905a..91851b8 100644 --- a/browser/browserview.cpp +++ b/browser/browserview.cpp @@ -29,7 +29,8 @@ #include "errorlogger.h" BrowserView::BrowserView(cachemanager *cm, userinput *uip) - : m_scrollPositionX(0), m_scrollPositionY (0), m_cacheManager (cm) + : m_scrollPositionX(0), m_scrollPositionY (0), m_cacheManager (cm), + m_previousCacheSize(0) { QString startPage; m_cacheManager = cm; @@ -152,6 +153,8 @@ void BrowserView::loadFinished(bool ok) qDebug() << "Emitting signal onActionStateChanged"; emit onActionStateChanged(changes); } + + m_cacheManager->checkForChanges(); } void BrowserView::scroll (conn::brw::SCROLL_DIRECTION dir, conn::brw::SCROLL_TYPE type) diff --git a/browser/cachemanager.cpp b/browser/cachemanager.cpp index f75054b..aeba1f8 100644 --- a/browser/cachemanager.cpp +++ b/browser/cachemanager.cpp @@ -113,3 +113,13 @@ QNetworkRequest::CacheLoadControl cachemanager::getCacheLoadControl() return QNetworkRequest::PreferCache; } } + +void cachemanager::checkForChanges() +{ + if (m_previousCacheSize != getCacheSize()) { + m_previousCacheSize = getCacheSize(); + qDebug() << "Emitting onCacheChanged"; + emit onCacheChanged(); + } + qDebug() << "No changes detected. Not emitting onCacheChanged"; +} diff --git a/browser/cachemanager.h b/browser/cachemanager.h index f8f25dd..bf08dee 100644 --- a/browser/cachemanager.h +++ b/browser/cachemanager.h @@ -29,9 +29,10 @@ public: cachemanager(QObject *parent = 0); QNetworkAccessManager *getNetworkAccessManager(); QNetworkRequest::CacheLoadControl getCacheLoadControl(); + void checkForChanges(); signals: - void cacheChanged(); + void onCacheChanged(); void onCachePolicyChanged(conn::brw::CACHE_POLICY); void onClearCache(void); @@ -46,6 +47,7 @@ private: BrowserConfig *m_config; conn::brw::CACHE_POLICY m_policy; QNetworkAccessManager *m_manager; + qint64 m_previousCacheSize; }; #endif // CACHEMANAGER_H -- cgit v1.2.1