From 8d3304f853f96dadf7005be831705b8f3eff23d1 Mon Sep 17 00:00:00 2001 From: Karol Kosek Date: Thu, 12 Aug 2021 22:34:01 +0200 Subject: [PATCH] HackStudio: Update every editor with matching filename on 'Save as...' Prior this change, if user had more than two copies of one file opened in a split view, then only the active editor was renamed, when the others had the same file contents changed. This change will set a new file name for every file. The is_null() check is for uncreated files, as they shouldn't be treated as the same single file. --- Userland/DevTools/HackStudio/HackStudioWidget.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Userland/DevTools/HackStudio/HackStudioWidget.cpp b/Userland/DevTools/HackStudio/HackStudioWidget.cpp index c53a95f920..387afd0fb0 100644 --- a/Userland/DevTools/HackStudio/HackStudioWidget.cpp +++ b/Userland/DevTools/HackStudio/HackStudioWidget.cpp @@ -653,7 +653,14 @@ NonnullRefPtr HackStudioWidget::create_save_as_action() } String const relative_file_path = LexicalPath::relative_path(save_path.value(), m_project->root_path()); - current_editor_wrapper().set_filename(relative_file_path); + if (current_editor_wrapper().filename().is_null()) { + current_editor_wrapper().set_filename(relative_file_path); + } else { + for (auto& editor_wrapper : m_all_editor_wrappers) { + if (editor_wrapper.filename() == old_filename) + editor_wrapper.set_filename(relative_file_path); + } + } current_editor_wrapper().save(); auto new_project_file = m_project->get_file(relative_file_path);