implement generic filename disambiguation

A static function is added to EditorNode which allows for filename
disambiguation given a list of filenames and the corresponding list of
absolute paths for those files. This function is then used to
disambiguate scene and script tabs in the editor.

(cherry picked from commit 4285211f40)
This commit is contained in:
rileylyman 2020-05-26 21:49:05 -07:00 committed by Rémi Verschelde
parent f189d0e1f3
commit 582b4318f8
3 changed files with 131 additions and 1 deletions

View file

@ -1887,6 +1887,19 @@ void ScriptEditor::_update_script_names() {
sedata.push_back(sd);
}
Vector<String> disambiguated_script_names;
Vector<String> full_script_paths;
for (int j = 0; j < sedata.size(); j++) {
disambiguated_script_names.push_back(sedata[j].name);
full_script_paths.push_back(sedata[j].tooltip);
}
EditorNode::disambiguate_filenames(full_script_paths, disambiguated_script_names);
for (int j = 0; j < sedata.size(); j++) {
sedata.write[j].name = disambiguated_script_names[j];
}
EditorHelp *eh = Object::cast_to<EditorHelp>(tab_container->get_child(i));
if (eh) {