@@ -18,17 +18,22 @@ class UbuntuSettingsApp extends StatefulWidget {
1818class _UbuntuSettingsAppState extends State <UbuntuSettingsApp > {
1919 final _filteredItems = < YaruPageItem > [];
2020 final _searchController = TextEditingController ();
21+ late List <YaruPageItem > pageItems = getPageItems (context);
2122
2223 void _onEscape () => setState (() {
2324 _filteredItems.clear ();
2425 _searchController.clear ();
2526 });
2627
27- void _onSearchChanged (String value) {
28+ void _onSearchChanged (String value, BuildContext context ) {
2829 setState (() {
2930 _filteredItems.clear ();
30- _filteredItems.addAll (pageItems.where ((element) =>
31- element.title.toLowerCase ().contains (value.toLowerCase ())));
31+ _filteredItems.addAll (pageItems.where ((pageItem) {
32+ if (pageItem.searchMatches != null ) {
33+ return pageItem.searchMatches !(value, context);
34+ }
35+ return false ;
36+ }));
3237 });
3338 }
3439
@@ -46,10 +51,10 @@ class _UbuntuSettingsAppState extends State<UbuntuSettingsApp> {
4651 searchHint: context.l10n.searchHint,
4752 searchIconData: YaruIcons .search,
4853 appBar: YaruSearchAppBar (
49- searchHint: 'Search...' ,
54+ searchHint: context.l10n.searchHint ,
5055 clearSearchIconData: YaruIcons .window_close,
5156 searchController: _searchController,
52- onChanged: _onSearchChanged,
57+ onChanged: (v) => _onSearchChanged (v, context) ,
5358 onEscape: _onEscape,
5459 appBarHeight: 48 ,
5560 searchIconData: YaruIcons .search,
@@ -65,3 +70,29 @@ class _UbuntuSettingsAppState extends State<UbuntuSettingsApp> {
6570 );
6671 }
6772}
73+
74+ class MySearchDelegate extends SearchDelegate <String > {
75+ @override
76+ List <Widget >? buildActions (BuildContext context) {
77+ // TODO: implement buildActions
78+ throw UnimplementedError ();
79+ }
80+
81+ @override
82+ Widget ? buildLeading (BuildContext context) {
83+ // TODO: implement buildLeading
84+ throw UnimplementedError ();
85+ }
86+
87+ @override
88+ Widget buildResults (BuildContext context) {
89+ // TODO: implement buildResults
90+ throw UnimplementedError ();
91+ }
92+
93+ @override
94+ Widget buildSuggestions (BuildContext context) {
95+ // TODO: implement buildSuggestions
96+ throw UnimplementedError ();
97+ }
98+ }
0 commit comments