Fix persistent favorites after rename
Signed-off-by: Daniel Kříž <Daniel.kriz@protonmail.com>
This commit is contained in:
parent
7538ad81ac
commit
0535ef549a
2 changed files with 25 additions and 0 deletions
|
@ -1294,6 +1294,18 @@ void EditorFileDialog::_update_favorites() {
|
|||
favorite->set_pressed(false);
|
||||
|
||||
Vector<String> favorited = EditorSettings::get_singleton()->get_favorites();
|
||||
|
||||
bool fav_changed = false;
|
||||
for (int i = favorited.size() - 1; i >= 0; i--) {
|
||||
if (!dir_access->dir_exists(favorited[i])) {
|
||||
favorited.remove_at(i);
|
||||
fav_changed = true;
|
||||
}
|
||||
}
|
||||
if (fav_changed) {
|
||||
EditorSettings::get_singleton()->set_favorites(favorited);
|
||||
}
|
||||
|
||||
for (int i = 0; i < favorited.size(); i++) {
|
||||
bool cres = favorited[i].begins_with("res://");
|
||||
if (cres != res) {
|
||||
|
|
|
@ -224,6 +224,19 @@ void FileSystemDock::_update_tree(const Vector<String> &p_uncollapsed_paths, boo
|
|||
favorites->set_collapsed(p_uncollapsed_paths.find("Favorites") < 0);
|
||||
|
||||
Vector<String> favorite_paths = EditorSettings::get_singleton()->get_favorites();
|
||||
|
||||
DirAccessRef da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
|
||||
bool fav_changed = false;
|
||||
for (int i = favorite_paths.size() - 1; i >= 0; i--) {
|
||||
if (!da->dir_exists(favorite_paths[i])) {
|
||||
favorite_paths.remove_at(i);
|
||||
fav_changed = true;
|
||||
}
|
||||
}
|
||||
if (fav_changed) {
|
||||
EditorSettings::get_singleton()->set_favorites(favorite_paths);
|
||||
}
|
||||
|
||||
for (int i = 0; i < favorite_paths.size(); i++) {
|
||||
String fave = favorite_paths[i];
|
||||
if (!fave.begins_with("res://")) {
|
||||
|
|
Loading…
Reference in a new issue