Skip to content
This repository was archived by the owner on Sep 2, 2021. It is now read-only.

Commit 4cd91ec

Browse files
committed
Merge pull request #304 from eyelash/linux-delete-trash
implement MoveFileOrDirectoryToTrash on Linux
2 parents 37ffe30 + 55d169a commit 4cd91ec

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

appshell/appshell_extensions_gtk.cpp

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,20 @@ int DeleteFileOrDirectory(ExtensionString filename)
342342

343343
void MoveFileOrDirectoryToTrash(ExtensionString filename, CefRefPtr<CefBrowser> browser, CefRefPtr<CefProcessMessage> response)
344344
{
345-
// TOdO
345+
int error = NO_ERROR;
346+
GFile *file = g_file_new_for_path(filename.c_str());
347+
GError *gerror = NULL;
348+
if (!g_file_trash(file, NULL, &gerror)) {
349+
if (gerror->code == G_IO_ERROR_NOT_FOUND)
350+
error = ERR_NOT_FOUND;
351+
else
352+
error = ERR_UNKNOWN;
353+
g_error_free(gerror);
354+
}
355+
g_object_unref(file);
356+
357+
response->GetArgumentList()->SetInt(1, error);
358+
browser->SendProcessMessage(PID_RENDERER, response);
346359
}
347360

348361
void CloseWindow(CefRefPtr<CefBrowser> browser)

0 commit comments

Comments
 (0)