Skip to content

v0.4.0 - Customization

Compare
Choose a tag to compare
@fluxxcode fluxxcode released this 29 Feb 21:34

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