summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-04-16 09:57:57 +0200
committerJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-04-16 09:57:57 +0200
commitb501591d8224dc5f591db9de5d95356b2fcd9b69 (patch)
tree4487ff570dd4f7607d48f771a0cef2361d8d1d0d
parent06414eaa20b039698c53dfb30654f92e25a0b66b (diff)
downloadbrowser-poc-b501591d8224dc5f591db9de5d95356b2fcd9b69.tar.gz
Emit onCacheChanged when cache changes
-rw-r--r--browser/browserview.cpp5
-rw-r--r--browser/cachemanager.cpp10
-rw-r--r--browser/cachemanager.h4
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