Fix persistent favorites after rename
Signed-off-by: Daniel Kříž <Daniel.kriz@protonmail.com>
(cherry picked from commit 0535ef549a
)
This commit is contained in:
parent
8d1827cf7c
commit
7ed3bfc2fb
2 changed files with 25 additions and 0 deletions
|
@ -1199,6 +1199,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(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) {
|
||||
|
|
|
@ -219,6 +219,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(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