Skip to content

v0.4.0 - Customization

Compare
Choose a tag to compare
@fluxxcode fluxxcode released this 29 Feb 21:34
· 95 commits to develop since this release

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