summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorStijn Hinlopen <f.a.hinlopen@gmail.com>2020-07-15 18:33:34 +0200
committerStijn Hinlopen <f.a.hinlopen@gmail.com>2020-08-10 17:32:01 +0200
commit55637226282982cf387c106db57e91b4e65a8821 (patch)
tree865ea57486742475215cebd9bbed3ee5ffb96402 /core
parentf2149fe763a5678237b417fb9fefec5a5c74ae9d (diff)
Rewrite ProjectSettings editor advanced options
- New layout: advanced options hidden by default, error labels added. - Disallow adding invalid new settings, or overwriting built-in settings.
Diffstat (limited to 'core')
-rw-r--r--core/project_settings.cpp6
-rw-r--r--core/project_settings.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/core/project_settings.cpp b/core/project_settings.cpp
index e08a44d0c1..960a0ec1b0 100644
--- a/core/project_settings.cpp
+++ b/core/project_settings.cpp
@@ -659,6 +659,12 @@ void ProjectSettings::set_builtin_order(const String &p_name) {
}
}
+bool ProjectSettings::is_builtin_setting(const String &p_name) const {
+ // Return true because a false negative is worse than a false positive.
+ ERR_FAIL_COND_V_MSG(!props.has(p_name), true, "Request for nonexistent project setting: " + p_name + ".");
+ return props[p_name].order < NO_BUILTIN_ORDER_BASE;
+}
+
void ProjectSettings::clear(const String &p_name) {
ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + ".");
props.erase(p_name);
diff --git a/core/project_settings.h b/core/project_settings.h
index 659ee402b3..686f6f3873 100644
--- a/core/project_settings.h
+++ b/core/project_settings.h
@@ -142,6 +142,7 @@ public:
int get_order(const String &p_name) const;
void set_order(const String &p_name, int p_order);
void set_builtin_order(const String &p_name);
+ bool is_builtin_setting(const String &p_name) const;
Error setup(const String &p_path, const String &p_main_pack, bool p_upwards = false);