GSoC 2019 - File Search (Final Report)

by b-r-o-c-k | August 26, 2019

This is a summary of all the work that has been completed this summer on the file search project.

All contributed code can be found in this GitHub pull request.

Summary

Here is a list of the main features:

  • Quickly open it from the Start menu or with the keyboard shortcut Windows + F
  • Search is case-insensitive and recurses all sub-folders
  • Support for UTF-16 encoded text files
  • File name filtering with support for wildcards
  • "In Folder" column shows the folder each file is located in
  • Right-click menu includes "Open Containing Folder" option
  • Progress is indicated in the status bar at the bottom of the window
  • Search bar UI and search results folder

    Search bar UI and search results folder

    Search results right-click menu

    Search results right-click menu

    Future Improvements

    One additional feature that might improve this tool is the ability to toggle case-sensitivity. Adding a checkbox to the UI for enabling case-sensitive search wouldn't be very difficult to do and the search functionality was previously case-sensitive before I decided to make it consistent with Windows. Another idea is to support searching with regular expressions. There is already a regular expression engine in the ReactOS codebase for VBScript and JScript, so it may be possible to reuse it or add a different engine such as PCRE.

    Conclusion

    This summer was a great opportunity for me to learn more about Windows application development. I would like to thank my mentors Giannis and David for all of their guidance and support. I really enjoyed working on this project and hope it will be useful to the ReactOS community.