From 0eb32befbc93a19103415e8e6f0805182ee02030 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Fri, 13 Jan 2017 14:51:25 +0100 Subject: Added all QtWebEngineProfile options to ProfileDialog --- src/forms/profiledialog.cpp | 63 +++++++++++-- src/forms/profiledialog.h | 2 +- src/forms/profiledialog.ui | 212 +++++++++++++++++++++++++++++++++++--------- 3 files changed, 230 insertions(+), 47 deletions(-) (limited to 'src') diff --git a/src/forms/profiledialog.cpp b/src/forms/profiledialog.cpp index b485419..286d85c 100644 --- a/src/forms/profiledialog.cpp +++ b/src/forms/profiledialog.cpp @@ -2,6 +2,9 @@ #include "ui_profiledialog.h" #include +#include +#include +#include ProfileDialog::ProfileDialog(QWebEngineProfile *profile, QWidget *parent) : QDialog(parent), @@ -10,11 +13,29 @@ ProfileDialog::ProfileDialog(QWebEngineProfile *profile, QWidget *parent) : _profile = profile; ui->setupUi(this); - ui->userAgent_lineEdit->setText(_profile->httpUserAgent()); + + // 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()); - connect(this, SIGNAL(accepted()), this, SLOT(saveProfile())); + // 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() @@ -22,8 +43,40 @@ ProfileDialog::~ProfileDialog() delete ui; } -void ProfileDialog::saveProfile() +void ProfileDialog::updateProfile() { - qDebug("Saving profile..."); - _profile->setHttpUserAgent(ui->userAgent_lineEdit->text()); + 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; + } } diff --git a/src/forms/profiledialog.h b/src/forms/profiledialog.h index 98426d0..c78f892 100644 --- a/src/forms/profiledialog.h +++ b/src/forms/profiledialog.h @@ -17,7 +17,7 @@ public: ~ProfileDialog(); private slots: - void saveProfile(); + void updateProfile(); private: QWebEngineProfile *_profile; diff --git a/src/forms/profiledialog.ui b/src/forms/profiledialog.ui index 097d9cb..528d672 100644 --- a/src/forms/profiledialog.ui +++ b/src/forms/profiledialog.ui @@ -11,50 +11,180 @@ - Dialog + Profile - - - - - User Agent - - - - - - - - - - Storage Path - - - - - - - false - - - - - - - Cache Path - - - - - - - false - - - - + + + 0 + + + + HTTP + + + + + + User Agent + + + + + + + + + + Accept Language + + + + + + + Cache Type + + + + + + + Cache Size + + + + + + + + + + + Memory Cache + + + + + Disk Cache + + + + + Disabled + + + + + + + + + + + + Paths + + + + + + Storage Path + + + + + + + false + + + + + + + Cache Path + + + + + + + false + + + + + + + + Policies + + + + + + Cookies + + + + + + + + No Persistent Cookies + + + + + Allow Persistent Cookies + + + + + Force Persistent Cookies + + + + + + + + + Actions + + + + + + Clear History + + + + + + + Clear Cache + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + -- cgit v1.2.1