/** LICENSE ******************************************************************** ** ** smolbote: yet another qute browser ** Copyright (C) 2017 Xian Nox ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . ** ******************************************************************************/ #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); if(!_profile->storageName().isEmpty()) { setWindowTitle(_profile->storageName()); } else { setWindowTitle(tr("Off-the-record")); } // 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; } }