24#include <QWebEngineProfile>
25#include <QRegularExpression>
29 , m_usePerDomainUserAgent(false)
31 m_defaultUserAgent =
mApp->webProfile()->httpUserAgent();
32 m_defaultUserAgent.replace(QRegularExpression(
QSL(
"(QtWebEngine/[^\\s]+)")),
QSL(
"Falkon/%1 \\1").arg(QString::fromLatin1(
Qz::VERSION)));
39 m_globalUserAgent = settings.
value(
QSL(
"UserAgent"), QString()).toString();
43 m_usePerDomainUserAgent = settings.
value(
QSL(
"UsePerDomainUA"),
false).toBool();
44 QStringList domainList = settings.
value(
QSL(
"DomainList"), QStringList()).toStringList();
45 QStringList userAgentsList = settings.
value(
QSL(
"UserAgentsList"), QStringList()).toStringList();
48 m_usePerDomainUserAgent = (m_usePerDomainUserAgent && domainList.count() == userAgentsList.count());
50 if (m_usePerDomainUserAgent) {
51 for (
int i = 0;
i < domainList.count(); ++
i) {
52 m_userAgentsList[domainList.at(
i)] = userAgentsList.at(
i);
56 const QString userAgent = m_globalUserAgent.isEmpty() ? m_defaultUserAgent : m_globalUserAgent;
57 mApp->webProfile()->setHttpUserAgent(userAgent);
62 return m_globalUserAgent;
67 return m_defaultUserAgent;
72 return m_usePerDomainUserAgent;
77 return m_userAgentsList;
void beginGroup(const QString &prefix)
QVariant value(const QString &key, const QVariant &defaultValue=QVariant())
bool usePerDomainUserAgents() const
QString defaultUserAgent() const
UserAgentManager(QObject *parent=nullptr)
QHash< QString, QString > perDomainUserAgentsList() const
QString globalUserAgent() const
FALKON_EXPORT const char * VERSION