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.
This commit is contained in:
Karol Kosek 2021-08-12 22:34:01 +02:00 committed by Andreas Kling
parent 90396f5b08
commit 8d3304f853
Notes: sideshowbarker 2024-07-19 17:18:23 +09:00

View File

@ -653,7 +653,14 @@ NonnullRefPtr<GUI::Action> 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);