From bbe50215cbb9078ba457f93a5e90096e844c611a Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 12 Apr 2025 19:35:54 +0530 Subject: Add user agent configuration --- src/Configuration.hpp | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'src/Configuration.hpp') 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 +#include #include class Configuration : public QObject { @@ -10,24 +11,35 @@ private: std::unordered_map 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); }; -- cgit v1.3.1