**Status:** First stages
---
=====Team=====
**Commissioner:** @billreynish
**Project leader:** @HooglyBoogly
=====Description=====
**Big picture:** Method to filter properties in the properties editor, but general enough to use elsewhere too
**Use cases**:
* A general way to find that one setting you always lose track of
* In more complicated situations, a faster way to navigate to a property than to scroll to and expand the relevant panels
**Design:**
T71185
**Engineer plan:**
Two new "passes" will be needed:
1. A filter for buttons that don't match the filter at the end of the layout code,
2. A "simple layout" pass, which runs a simpler version of the layout code for panels in all tabs to highlight the ones with active items.
It would also be conceivable to build the property search layout during the same pass as the regular layout code,
but there are a few downsides to that method, mostly in the added complexity to the regular layout code.
=====Work plan=====
**Milestone 1 - Poperty Search Layout Changes**
Time estimate: //A week or two//
[ ] Search filter
[x] RNA property buttons
[ ] UILists
[x] Operator buttons
[ ] `?` Search based on labels
[ ] Menu buttons
[x] Box buttons
[ ] Build complete "search layout"
[x] Move items to single column layout
[ ] Replace text with RNA property description
[ ] Don't replace text in array properties
[x] Preserve layout state such as inactive, redalert, and disabled
[x] Preserve alignment like for expanded enums
[x] Keep decorators
[x] Keep labels
[x] Single buttons
[x] Number buttons
[x] Unexpanded enums
[x] Search buttons
[x] Array properties
[x] Expanded enums
[x] Don't change headers
[ ] Don't remove filtered buttons aligned with unfiltered buttons
[x] Interaction with panels
[x] Search closed panels and their subpanels
[x] Don't display empty panels
[x] Panels animate as the search changes
[x] Display entire panel if panel label matches search
[x] Fix panel sorting during and after search
[x] Fix panels re-sorting when a new panel is added
[x] Fix panels overlapping sometimes
[x] Make pin button work in header
[x] ctrl-F to activate search box
[x] alt-F to clear seach box
**Milestone 2 - Highlight Tabs with Filtered Items**
Time estimate: //A week//
[ ] Duplicate the properties editor and run the search there
[x] Get search to run
[x] Store "has property" per tab
[ ] Fix all consequences of duplicating the space / memory leaks
[ ] Don't count layouts with property search set to false
[x] Add the ability to gray out some icons to tabs layout
[ ] Investigate performance
[ ] Possibly only search in other tabs while editing search string
[ ] `?` Switch to the next highlighted tab if the current tab is empty
**Branch**: `property-search-ui`