diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/iconmanager.cpp | 14 | ||||
-rw-r--r-- | src/iconmanager.h | 2 | ||||
-rw-r--r-- | src/mainwindow.cpp | 2 |
3 files changed, 17 insertions, 1 deletions
diff --git a/src/iconmanager.cpp b/src/iconmanager.cpp index 3829776d..f8d1a6a4 100644 --- a/src/iconmanager.cpp +++ b/src/iconmanager.cpp @@ -41,6 +41,8 @@ #include <KUrl> // Qt Includes +#include <QtCore/QDir> + #include <QtWebKit/QWebElement> #include <QtWebKit/QWebFrame> #include <QtWebKit/QWebSettings> @@ -173,3 +175,15 @@ void IconManager::downloadIconFromUrl(const KUrl &url) { new WebIcon(url, this); } + + +void IconManager::clearIconCache() +{ + QString faviconDir = KStandardDirs::locateLocal("cache" , "favicons/" , true); + QDir d(faviconDir); + QStringList favicons = d.entryList(); + Q_FOREACH(const QString &fav, favicons) + { + d.remove(fav); + } +} diff --git a/src/iconmanager.h b/src/iconmanager.h index 826706b7..9e451431 100644 --- a/src/iconmanager.h +++ b/src/iconmanager.h @@ -52,6 +52,8 @@ public: void provideIcon(QWebPage *page, const KUrl &url, bool notify = true); void downloadIconFromUrl(const KUrl &url); + + void clearIconCache(); Q_SIGNALS: void iconChanged(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index f1cec171..4c766ba0 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1182,7 +1182,7 @@ void MainWindow::clearPrivateData() if (clearWidget.clearWebIcons->isChecked()) { - QWebSettings::clearIconDatabase(); + Application::iconManager()->clearIconCache(); } if (clearWidget.homePageThumbs->isChecked()) |