/* * 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 */ #ifndef SMOLBOTE_WEBENGINEPROFILE_H #define SMOLBOTE_WEBENGINEPROFILE_H #include #include #include #include #include #include #include #include #include class WebProfileManager; class WebProfile : public Profile { friend class WebProfileManager; Q_OBJECT public: static WebProfile *defaultProfile(); static void setDefaultProfile(WebProfile *profile); ~WebProfile() = default; const QString name() const; void setName(const QString &name); const QVector cookies() const { return qAsConst(m_cookies); } const QMap headers() const { return qAsConst(m_headers); } // search url QString search() const; void setSearch(const QString &url); // homepage url QUrl homepage() const; void setHomepage(const QUrl &url); // new tab url QUrl newtab() const; void setNewtab(const QUrl &url); void setCachePath(const QString &path); void setPersistentStoragePath(const QString &path); void setPersistentCookiesPolicy(int policy); void setHttpAcceptLanguage(const QString &httpAcceptLanguage); void setHttpCacheMaximumSize(int maxSize); void setHttpCacheType(int type); void setHttpUserAgent(const QString &userAgent); void setHttpHeader(const QString &name, const QString &value); void removeHttpHeader(const QString &name); void setSpellCheckEnabled(bool enable); protected: // off-the-record constructor explicit WebProfile(const QString &name, QObject *parent = nullptr); // default constructor explicit WebProfile(const QString &storageName, const QString &name, QObject *parent = nullptr); private: QString m_name; QString m_search = QString("about:blank"); QUrl m_homepage = QUrl("about:blank"); QUrl m_newtab = QUrl("about:blank"); QVector m_cookies; QMap m_headers; }; #endif // SMOLBOTE_WEBENGINEPROFILE_H