aboutsummaryrefslogtreecommitdiff
path: root/src/Configuration.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Configuration.hpp')
-rw-r--r--src/Configuration.hpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Configuration.hpp b/src/Configuration.hpp
index 3b491b2..1f861fa 100644
--- a/src/Configuration.hpp
+++ b/src/Configuration.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include "utils.hpp"
#include <QtCore>
#include <qwebengineprofile.h>
#include <unordered_map>
@@ -13,7 +14,9 @@ private:
{"close_window_when_no_views", true},
{"user_agent", QWebEngineProfile::defaultProfile()->httpUserAgent()},
{"downloads_dir", QWebEngineProfile::defaultProfile()->downloadPath()},
+ {"app_data_dir", QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation)},
};
+ QDir config_dir = QDir(QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation));
public:
using QObject::QObject;
@@ -24,6 +27,9 @@ public:
}
QVariant get_config(const QString &name, QVariant default_value = "") const {
+ if (name == "config_dir") // readonly
+ return config_dir.path();
+
if (!config_map.contains(name))
return default_value;
@@ -37,6 +43,12 @@ public:
QString user_agent() const { return get_config("user_agent").toString(); }
QString downloads_dir() const { return get_config("downloads_dir").toString(); }
+ DEFINE_GETTER(get_config_dir, config_dir)
+ DEFINE_SETTER(set_config_dir, config_dir)
+
+ QString get_config_lua_init_file() const { return config_dir.filePath("init.lua"); }
+ QString get_config_lua_dir() const { return config_dir.filePath("lua"); }
+
private:
void on_update(const QString &name, const QVariant &value) {
if (name == "user_agent")