/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote * * SPDX-License-Identifier: GPL-3.0 */ #include "webprofile.h" #include #include #include #include static WebProfile *s_profile = nullptr; void WebProfile::setDefaultProfile(WebProfile *profile) { Q_CHECK_PTR(profile); s_profile = profile; } WebProfile *WebProfile::defaultProfile() { Q_CHECK_PTR(s_profile); return s_profile; } WebProfile::WebProfile(const QString &name, QObject *parent) : QWebEngineProfile(parent) { m_name = name; connect(this->cookieStore(), &QWebEngineCookieStore::cookieAdded, this, [this](const QNetworkCookie &cookie) { m_cookies.append(cookie); }); connect(this->cookieStore(), &QWebEngineCookieStore::cookieRemoved, this, [this](const QNetworkCookie &cookie) { m_cookies.removeAll(cookie); }); } WebProfile::WebProfile(const QString &storageName, const QString &name, QObject *parent) : QWebEngineProfile(storageName, parent) { m_name = name; connect(this->cookieStore(), &QWebEngineCookieStore::cookieAdded, this, [this](const QNetworkCookie &cookie) { m_cookies.append(cookie); }); connect(this->cookieStore(), &QWebEngineCookieStore::cookieRemoved, this, [this](const QNetworkCookie &cookie) { m_cookies.removeAll(cookie); }); } const QString WebProfile::name() const { return m_name; } void WebProfile::setName(const QString &name) { m_name = name; emit nameChanged(name); } QString WebProfile::search() const { return m_search; } void WebProfile::setSearch(const QString &url) { m_search = url; emit searchChanged(m_search); } QUrl WebProfile::homepage() const { return m_homepage; } void WebProfile::setHomepage(const QUrl &url) { m_homepage = url; emit homepageChanged(m_homepage); } QUrl WebProfile::newtab() const { return m_newtab; } void WebProfile::setNewtab(const QUrl &url) { m_newtab = url; emit newtabChanged(m_newtab); } void WebProfile::setCachePath(const QString &path) { QWebEngineProfile::setCachePath(path); emit propertyChanged("cachePath", path); } void WebProfile::setPersistentStoragePath(const QString &path) { QWebEngineProfile::setPersistentStoragePath(path); emit propertyChanged("persistentStoragePath", path); } void WebProfile::setPersistentCookiesPolicy(int policy) { QWebEngineProfile::setPersistentCookiesPolicy(static_cast(policy)); emit propertyChanged("persistentCookiesPolicy", policy); } void WebProfile::setHttpAcceptLanguage(const QString &httpAcceptLanguage) { QWebEngineProfile::setHttpAcceptLanguage(httpAcceptLanguage); emit propertyChanged("httpAcceptLanguage", httpAcceptLanguage); } void WebProfile::setHttpCacheMaximumSize(int maxSize) { QWebEngineProfile::setHttpCacheMaximumSize(maxSize); emit propertyChanged("httpCacheMaximumSize", maxSize); } void WebProfile::setHttpCacheType(int type) { QWebEngineProfile::setHttpCacheType(static_cast(type)); emit propertyChanged("httpCacheType", type); } void WebProfile::setHttpUserAgent(const QString &userAgent) { QWebEngineProfile::setHttpUserAgent(userAgent); emit propertyChanged("httpUserAgent", userAgent); } void WebProfile::setHttpHeader(const QString &name, const QString &value) { m_headers[name.toLatin1()] = value.toLatin1(); emit headerChanged(name, value); } void WebProfile::removeHttpHeader(const QString &name) { if(m_headers.contains(name.toLatin1())) { m_headers.remove(name.toLatin1()); emit headerRemoved(name); } } void WebProfile::setSpellCheckEnabled(bool enable) { QWebEngineProfile::setSpellCheckEnabled(enable); emit propertyChanged("spellCheckEnabed", enable); }