diff --git a/Project.toml b/Project.toml index 64da699db05a973147106bdfa26c67f49c02551a..e4aeb6ab1d59d29400e3e71dbc0615f66936f399 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 d385c4c594b3271cd08fca2c0225eed9266297c7..0ea314adccb30bce9fbffe13585002e033a80e95 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 0ead1806f7f3b3194136418789a3d16ca34ad755..013b8a4acf974db08bbde37249d883491a754cab 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 f20f9a2a01d34864b90e96903d864871ec3ad93d..7a4972fbb2cd6960910ad9dd655ed52de7963783 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