Merge pull request #89086 from Mickeon/documentation-ProjectSettings-members-display-nice

Improve how Project & Editor Settings look in built-in docs
This commit is contained in:
Rémi Verschelde 2024-03-07 15:23:54 +01:00
commit 0fefbe85fb
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 26 additions and 3 deletions

View File

@ -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