bool ClearAllCookiesPoliciesAction::action() { // load the config file and section KConfig cfg(QLatin1String( "kcookiejarrc" )); KConfigGroup group = cfg.group("Cookie Policy"); kDebug() << "removing all saved cookie policies" ; group.deleteEntry("CookieDomainAdvice"); cfg.sync(); // inform the cookie jar we pillaged it QDBusInterface kcookiejar(QLatin1String( "org.kde.kded" ), QLatin1String( "/modules/kcookiejar" ), QLatin1String( "org.kde.KCookieServer" )); QDBusReply<void> reply = kcookiejar.call(QLatin1String( "reloadPolicy" )); return reply.isValid(); }
void MainWindow::clearPrivateData() { QPointer<KDialog> dialog = new KDialog(this); dialog->setCaption(i18nc("@title:window", "Clear Private Data")); dialog->setButtons(KDialog::Ok | KDialog::Cancel); dialog->button(KDialog::Ok)->setIcon(KIcon("edit-clear")); dialog->button(KDialog::Ok)->setText(i18n("Clear")); Ui::ClearDataWidget clearWidget; QWidget widget; clearWidget.setupUi(&widget); clearWidget.clearHistory->setChecked(ReKonfig::clearHistory()); clearWidget.clearDownloads->setChecked(ReKonfig::clearDownloads()); clearWidget.clearCookies->setChecked(ReKonfig::clearCookies()); clearWidget.clearCachedPages->setChecked(ReKonfig::clearCachedPages()); clearWidget.clearWebIcons->setChecked(ReKonfig::clearWebIcons()); clearWidget.homePageThumbs->setChecked(ReKonfig::clearHomePageThumbs()); dialog->setMainWidget(&widget); dialog->exec(); if (dialog->result() == QDialog::Accepted) { //Save current state ReKonfig::setClearHistory(clearWidget.clearHistory->isChecked()); ReKonfig::setClearDownloads(clearWidget.clearDownloads->isChecked()); ReKonfig::setClearCookies(clearWidget.clearDownloads->isChecked()); ReKonfig::setClearCachedPages(clearWidget.clearCachedPages->isChecked()); ReKonfig::setClearWebIcons(clearWidget.clearWebIcons->isChecked()); ReKonfig::setClearHomePageThumbs(clearWidget.homePageThumbs->isChecked()); if (clearWidget.clearHistory->isChecked()) { Application::historyManager()->clear(); } if (clearWidget.clearDownloads->isChecked()) { Application::instance()->clearDownloadsHistory(); } if (clearWidget.clearCookies->isChecked()) { QDBusInterface kcookiejar("org.kde.kded", "/modules/kcookiejar", "org.kde.KCookieServer"); QDBusReply<void> reply = kcookiejar.call("deleteAllCookies"); } if (clearWidget.clearCachedPages->isChecked()) { KProcess::startDetached(KStandardDirs::findExe("kio_http_cache_cleaner"), QStringList(QL1S("--clear-all"))); } if (clearWidget.clearWebIcons->isChecked()) { Application::iconManager()->clearIconCache(); } if (clearWidget.homePageThumbs->isChecked()) { QString path = KStandardDirs::locateLocal("cache", QString("thumbs/rekonq"), true); path.remove("rekonq"); QDir cacheDir(path); QStringList fileList = cacheDir.entryList(); foreach(const QString &str, fileList) { QFile file(path + str); file.remove(); }