From 28d5a16ffb85550a7dc19e7fe8b945dc35d8cb77 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 9 Sep 2018 12:56:36 +0200 Subject: WebProfile: save httpCacheType and persistentCookiesPolicy --- plugins/ProfileEditor/CMakeLists.txt | 3 + plugins/ProfileEditor/forms/profileview.cpp | 97 ++++++++++++----------------- plugins/ProfileEditor/forms/profileview.h | 6 -- 3 files changed, 43 insertions(+), 63 deletions(-) (limited to 'plugins') diff --git a/plugins/ProfileEditor/CMakeLists.txt b/plugins/ProfileEditor/CMakeLists.txt index f294c30..6237785 100644 --- a/plugins/ProfileEditor/CMakeLists.txt +++ b/plugins/ProfileEditor/CMakeLists.txt @@ -2,6 +2,9 @@ find_package(Qt5Core REQUIRED) find_package(Qt5Widgets REQUIRED) find_package(Qt5WebEngineWidgets REQUIRED) +# Find includes in corresponding build directories +set(CMAKE_INCLUDE_CURRENT_DIR ON) + set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) diff --git a/plugins/ProfileEditor/forms/profileview.cpp b/plugins/ProfileEditor/forms/profileview.cpp index caa9723..f4750e1 100644 --- a/plugins/ProfileEditor/forms/profileview.cpp +++ b/plugins/ProfileEditor/forms/profileview.cpp @@ -14,13 +14,12 @@ #include #include -void ProfileView::connectSetting(QCheckBox *checkBox, QWebEngineSettings *settings, QWebEngineSettings::WebAttribute attr) +inline void connectSetting(QCheckBox *checkBox, WebProfile *profile, QWebEngineSettings::WebAttribute attr) { - checkBox->setChecked(settings->testAttribute(attr)); - connect(checkBox, &QCheckBox::clicked, [this, settings, attr](bool checked) { - this->m_isChanged = true; - settings->setAttribute(attr, checked); - emit m_profile->attributeChanged(attr, checked); + checkBox->setChecked(profile->settings()->testAttribute(attr)); + QObject::connect(checkBox, &QCheckBox::clicked, [profile, attr](bool checked) { + profile->settings()->setAttribute(attr, checked); + emit profile->attributeChanged(attr, checked); }); } @@ -58,32 +57,27 @@ ProfileView::ProfileView(WebProfile *profile, QWidget *parent) // http tab ui->userAgent->setPlainText(m_profile->httpUserAgent()); connect(ui->userAgent, &QPlainTextEdit::textChanged, profile, [=]() { - this->m_isChanged = true; profile->setHttpUserAgent(ui->userAgent->toPlainText()); }); ui->acceptLanguage->setPlainText(m_profile->httpAcceptLanguage()); connect(ui->acceptLanguage, &QPlainTextEdit::textChanged, profile, [=]() { - this->m_isChanged = true; profile->setHttpAcceptLanguage(ui->acceptLanguage->toPlainText()); }); ui->cacheType->setCurrentIndex(m_profile->httpCacheType()); connect(ui->cacheType, QOverload::of(&QComboBox::currentIndexChanged), profile, [=](int index) { - this->m_isChanged = true; - profile->setHttpCacheType(static_cast(index)); + profile->setHttpCacheType(index); }); ui->cacheSize->setText(QString::number(m_profile->httpCacheMaximumSize())); connect(ui->cacheSize, &QLineEdit::textChanged, profile, [=](const QString &text) { - this->m_isChanged = true; profile->setHttpCacheMaximumSize(text.toInt()); }); ui->cookiePolicy->setCurrentIndex(m_profile->persistentCookiesPolicy()); connect(ui->cookiePolicy, QOverload::of(&QComboBox::currentIndexChanged), profile, [=](int index) { - this->m_isChanged = true; - profile->setPersistentCookiesPolicy(static_cast(index)); + profile->setPersistentCookiesPolicy(index); }); connect(ui->clearCache_pushButton, &QPushButton::clicked, profile, &QWebEngineProfile::clearHttpCache); @@ -93,7 +87,39 @@ ProfileView::ProfileView(WebProfile *profile, QWidget *parent) ui->cachePath_lineEdit->setText(m_profile->cachePath()); // settings tab - loadSettings(profile->settings()); + connectSetting(ui->autoloadImages, m_profile, QWebEngineSettings::AutoLoadImages); + connectSetting(ui->autoloadIcons, m_profile, QWebEngineSettings::AutoLoadIconsForPage); + + connectSetting(ui->javascriptEnabled, m_profile, QWebEngineSettings::JavascriptEnabled); + connectSetting(ui->javascriptCanAccessClipboard, m_profile, QWebEngineSettings::JavascriptCanAccessClipboard); + connectSetting(ui->javascriptCanOpenWindows, m_profile, QWebEngineSettings::JavascriptCanOpenWindows); + connectSetting(ui->javascriptCanActivateWindows, m_profile, QWebEngineSettings::AllowWindowActivationFromJavaScript); + + connectSetting(ui->linksIncludedInFocusChain, m_profile, QWebEngineSettings::LinksIncludedInFocusChain); + connectSetting(ui->spatialNavigationEnabled, m_profile, QWebEngineSettings::SpatialNavigationEnabled); + connectSetting(ui->focusOnNavigationEnabled, m_profile, QWebEngineSettings::FocusOnNavigationEnabled); + connectSetting(ui->touchIconsEnabled, m_profile, QWebEngineSettings::TouchIconsEnabled); + + connectSetting(ui->showScrollBars, m_profile, QWebEngineSettings::ShowScrollBars); + connectSetting(ui->scrollAnimatorEnabled, m_profile, QWebEngineSettings::ScrollAnimatorEnabled); + connectSetting(ui->errorPagesEnabled, m_profile, QWebEngineSettings::ErrorPageEnabled); + + connectSetting(ui->localContentCanAccessRemoteUrls, m_profile, QWebEngineSettings::LocalContentCanAccessRemoteUrls); + connectSetting(ui->localContentCanAccessFileUrls, m_profile, QWebEngineSettings::LocalContentCanAccessFileUrls); + + connectSetting(ui->localStorageEnabled, m_profile, QWebEngineSettings::LocalStorageEnabled); + connectSetting(ui->webglEnabled, m_profile, QWebEngineSettings::WebGLEnabled); + connectSetting(ui->canvasEnabled, m_profile, QWebEngineSettings::Accelerated2dCanvasEnabled); + + connectSetting(ui->xssAuditingEnabled, m_profile, QWebEngineSettings::XSSAuditingEnabled); + connectSetting(ui->hyperlinkAuditingEnabled, m_profile, QWebEngineSettings::HyperlinkAuditingEnabled); + + connectSetting(ui->allowRunningInsecureContent, m_profile, QWebEngineSettings::AllowRunningInsecureContent); + connectSetting(ui->allowGeolocationOnInsecureContent, m_profile, QWebEngineSettings::AllowGeolocationOnInsecureOrigins); + connectSetting(ui->ppapiPluginsEnabled, m_profile, QWebEngineSettings::PluginsEnabled); + connectSetting(ui->fullscreenSupportEnabled, m_profile, QWebEngineSettings::FullScreenSupportEnabled); + connectSetting(ui->screenCaptureEnabled, m_profile, QWebEngineSettings::ScreenCaptureEnabled); + connectSetting(ui->printElementBackgrounds, m_profile, QWebEngineSettings::PrintElementBackgrounds); // cookies tab loadCookies(profile->cookieStore()); @@ -107,49 +133,6 @@ ProfileView::~ProfileView() delete ui; } -bool ProfileView::isChanged() const -{ - return m_isChanged; -} - -void ProfileView::loadSettings(QWebEngineSettings *settings) -{ - // settings - connectSetting(ui->autoloadImages, settings, QWebEngineSettings::AutoLoadImages); - connectSetting(ui->autoloadIcons, settings, QWebEngineSettings::AutoLoadIconsForPage); - - connectSetting(ui->javascriptEnabled, settings, QWebEngineSettings::JavascriptEnabled); - connectSetting(ui->javascriptCanAccessClipboard, settings, QWebEngineSettings::JavascriptCanAccessClipboard); - connectSetting(ui->javascriptCanOpenWindows, settings, QWebEngineSettings::JavascriptCanOpenWindows); - connectSetting(ui->javascriptCanActivateWindows, settings, QWebEngineSettings::AllowWindowActivationFromJavaScript); - - connectSetting(ui->linksIncludedInFocusChain, settings, QWebEngineSettings::LinksIncludedInFocusChain); - connectSetting(ui->spatialNavigationEnabled, settings, QWebEngineSettings::SpatialNavigationEnabled); - connectSetting(ui->focusOnNavigationEnabled, settings, QWebEngineSettings::FocusOnNavigationEnabled); - connectSetting(ui->touchIconsEnabled, settings, QWebEngineSettings::TouchIconsEnabled); - - connectSetting(ui->showScrollBars, settings, QWebEngineSettings::ShowScrollBars); - connectSetting(ui->scrollAnimatorEnabled, settings, QWebEngineSettings::ScrollAnimatorEnabled); - connectSetting(ui->errorPagesEnabled, settings, QWebEngineSettings::ErrorPageEnabled); - - connectSetting(ui->localContentCanAccessRemoteUrls, settings, QWebEngineSettings::LocalContentCanAccessRemoteUrls); - connectSetting(ui->localContentCanAccessFileUrls, settings, QWebEngineSettings::LocalContentCanAccessFileUrls); - - connectSetting(ui->localStorageEnabled, settings, QWebEngineSettings::LocalStorageEnabled); - connectSetting(ui->webglEnabled, settings, QWebEngineSettings::WebGLEnabled); - connectSetting(ui->canvasEnabled, settings, QWebEngineSettings::Accelerated2dCanvasEnabled); - - connectSetting(ui->xssAuditingEnabled, settings, QWebEngineSettings::XSSAuditingEnabled); - connectSetting(ui->hyperlinkAuditingEnabled, settings, QWebEngineSettings::HyperlinkAuditingEnabled); - - connectSetting(ui->allowRunningInsecureContent, settings, QWebEngineSettings::AllowRunningInsecureContent); - connectSetting(ui->allowGeolocationOnInsecureContent, settings, QWebEngineSettings::AllowGeolocationOnInsecureOrigins); - connectSetting(ui->ppapiPluginsEnabled, settings, QWebEngineSettings::PluginsEnabled); - connectSetting(ui->fullscreenSupportEnabled, settings, QWebEngineSettings::FullScreenSupportEnabled); - connectSetting(ui->screenCaptureEnabled, settings, QWebEngineSettings::ScreenCaptureEnabled); - connectSetting(ui->printElementBackgrounds, settings, QWebEngineSettings::PrintElementBackgrounds); -} - void ProfileView::loadCookies(QWebEngineCookieStore *store) { // diff --git a/plugins/ProfileEditor/forms/profileview.h b/plugins/ProfileEditor/forms/profileview.h index 6c77982..7d90109 100644 --- a/plugins/ProfileEditor/forms/profileview.h +++ b/plugins/ProfileEditor/forms/profileview.h @@ -30,10 +30,7 @@ public: explicit ProfileView(WebProfile *profile, QWidget *parent = nullptr); ~ProfileView() override; - bool isChanged() const; - private slots: - void loadSettings(QWebEngineSettings *settings); void loadCookies(QWebEngineCookieStore *store); void cookieAdded(const QNetworkCookie &cookie); @@ -42,9 +39,6 @@ private slots: private: Ui::ProfileView *ui; WebProfile *m_profile; - bool m_isChanged = false; - - void connectSetting(QCheckBox *checkBox, QWebEngineSettings *settings, QWebEngineSettings::WebAttribute attr); }; #endif // PROFILEDIALOG_H -- cgit v1.2.1