summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-03-07 15:23:54 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-03-07 15:23:54 +0100
commit0fefbe85fbcc69c47bcc93b22594db046c5bb3bc (patch)
tree038ef836b4541ec20645ed961dbab2b5a53fe609
parent57249493f0ad431e941fdbba35563334620481b5 (diff)
parent8e1024530c9446c1e3bf99630bde720be14b917a (diff)
downloadredot-engine-0fefbe85fbcc69c47bcc93b22594db046c5bb3bc.tar.gz
Merge pull request #89086 from Mickeon/documentation-ProjectSettings-members-display-nice
Improve how Project & Editor Settings look in built-in docs
-rw-r--r--editor/editor_help.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/editor/editor_help.cpp b/editor/editor_help.cpp
index 65c0eab141..f94b0dba05 100644
--- a/editor/editor_help.cpp
+++ b/editor/editor_help.cpp
@@ -2513,11 +2513,34 @@ static void _add_text_to_rt(const String &p_bbcode, RichTextLabel *p_rt, Control
} else if (link_tag == "annotation") {
target_color = link_annotation_color;
}
+
p_rt->push_color(target_color);
p_rt->push_meta("@" + link_tag + " " + link_target);
- p_rt->add_text(link_target + (link_tag == "method" ? "()" : ""));
- p_rt->pop();
- p_rt->pop();
+
+ if (link_tag == "member" &&
+ ((!link_target.contains(".") && (p_class == "ProjectSettings" || p_class == "EditorSettings")) ||
+ link_target.begins_with("ProjectSettings.") || link_target.begins_with("EditorSettings."))) {
+ // Special formatting for both ProjectSettings and EditorSettings.
+ String prefix;
+ if (link_target.begins_with("EditorSettings.")) {
+ prefix = "(" + TTR("Editor") + ") ";
+ }
+
+ const String setting_name = link_target.trim_prefix("ProjectSettings.").trim_prefix("EditorSettings.");
+ PackedStringArray setting_sections;
+ for (const String &section : setting_name.split("/", false)) {
+ setting_sections.append(EditorPropertyNameProcessor::get_singleton()->process_name(section, EditorPropertyNameProcessor::get_settings_style()));
+ }
+
+ p_rt->push_bold();
+ p_rt->add_text(prefix + String(" > ").join(setting_sections));
+ p_rt->pop(); // bold
+ } else {
+ p_rt->add_text(link_target + (link_tag == "method" ? "()" : ""));
+ }
+
+ p_rt->pop(); // meta
+ p_rt->pop(); // color
p_rt->pop(); // font size
p_rt->pop(); // font