Skip to content

Releases: fluxxcode/egui-file-dialog

v0.8.0 - egui update, custom right panel and more

17 Dec 20:48
866bac6
Compare
Choose a tag to compare

✨ Some of the highlights included in this release:

  • Right panel to show custom UI inside the file dialog
  • Optional information UI for the right panel to display information about a file or show (image) previews

Release stats: 51 changed files with 2,119 additions and 702 deletions

🚨 Breaking Changes

  • Updated egui from version 0.29.1 to version 0.30.0 #221 (thanks @bircni!)

✨ Features

  • Added FileDialog::update_with_right_panel_ui to add a custom right panel to the file dialog #170 (thanks @crumblingstatue!)
  • Added FileDialog::active_selected_entries and FileDialog::active_entry to get information about the current active item/s #170 (thanks @crumblingstatue!)
  • Added new InformationPanel to optionally display file information and image previews in the right panel #184 (thanks @hacknus and @bircni!)
  • Added option to show system files in the hamburger menu #173 (thanks @crumblingstatue!)
  • Support mapped network devices on Windows #189
  • Added the ability to drag and drop files and folders to open their respective path #192 (thanks @hacknus!)
  • Support network drives on MacOS #194 (thanks @hacknus!)
  • Files and folders are now truncated in the middle and no longer divided onto separate lines. This can be disabled using FileDialog::truncate_filenames #203 (thanks @hacknus!)

☢️ Deprecated

  • Deprecated all select_* methods and added new equivalent pick_* methods #207

🐛 Bug Fixes

  • Fixed heading Places not being able to be updated with FileDialogLabels #180
  • Fix display errors with path prefix on Windows #182
  • Fix Macintosh HD drive appearing twice on MacOS #204 (thanks @hacknus!)

🔧 Changes

  • Use path edit as file to save #160
  • Updated sysinfo to version 0.33 #220
  • Made default egui fonts an optional feature default_fonts #163 (thanks @StarStarJ!)
  • Filter directory when loading to improve performance #169
  • Implement non blocking directory loading #177
  • Only update visible items in the central panel if the search value is empty and the create directory dialog is currently closed #181
  • Improve CI #186 (thanks @bircni!)
  • Use cmd for keybindings on MacOS #205 (thanks @hacknus!)
  • Cleanup examples #213 (thanks @bircni!)

📚 Documentation

  • Updated README.md to include latest features #176
  • Updated README.md to use new pick_* methods #214

v0.7.0 - egui update and QoL changes

01 Oct 18:09
4e152c8
Compare
Choose a tag to compare

🚨 Breaking Changes

🔧 Changes

  • Path edit is now selected as the desired file if the path entered is an existing file and the dialog is in DialogMode::SelectFile mode #151
  • Implemented Debug trait for FileDialog #152
  • Added several lints and general code cleanup #153 (thanks @bircni!)

v0.6.1 - Bug Fixes

10 Sep 20:32
31b4c21
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fixed that the select_all keybinding can also be used in DialogMode's in which only one item can be selected #142
  • Fixed the file dialog window resizing endlessly if the name of the selected file filter is larger than the dropdown menu itself #147

🔧 Changes

  • Updated sysinfo from version 0.30.5 to 0.31 #140
  • Made file dialog modals require Send #144 (thanks @MiniaczQ!)
  • Increased size of path segment buttons and search icon #148

v0.6.0 - Keyboard navigation, multi selection, pinable folders and more

03 Jul 21:29
2bb654c
Compare
Choose a tag to compare

This version implements all important features that were still open and described as planned in the readme.

✨ Some of the highlights included in this release:

  • Keyboard navigation
  • Selection of multiple directory items at once (ctrl/shift + click)
  • Pinnable folders for quick access
  • Hidden files and folders option
  • Custom file filters the user can select from a drop-down menu

Release stats: 33 changed files with 2,606 additions and 570 deletions

🚨 Breaking Changes

✨ Features

  • Added the ability to pin folders to the left sidebar and enable or disable the feature with FileDialog::show_pinned_folders #100
  • Added FileDialogConfig::storage, FileDialog::storage and FileDialog::storage_mut to be able to save and load persistent data #104 and #105
  • Added new modal and option FileDialog::allow_file_overwrite to allow overwriting an already existing file when the dialog is in DialogMode::SaveFile mode #106
  • Implemented customizable keyboard navigation using FileDialogKeybindings and FileDialog::keybindings #110
  • Implemented show hidden files and folders option #111
  • The dialog is now displayed as a modal window by default. This can be disabled with FileDialog::as_modal. The color of the modal overlay can be adjusted using FileDialog::modal_overlay_color. #118
  • Added FileDialog::add_file_filter and FileDialog::default_file_filter to add file filters that can be selected by the user from a drop-down menu at the bottom #124
  • Implemented selection of multiple files and folders at once, using FileDialog::select_multiple, FileDialog::selected_multiple and FileDialog::take_selected_multiple #127

☢️ Deprecated

  • Deprecated FileDialog::overwrite_config. Use FileDialog::with_config and FileDialog::config_mut instead #103

🐛 Bug Fixes

  • Fixed the size of the path edit input box and fixed an issue where the path edit would not close when clicking the apply button #102

🔧 Changes

  • Restructured config module and fixed new 1.78 clippy warnings #109
  • The reload button has been changed to a menu button. This menu contains the reload button and the “Show hidden" option #111
  • Minor navigation improvements #113
  • Made DirectoryEntry public reachable #119 (thanks @crumblingstatue!)
  • Improved handling of internal IDs #128
  • Made file dialog Send #131 (thanks @nat3!)

📚 Documentation

  • Added persistence example showing how to save the persistent data of the file dialog #107
  • Reworked README.md #108
  • Added multi_selection example showing how to select multiple files and folders at once #129
  • Updated crate documentation in lib.rs #135
  • Use workspace dependencies in examples #133 (thanks @crumblingstatue!)

v0.5.0 - egui update and QoL changes

30 Mar 11:37
6b2f284
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Updated egui from version 0.26.0 to version 0.27.1 #97

✨ Features

  • Added FileDialog::add_quick_access and FileDialogConfig::add_quick_access to add your own quick access sections to the left sidebar #95

🔧 Changes

v0.4.0 - Customization

29 Feb 21:34
Compare
Choose a tag to compare

This version is all about customizing the file dialog. The release implements the core customization features and serves as the foundation for additional customization features in the future!

✨ Some of the highlights included in this release:

  • Customize which areas and functions of the dialog are visible
  • Customize the text labels used by the dialog (This enables the use of the dialog in applications with multilingual support!)
  • Customize the Unicode icons of specific files or directories
  • Text edit the current path

Release stats: 26 changed files with 1,786 additions and 468 deletions

🖥 UI

  • Changed default file icon from 🖹 (document with text U+1F5B9) to 🗋 (empty document U+1F5CB) #74
    image
  • You can now text edit the path using the new edit button next to the current path 🖊 #85
    image
    image

✨ Features

  • Added FileDialog::take_selected as an alternative to FileDialog::selected #52
  • Added FileDialogConfig, FileDialog::with_config, FileDialog::overwrite_config and FileDialog::config_mut to set and override the configuration of a file dialog. This is useful if you want to configure multiple FileDialog objects with the same options. #58, #67 and #79
  • Added FileDialogLabels, FileDialog::labels and FileDialog::labels_mut to customize the labels used by the dialog and enable multilingual support #69 and #79
  • Added FileDialog::directory_separator to overwrite the directory separator that is used when displaying the current path #68
  • Added FileDialog::err_icon, FileDialog::default_folder_icon and FileDialog::default_file_icon to customize the respective icons #72 Renamed with #74
  • Added FileDialog::set_file_icon and FileDialogConfig::set_file_icon to customize the icon for different types of files and directories #74
  • Added FileDialog::device_icon and FileDialog::removable_device_icon to overwrite the icon that is used to display devices in the left panel. #75
  • Added FileDialog::canonicalize_paths to set if the paths in the file dialog should be canonicalized before use #77

Methods for showing or hiding certain dialog areas and functions

  • Added FileDialog::show_top_panel to show or hide the top panel #60
  • Added FileDialog::show_parent_button, FileDialog::show_back_button and FileDialog::show_forward_button to show or hide the individual navigation buttons in the top panel. #61
  • Added FileDialog::show_new_folder_button to show or hide the button to create a new folder #62
  • Added FileDialog::show_current_path to show or hide the current path in the top panel #63
  • Added FileDialog::show_path_edit_button to show or hide the button to text edit the current path #85
  • Added FileDialog::show_reload_button to show or hide the reload button in the top panel #64
  • Added FileDialog::show_search to show or hide the search in the top panel #65
  • Added FileDialog::show_left_panel to show or hide the left panel #54
  • Added FileDialog::show_places, FileDialog::show_devices and FileDialog::show_removable_devices to show or hide individual section of the left panel #57

🐛 Bug Fixes

  • Fixed not every path being canonicalized #76

🔧 Changes

  • Cleanup and restructure FileDialog UI methods #56
  • Changed so the window title is evaluated when updating the dialog #80
  • Added Rust cache to CI and updated CI to also check the examples #84
  • Search input is now reset when a new directory is opened #88 (thanks @aymey!)

📚 Documentation

  • Added downloads and total lines badge to README.md #71
  • Updated project description, features and planned features in README.md #78
  • Added customization example to README.md and lib.rs #83
  • Added multilingual example to README.md, lib.rs and an interactive example in examples/ #81
  • Updated demo and example screenshots to include new path edit button #86

v0.3.1 - Bug fixes

20 Feb 19:10
50d2c95
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fixed not being able to select a shortcut directory like Home or Documents #43
  • Fixed issue where root directories were not displayed correctly #44 and #48

🔧 Changes

  • Updated CI to also run on release branches #46

📚 Documentation

  • FileDialog::update has been moved up in the documentation #47
  • Added "Pinnable folders" to planned features in README.md #49

v0.3.0 - UI Improvements

18 Feb 20:55
5b5b1eb
Compare
Choose a tag to compare

🖥 UI

  • Updated bottom panel so that the dialog can also be resized in DialogMode::SaveFile or when selecting a file or directory with a long name #32
    • The error when saving a file is now displayed as a tooltip when hovering over the grayed out save button
      image
    • Updated file name input to use all available space
    • Added scroll area around the selected item, so that long file names can be displayed without making the dialog larger
  • The default minimum window size has been further reduced to (340.0, 170.0) #32
  • Added an error icon to the error message when creating a new folder #32
    image
  • Removable devices are now listed in a separate devices section #34
  • Added mount point to the disk names on Windows #38

🔧 Changes

  • Restructure file_dialog.rs #36

📚 Documentation

  • Fix typos in the documentation #29
  • Fix eframe version in the example in README.md #30
  • Added "Planned features” section to README.md and minor improvements #31 (Renamed with #35)
  • Updated example screenshot in README.md to include new "Removable Devices" section #34
  • Moved media files from doc/img/ to media/ #37

v0.2.0 - API improvements

07 Feb 19:14
a6c32fe
Compare
Choose a tag to compare

🚨 Breaking Changes

  • Rename FileDialog::default_window_size to FileDialog::default_size #14
  • Added attribute operation_id to FileDialog::open #25

✨ Features

  • Implemented operation_id so the dialog can be used for multiple different actions in a single view #25
  • Added FileDialog::anchor to overwrite the window anchor #11
  • Added FileDialog::title to overwrite the window title #12
  • Added FileDialog::resizable to set if the window is resizable #15
  • Added FileDialog::movable to set if the window is movable #15
  • Added FileDialog::id to set the ID of the window #16
  • Added FileDialog::fixed_pos and FileDialog::default_pos to set the position of the window #17
  • Added FileDialog::min_size and FileDialog::max_size to set the minimum and maximum size of the window #21
  • Added FileDialog::title_bar to enable or disable the title bar of the window #23

🐛 Bug Fixes

  • Fixed issue where no error message was displayed when creating a folder #18
  • Fixed an issue where the same disk can be loaded multiple times in a row on Windows #26

🔧 Changes

  • Removed the version of egui-file-dialog in the examples #8
  • Use ui.add_enabled instead of custom ui.rs module #22

Dependency updates:

  • Updated egui to version 0.26.0 #24

📚 Documentation

  • Fix syntax highlighting on crates.io #9
  • Added dependency badge to README.md #10
  • Updated docs badge to use shields.io #19

v0.1.0

03 Feb 15:53
951ec82
Compare
Choose a tag to compare

Initial release of the file dialog.

The following features are included in this release:

  • Select a file or a directory
  • Save a file (Prompt user for a destination path)
  • Create a new folder
  • Navigation buttons to open the parent or previous directories
  • Search for items in a directory
  • Shortcut for user directories (Home, Documents, ...) and system disks
  • Resizable window

See README.md for more information.