Improve how Project & Editor Settings look in built-in docs

This commit is contained in:
Micky 2024-03-01 23:53:33 +01:00
parent dad6c774b0
commit 8e1024530c

View File

@ -2494,11 +2494,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