#include "profiledialog.h" #include "ui_profiledialog.h" #include #include #include #include ProfileDialog::ProfileDialog(QWebEngineProfile *profile, QWidget *parent) : QDialog(parent), ui(new Ui::ProfileDialog) { _profile = profile; ui->setupUi(this); // http ui->userAgent->setPlainText(_profile->httpUserAgent()); ui->acceptLanguage->setPlainText(_profile->httpAcceptLanguage()); ui->cacheType->setCurrentIndex(_profile->httpCacheType()); ui->cacheSize->setText(QString::number(_profile->httpCacheMaximumSize())); // path ui->storagePath_lineEdit->setText(_profile->persistentStoragePath()); ui->cachePath_lineEdit->setText(_profile->cachePath()); // policy ui->cookiePolicy->setCurrentIndex(_profile->persistentCookiesPolicy()); // actions connect(ui->clearCache_pushButton, &QPushButton::clicked, [this]() { this->_profile->clearHttpCache(); }); connect(ui->clearHistory_pushButton, &QPushButton::clicked, [this]() { this->_profile->clearAllVisitedLinks(); }); connect(this, SIGNAL(accepted()), this, SLOT(updateProfile())); } ProfileDialog::~ProfileDialog() { delete ui; } void ProfileDialog::updateProfile() { qDebug("Updating profile..."); // http _profile->setHttpUserAgent(ui->userAgent->toPlainText()); _profile->setHttpAcceptLanguage(ui->acceptLanguage->toPlainText()); switch (ui->cacheType->currentIndex()) { case 0: _profile->setHttpCacheType(QWebEngineProfile::MemoryHttpCache); break; case 1: _profile->setHttpCacheType(QWebEngineProfile::DiskHttpCache); break; case 2: _profile->setHttpCacheType(QWebEngineProfile::NoCache); break; default: break; } _profile->setHttpCacheMaximumSize(ui->cacheSize->text().toInt()); // policy switch (ui->cookiePolicy->currentIndex()) { case 0: _profile->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies); break; case 1: _profile->setPersistentCookiesPolicy(QWebEngineProfile::AllowPersistentCookies); break; case 2: _profile->setPersistentCookiesPolicy(QWebEngineProfile::ForcePersistentCookies); break; default: break; } }