aboutsummaryrefslogtreecommitdiff
path: root/src/forms/profiledialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/forms/profiledialog.cpp')
-rw-r--r--src/forms/profiledialog.cpp63
1 files changed, 58 insertions, 5 deletions
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 <QLineEdit>
+#include <QPlainTextEdit>
+#include <QComboBox>
+#include <QPushButton>
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;
+ }
}