From 13e3fd8a0bef6ad8a47161dc90115c65e0bbca68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Laurent?= <francois.laurent@posteo.net> Date: Sun, 9 Feb 2025 22:52:50 +0100 Subject: [PATCH] feat: download, delete and create directory --- Project.toml | 2 +- src/editor.jl | 10 +++++++++- src/larvatagger.css | 6 +++++- src/wgl.jl | 10 ++++++++-- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/Project.toml b/Project.toml index 64da699..e4aeb6a 100644 --- a/Project.toml +++ b/Project.toml @@ -27,7 +27,7 @@ WGLMakie = "276b4fcb-3e11-5398-bf8b-a0c2d153d008" [compat] Bonito = "< 4.0.0" -NyxWidgets = "0.1.1" +NyxWidgets = ">= 0.2.0" ObservationPolicies = "0.2.4" PlanarLarvae = ">= 0.11.2" TidyObservables = "0.1.1" diff --git a/src/editor.jl b/src/editor.jl index d385c4c..0ea314a 100644 --- a/src/editor.jl +++ b/src/editor.jl @@ -37,6 +37,10 @@ function larvaeditor(path=nothing; title="LarvaTagger", root_directory=nothing, enable_uploads=false, + enable_downloads=false, + prepare_download=nothing, + enable_new_directories=false, + enable_delete=false, kwargs...) # to (re-)load a file, the app is reloaded with the filepath as sole information @@ -63,7 +67,11 @@ function larvaeditor(path=nothing; larvafilter(controller), tagfilter(controller; manualtag=manualtag), metadataeditor(controller), - filemenu(controller; upload_button=enable_uploads), + filemenu(controller; upload_button=enable_uploads, + download_button=enable_downloads, + prepare_download=prepare_download, + create_directory_button=enable_new_directories, + delete_button=enable_delete), backendmenu(controller, backend_directory), loadanimation(controller), twooptiondialog(controller)) diff --git a/src/larvatagger.css b/src/larvatagger.css index 0ead180..013b8a4 100644 --- a/src/larvatagger.css +++ b/src/larvatagger.css @@ -40,7 +40,7 @@ canvas { .cp-tab .cp-tab-switch:checked ~ .control-panel { display: block; } -.cp-tab .cp-tab-switch:checked ~ .control-panel div { +.cp-tab .cp-tab-switch:checked ~ .control-panel > div { background: var(--theme-main-color); } .control-panel { @@ -63,6 +63,10 @@ canvas { background-color: var(--nyx-icon-fill-color); } +.nyx-filebrowser-entrycontrols { + margin-left: -2.25rem; +} + div.scrollable { position: relative; margin-right: 0; diff --git a/src/wgl.jl b/src/wgl.jl index f20f9a2..7a4972f 100644 --- a/src/wgl.jl +++ b/src/wgl.jl @@ -902,10 +902,16 @@ struct FileMenu browser::FileBrowser end -function filemenu(controller; upload_button=false, kwargs...) +function filemenu(controller; upload_button=false, download_button=false, + prepare_download=nothing, create_directory_button=false, delete_button=false, + kwargs...) wd = getworkingdir(controller) dir = joinpath(wd.root, wd.path[]) - browser = FileBrowser(dir; root=wd.root, upload_button=upload_button) + browser = FileBrowser(dir; root=wd.root, upload_button=upload_button, + download_button=download_button, + prepare_download=prepare_download, + create_directory_button=create_directory_button, + delete_button=delete_button) on(FileBrowsers.selectedfile(browser)) do file tryopenfile(controller, file; reload=true) end -- GitLab