From 2ef6cc44f8ef972582c8668aff1c29df452d9d4a Mon Sep 17 00:00:00 2001 From: Thomas Bouve Date: Wed, 15 Sep 2021 23:53:49 +0200 Subject: [PATCH] Add sandbox feature screenshot --- README.md | 5 ++++- screenshots/FileChooser_screenshot_7.png | Bin 0 -> 20059 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 screenshots/FileChooser_screenshot_7.png diff --git a/README.md b/README.md index 4bf3c33..33c7724 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,9 @@ fc.selected_filename ![Screenshot 6](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_6.png) +### Restrict navigation + +![Screenshot 7](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_7.png) ## Release notes @@ -117,7 +120,7 @@ fc.selected_filename - Better error handling with `ParentPathError`, `InvalidPathError`, and `InvalidFileNameError` - Better and more consistent handling of Windows drive letters and paths - Fix bug where resetting the filechooser would not reenable the select/change button -- Properly handle folder permission errors by raising a warning indicating the folder can not be opened +- Properly handle folder permission errors by raising a warning ### 0.5.0 diff --git a/screenshots/FileChooser_screenshot_7.png b/screenshots/FileChooser_screenshot_7.png new file mode 100644 index 0000000000000000000000000000000000000000..d2e034993f10a4b243b5a0048637cb5c3ad0c1dc GIT binary patch literal 20059 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 Tb7Ct89Wv(W>gTe~DWM4fJR}$c literal 0 HcmV?d00001