HackStudio: Implement removing file from disk
This commit is contained in:
parent
c7777ff289
commit
ee7c8fbd7b
Notes:
sideshowbarker
2024-07-18 21:46:22 +09:00
Author: https://github.com/minhbq-99 Commit: https://github.com/SerenityOS/serenity/commit/ee7c8fbd7b5 Pull-request: https://github.com/SerenityOS/serenity/pull/5600
1 changed files with 21 additions and 4 deletions
|
@ -376,15 +376,32 @@ NonnullRefPtr<GUI::Action> HackStudioWidget::create_delete_action()
|
|||
return;
|
||||
|
||||
for (auto& file : files) {
|
||||
if (1) {
|
||||
// FIXME: Remove `file` from disk
|
||||
} else {
|
||||
struct stat st;
|
||||
if (lstat(file.characters(), &st) < 0) {
|
||||
GUI::MessageBox::show(window(),
|
||||
String::formatted("Removing file {} from the project failed.", file),
|
||||
String::formatted("lstat ({}) failed: {}", file, strerror(errno)),
|
||||
"Removal failed",
|
||||
GUI::MessageBox::Type::Error);
|
||||
break;
|
||||
}
|
||||
|
||||
bool is_directory = S_ISDIR(st.st_mode);
|
||||
auto result = Core::File::remove(file, Core::File::RecursionMode::Allowed, false);
|
||||
if (result.is_error()) {
|
||||
auto& error = result.error();
|
||||
if (is_directory) {
|
||||
GUI::MessageBox::show(window(),
|
||||
String::formatted("Removing directory {} from the project failed: {}", error.file, error.error_code),
|
||||
"Removal failed",
|
||||
GUI::MessageBox::Type::Error);
|
||||
} else {
|
||||
GUI::MessageBox::show(window(),
|
||||
String::formatted("Removing file {} from the project failed: {}", error.file, error.error_code),
|
||||
"Removal failed",
|
||||
GUI::MessageBox::Type::Error);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
delete_action->set_enabled(false);
|
||||
|
|
Loading…
Add table
Reference in a new issue