aboutsummaryrefslogtreecommitdiff
path: root/src/Configuration.hpp
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-05-02 12:04:43 +0530
committerAkshay Nair <phenax5@gmail.com>2025-05-02 16:24:38 +0530
commit398b1a4b398324311b6e0f15d2e4ede5ad8500ff (patch)
tree4af9a1b5106dc30d22adc0a4391b5ac006dd7141 /src/Configuration.hpp
parent8a71de53c002b7afdd516cff7190896d40496483 (diff)
downloadnull-browser-398b1a4b398324311b6e0f15d2e4ede5ad8500ff.tar.gz
null-browser-398b1a4b398324311b6e0f15d2e4ede5ad8500ff.zip
Prefix uv with web.uv + add permissions_persistance config option
Diffstat (limited to '')
-rw-r--r--src/Configuration.hpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/Configuration.hpp b/src/Configuration.hpp
index 1f861fa..7c97b72 100644
--- a/src/Configuration.hpp
+++ b/src/Configuration.hpp
@@ -15,6 +15,7 @@ private:
{"user_agent", QWebEngineProfile::defaultProfile()->httpUserAgent()},
{"downloads_dir", QWebEngineProfile::defaultProfile()->downloadPath()},
{"app_data_dir", QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation)},
+ {"permissions_persistance", "always"},
};
QDir config_dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation));
@@ -42,6 +43,22 @@ public:
QString new_view_url() const { return get_config("new_view_url").toString(); }
QString user_agent() const { return get_config("user_agent").toString(); }
QString downloads_dir() const { return get_config("downloads_dir").toString(); }
+ QString permissions_persistance() const {
+ return get_config("permissions_persistance").toString();
+ }
+
+ QWebEngineProfile::PersistentPermissionsPolicy permission_persistance_policy() const {
+ return to_permission_persistance_policy(permissions_persistance());
+ }
+
+ static QWebEngineProfile::PersistentPermissionsPolicy
+ to_permission_persistance_policy(const QString &persistance) {
+ if (persistance == "session")
+ return QWebEngineProfile::PersistentPermissionsPolicy::StoreInMemory;
+ if (persistance == "never")
+ return QWebEngineProfile::PersistentPermissionsPolicy::AskEveryTime;
+ return QWebEngineProfile::PersistentPermissionsPolicy::StoreOnDisk;
+ }
DEFINE_GETTER(get_config_dir, config_dir)
DEFINE_SETTER(set_config_dir, config_dir)
@@ -53,11 +70,14 @@ private:
void on_update(const QString &name, const QVariant &value) {
if (name == "user_agent")
emit user_agent_updated(value.toString());
- if (name == "downloads_dir")
+ else if (name == "downloads_dir")
emit downloads_dir_updated(value.toString());
+ else if (name == "permissions_persistance")
+ emit permissions_persistance_updated(value.toString());
}
signals:
void user_agent_updated(const QString &value);
void downloads_dir_updated(const QString &value);
+ void permissions_persistance_updated(const QString &value);
};