Week #5 and #6 - GSoC 2023 Weekly Report - Search Field in Options
Thanks to my ‘Search Field in Options’ project mentors Andreas Heinisch and Heiko Tietze for their time and guidance. Additionally, thanks to Christian Lohmaier for his reviews and comments about text extraction and makefiles.
Project Report for Week #5 and #6
-
New patchsets submitted (between patchset 5 and 10): https://gerrit.libreoffice.org/c/core/+/152519
-
Modified uiex python script to generate ui strings.
I removed the ./solenv/bin/uiex_options
script that almost the same with ./solenv/bin/uiex
. Instead of creating a new script, adding an additional option to the existing uiex script -to only print the msgid instead of the full entry-, is better than a different file.
./solenv/bin/uiex
:
- Search function now removes the child-nodes that do not match with the search term.
The search function now gives better results than the previous version.
Before: (All child-nodes are shown - which is very confusing)
After: (Child-nodes that do not match with the search term are removed. thus, better results!)
-
Refactored the code with clang-format.
-
Search field now goes into focus when Options dialog opens.
- Finally, first node expands itself and selects its first child automatically after the search done.
- Some screenshots from the development
Summary
- New patchsets submitted (between patchset 5 and 10): https://gerrit.libreoffice.org/c/core/+/152519
- Modified uiex python script to generate ui strings.
- Search function now removes the child-nodes that do not match with the search term.
- The search function now gives better results than the previous version.
- Refactored the code with clang-format.
- Search field now goes into focus when Options dialog opens.
- Finally, first node expands itself and selects its first child automatically after the search done.
***
Steps for implementing search functionality in “Tools > Options”:
1) Add Search field to “Tools > Options” dialog. | DONE - week #1 | |
2) Include Options treeview into searching. | DONE - week #1 | |
3) Include Sub-tree elements (child nodes) into searching. | DONE - week #2 | |
4) Generate all strings(labels), accessible-names, accessible-descriptions and tooltip-texts of all .ui files in ./cui/* directory, at build-time. | DONE - week #3, #4 (most challenging part) | |
5) Fetch the generated data - at run-time. | DONE - week #3, #4 | |
6) Include strings(labels), accessible-names, accessible-descriptions and tooltip-texts into searching. | DONE - week #3, #4 | |
7) Refactoring the code-base and trying to fix some issues. | now | |
8) Implement highlighting feature. | next step | |
... | ... |
***
Patch: https://gerrit.libreoffice.org/c/core/+/152519
Project Mentors: Andreas Heinisch and Heiko Tietze (Thanks for their time and guidance)
GSoC project page: https://summerofcode.withgoogle.com/programs/2023/projects/IKtSHIH1
Enhancement request on Bugzilla: https://bugs.documentfoundation.org/show_bug.cgi?id=49895