aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-06-17 19:50:56 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2018-06-17 19:50:56 +0200
commitd340be4b27b9067c0057b20f6bd0228f03c994c6 (patch)
tree2cfe95ccf9d83cf14ecd0a154f6cd05d2b04745b /lib
parentSort .profile by time (diff)
downloadsmolbote-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.cpp14
-rw-r--r--lib/web/webprofile.h9
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);