diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-06-17 19:50:56 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-06-17 19:50:56 +0200 |
commit | d340be4b27b9067c0057b20f6bd0228f03c994c6 (patch) | |
tree | 2cfe95ccf9d83cf14ecd0a154f6cd05d2b04745b /lib | |
parent | Sort .profile by time (diff) | |
download | smolbote-d340be4b27b9067c0057b20f6bd0228f03c994c6.tar.xz |
WebProfile: cache a list of cookies
ProfileView: delete selected items rather than current item
Browser: store profiles in QMap instead of QHash
Diffstat (limited to 'lib')
-rw-r--r-- | lib/web/webprofile.cpp | 14 | ||||
-rw-r--r-- | lib/web/webprofile.h | 9 |
2 files changed, 23 insertions, 0 deletions
diff --git a/lib/web/webprofile.cpp b/lib/web/webprofile.cpp index 37338b9..1124261 100644 --- a/lib/web/webprofile.cpp +++ b/lib/web/webprofile.cpp @@ -79,6 +79,13 @@ WebProfile::WebProfile(const QString &name, const QString &configPath, QObject * #ifdef QT_DEBUG qDebug("Creating otr profile %s", qUtf8Printable(m_name)); #endif + + 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, const QString &configPath, QObject *parent) @@ -90,6 +97,13 @@ WebProfile::WebProfile(const QString &storageName, const QString &name, const QS #ifdef QT_DEBUG qDebug("Creating profile %s", qUtf8Printable(m_name)); #endif + + 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); + }); } QString WebProfile::search() const diff --git a/lib/web/webprofile.h b/lib/web/webprofile.h index 9e9fd3e..279e6bf 100644 --- a/lib/web/webprofile.h +++ b/lib/web/webprofile.h @@ -13,6 +13,8 @@ #include <QUrl> #include <QString> #include <QWebEngineProfile> +#include <QVector> +#include <QNetworkCookie> class WebProfile : public QWebEngineProfile { @@ -60,6 +62,11 @@ public: return m_configPath; } + const QVector<QNetworkCookie> cookies() const + { + return qAsConst(m_cookies); + } + // search url QString search() const; void setSearch(const QString &url); @@ -103,6 +110,8 @@ private: QString m_search = QString("about:blank"); QUrl m_homepage = QUrl("about:blank"); QUrl m_newtab = QUrl("about:blank"); + + QVector<QNetworkCookie> m_cookies; }; WebProfile* loadProfile(const QString &name, const QHash<QString, QString> &defaults, const QString &path = QString(), QObject *parent = nullptr); |