diff -r 7cfd36aa005b -r af411868ab9b application/window.c --- a/application/window.c Wed Jan 31 12:55:11 2024 +0100 +++ b/application/window.c Tue Feb 06 14:17:22 2024 +0100 @@ -31,6 +31,7 @@ #include "davcontroller.h" #include +#include #include @@ -67,7 +68,7 @@ // main content UiModel* model = ui_model(obj->ctx, UI_ICON_TEXT, "Name", UI_STRING, "Type", UI_STRING_FREE, "Last Modified", UI_STRING_FREE, "Size", -1); model->getvalue = (ui_getvaluefunc)window_resource_table_getvalue; - ui_table(obj, .fill = UI_ON, .model = model, .onactivate = action_list_activate, .varname = "reslist"); + ui_table(obj, .fill = UI_ON, .model = model, .onactivate = action_list_activate, .ondrop = action_dnd_drop,.varname = "reslist"); // status bar ui_hbox(obj, .fill = UI_OFF) { @@ -215,3 +216,11 @@ } } } + +void action_dnd_drop(UiEvent *event, void *data) { + UiListDnd *listdnd = event->eventdata; + UiDnD *dnd = listdnd->dnd; + UiFileList files = ui_selection_geturis(dnd); + + davbrowser_upload_files(event->obj, event->document, files); +}