diff --git a/Userland/Applications/FileManager/DirectoryView.cpp b/Userland/Applications/FileManager/DirectoryView.cpp index 7e2cc35013..6b72bc7bfb 100644 --- a/Userland/Applications/FileManager/DirectoryView.cpp +++ b/Userland/Applications/FileManager/DirectoryView.cpp @@ -214,7 +214,7 @@ const GUI::FileSystemModel::Node& DirectoryView::node(const GUI::ModelIndex& ind void DirectoryView::setup_model() { - m_model->on_error = [this](int, const char* error_string) { + m_model->on_directory_change_error = [this](int, const char* error_string) { auto failed_path = m_model->root_path(); auto error_message = String::formatted("Could not read {}:\n{}", failed_path, error_string); m_error_label->set_text(error_message); @@ -229,6 +229,10 @@ void DirectoryView::setup_model() on_path_change(failed_path, false, false); }; + m_model->on_rename_error = [this](int, const char* error_string) { + GUI::MessageBox::show_error(window(), String::formatted("Unable to rename file: {}", error_string)); + }; + m_model->on_complete = [this] { if (m_table_view) m_table_view->selection().clear(); diff --git a/Userland/Libraries/LibGUI/FileSystemModel.cpp b/Userland/Libraries/LibGUI/FileSystemModel.cpp index 06d1b0c97d..6e0a9530be 100644 --- a/Userland/Libraries/LibGUI/FileSystemModel.cpp +++ b/Userland/Libraries/LibGUI/FileSystemModel.cpp @@ -367,8 +367,8 @@ void FileSystemModel::set_root_path(String root_path) update(); if (m_root->has_error()) { - if (on_error) - on_error(m_root->error(), m_root->error_string()); + if (on_directory_change_error) + on_directory_change_error(m_root->error(), m_root->error_string()); } else if (on_complete) { on_complete(); } @@ -676,8 +676,8 @@ void FileSystemModel::set_data(const ModelIndex& index, const Variant& data) auto new_full_path = String::formatted("{}/{}", dirname, data.to_string()); int rc = rename(node.full_path().characters(), new_full_path.characters()); if (rc < 0) { - if (on_error) - on_error(errno, strerror(errno)); + if (on_rename_error) + on_rename_error(errno, strerror(errno)); } } diff --git a/Userland/Libraries/LibGUI/FileSystemModel.h b/Userland/Libraries/LibGUI/FileSystemModel.h index 4ad589c82b..f1984b3f3c 100644 --- a/Userland/Libraries/LibGUI/FileSystemModel.h +++ b/Userland/Libraries/LibGUI/FileSystemModel.h @@ -114,7 +114,8 @@ public: Function on_thumbnail_progress; Function on_complete; - Function on_error; + Function on_directory_change_error; + Function on_rename_error; virtual int tree_column() const override { return Column::Name; } virtual int row_count(const ModelIndex& = ModelIndex()) const override;