aboutsummaryrefslogtreecommitdiff
path: root/src/Configuration.hpp
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-04-12 19:35:54 +0530
committerAkshay Nair <phenax5@gmail.com>2025-04-12 21:04:16 +0530
commitbbe50215cbb9078ba457f93a5e90096e844c611a (patch)
tree0726730396510a2ea8cd18cee72afb5c7c1edc41 /src/Configuration.hpp
parentc8352009ceb6b9240ef7c1ad5be93f42312b59a2 (diff)
downloadnull-browser-bbe50215cbb9078ba457f93a5e90096e844c611a.tar.gz
null-browser-bbe50215cbb9078ba457f93a5e90096e844c611a.zip
Add user agent configuration
Diffstat (limited to 'src/Configuration.hpp')
-rw-r--r--src/Configuration.hpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/Configuration.hpp b/src/Configuration.hpp
index a1eca51..3310262 100644
--- a/src/Configuration.hpp
+++ b/src/Configuration.hpp
@@ -1,6 +1,7 @@
#pragma once
#include <QtCore>
+#include <qwebengineprofile.h>
#include <unordered_map>
class Configuration : public QObject {
@@ -10,24 +11,35 @@ private:
std::unordered_map<QString, QVariant> config_map{
{"new_view_url", "https://duckduckgo.com"},
{"close_window_when_no_views", true},
+ {"user_agent", QWebEngineProfile::defaultProfile()->httpUserAgent()},
};
public:
using QObject::QObject;
void set_config(const QString &name, const QVariant &value) {
- qDebug() << "config update" << name << value;
config_map[name] = value;
- emit config_updated(name, value);
+ on_update(name, value);
}
- QVariant get_config(const QString &name) const { return config_map.at(name); }
+ QVariant get_config(const QString &name, QVariant default_value = "") const {
+ if (!config_map.contains(name)) return default_value;
+
+ return config_map.at(name);
+ }
- QString new_view_url() const { return get_config("new_view_url").toString(); }
bool close_window_when_no_views() const {
return get_config("close_window_when_no_views").toBool();
}
+ QString new_view_url() const { return get_config("new_view_url").toString(); }
+ QString user_agent() const { return get_config("user_agent").toString(); }
+
+private:
+ void on_update(const QString &name, const QVariant &value) {
+ if (name == "user_agent")
+ emit user_agent_updated(value.toString());
+ }
signals:
- void config_updated(const QString &name, const QVariant &value);
+ void user_agent_updated(const QString &value);
};