From 68287398c8b2aaec38416be7c5869774ea415220 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Thu, 9 Jul 2026 21:18:54 +0200 Subject: [PATCH] handle error in filebrowser_op_finished --- mizunara/filebrowser.c | 17 ++++++++++++----- mizunara/window.c | 8 -------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/mizunara/filebrowser.c b/mizunara/filebrowser.c index 51603fa..fb98d4c 100644 --- a/mizunara/filebrowser.c +++ b/mizunara/filebrowser.c @@ -35,6 +35,7 @@ #include #include +#include FileBrowser* filebrowser_new(const char *url) { @@ -148,8 +149,6 @@ void filebrowser_op_finished(UiEvent *event, void *data) { memset(section, 0, sizeof(FilesSection)); section->files = op->result; section->parent_url = op->url; - op->result = NULL; - op->url = NULL; // update_grid takes ownership of section if(browser->update_grid) { @@ -164,12 +163,20 @@ void filebrowser_op_finished(UiEvent *event, void *data) { ui_list_append(browser->list_files, file); } browser->list_files_parent = op->url; - op->url = NULL; ui_list_update(browser->list_files); - op->result = NULL; } + + op->result = NULL; + op->url = NULL; } else { - // TODO: error msg + cxmutstr errormsg = cx_asprintf("Cannot open directory: %s", strerror(op->error)); + + ui_dialog(browser->window->obj, + .title = "Error", + .content = errormsg.ptr, + .closebutton_label = "OK"); + + free(errormsg.ptr); } cxListFree(op->result); diff --git a/mizunara/window.c b/mizunara/window.c index 9ff4f67..b564f6c 100644 --- a/mizunara/window.c +++ b/mizunara/window.c @@ -55,14 +55,6 @@ void window_update_gridview( mz_update_files_view((MzFilesView*)win->files_gridview, sections, numsections); } -#ifdef UI_LIBADWAITA - -void libadwaita_headerbar_add() { - -} - -#endif - UiObject* window_create(const char *url) { // toplevel window object UiObject *obj = ui_sidebar_window("Mizunara"); -- 2.52.0