26 Aug 2019

25019

0

GSoC 2019 - File Search (Final Report)

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 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.

    This blog post represents the personal opinion of the author and is not representative of the position of the ReactOS Project.

    The Blog Posts

    Opinions, technical details, side projects or lovely kittens created directly by the ReactOS Devs.

    Their opinions are theirs, so...well...any injuries, wounds, or dead-kittens due them, are..well..their own responsibility.

    Visit the "Project News" for official statements.