@@ -57,24 +57,24 @@ fn handle_action_for_library_page(
5757 match focus_state {
5858 LibraryFocusState :: Playlists => window:: handle_action_for_selected_item (
5959 action,
60- ui. search_filtered_items ( & data. user_data . folder_playlists_items ( folder_id) )
60+ & ui. search_filtered_items ( & data. user_data . folder_playlists_items ( folder_id) )
6161 . into_iter ( )
6262 . copied ( )
63- . collect ( ) ,
63+ . collect :: < Vec < _ > > ( ) ,
6464 & data,
6565 ui,
6666 client_pub,
6767 ) ,
6868 LibraryFocusState :: SavedAlbums => window:: handle_action_for_selected_item (
6969 action,
70- ui. search_filtered_items ( & data. user_data . saved_albums ) ,
70+ & ui. search_filtered_items ( & data. user_data . saved_albums ) ,
7171 & data,
7272 ui,
7373 client_pub,
7474 ) ,
7575 LibraryFocusState :: FollowedArtists => window:: handle_action_for_selected_item (
7676 action,
77- ui. search_filtered_items ( & data. user_data . followed_artists ) ,
77+ & ui. search_filtered_items ( & data. user_data . followed_artists ) ,
7878 & data,
7979 ui,
8080 client_pub,
@@ -98,28 +98,30 @@ fn handle_command_for_library_page(
9898 _ => anyhow:: bail!( "expect a library page state" ) ,
9999 } ;
100100 match focus_state {
101- LibraryFocusState :: Playlists => window:: handle_command_for_playlist_list_window (
101+ LibraryFocusState :: Playlists => Ok ( window:: handle_command_for_playlist_list_window (
102102 command,
103- ui. search_filtered_items ( & data. user_data . folder_playlists_items ( folder_id) )
103+ & ui. search_filtered_items ( & data. user_data . folder_playlists_items ( folder_id) )
104104 . into_iter ( )
105105 . copied ( )
106- . collect ( ) ,
106+ . collect :: < Vec < _ > > ( ) ,
107107 & data,
108108 ui,
109- ) ,
109+ ) ) ,
110110 LibraryFocusState :: SavedAlbums => window:: handle_command_for_album_list_window (
111111 command,
112- ui. search_filtered_items ( & data. user_data . saved_albums ) ,
112+ & ui. search_filtered_items ( & data. user_data . saved_albums ) ,
113113 & data,
114114 ui,
115115 client_pub,
116116 ) ,
117- LibraryFocusState :: FollowedArtists => window:: handle_command_for_artist_list_window (
118- command,
119- ui. search_filtered_items ( & data. user_data . followed_artists ) ,
120- & data,
121- ui,
122- ) ,
117+ LibraryFocusState :: FollowedArtists => {
118+ Ok ( window:: handle_command_for_artist_list_window (
119+ command,
120+ & ui. search_filtered_items ( & data. user_data . followed_artists ) ,
121+ & data,
122+ ui,
123+ ) )
124+ }
123125 }
124126 }
125127}
@@ -171,75 +173,74 @@ fn handle_key_sequence_for_search_page(
171173 match focus_state {
172174 SearchFocusState :: Input => anyhow:: bail!( "user's search input should be handled before" ) ,
173175 SearchFocusState :: Tracks => {
174- let tracks = match search_results {
175- Some ( s) => s. tracks . iter ( ) . collect ( ) ,
176- None => Vec :: new ( ) ,
177- } ;
176+ let tracks = search_results
177+ . map ( |s| s. tracks . iter ( ) . collect :: < Vec < _ > > ( ) )
178+ . unwrap_or_default ( ) ;
178179
179180 match found_keymap {
180181 CommandOrAction :: Command ( command) => window:: handle_command_for_track_list_window (
181- command, client_pub, tracks, & data, ui,
182+ command, client_pub, & tracks, & data, ui,
182183 ) ,
183184 CommandOrAction :: Action ( action, ActionTarget :: SelectedItem ) => {
184- window:: handle_action_for_selected_item ( action, tracks, & data, ui, client_pub)
185+ window:: handle_action_for_selected_item ( action, & tracks, & data, ui, client_pub)
185186 }
186187 CommandOrAction :: Action ( ..) => Ok ( false ) ,
187188 }
188189 }
189190 SearchFocusState :: Artists => {
190191 let artists = search_results
191- . map ( |s| s. artists . iter ( ) . collect ( ) )
192+ . map ( |s| s. artists . iter ( ) . collect :: < Vec < _ > > ( ) )
192193 . unwrap_or_default ( ) ;
193194
194195 match found_keymap {
195- CommandOrAction :: Command ( command) => {
196- window:: handle_command_for_artist_list_window ( command, artists, & data, ui)
197- }
196+ CommandOrAction :: Command ( command) => Ok (
197+ window:: handle_command_for_artist_list_window ( command, & artists, & data, ui) ,
198+ ) ,
198199 CommandOrAction :: Action ( action, ActionTarget :: SelectedItem ) => {
199- window:: handle_action_for_selected_item ( action, artists, & data, ui, client_pub)
200+ window:: handle_action_for_selected_item ( action, & artists, & data, ui, client_pub)
200201 }
201202 CommandOrAction :: Action ( ..) => Ok ( false ) ,
202203 }
203204 }
204205 SearchFocusState :: Albums => {
205206 let albums = search_results
206- . map ( |s| s. albums . iter ( ) . collect ( ) )
207+ . map ( |s| s. albums . iter ( ) . collect :: < Vec < _ > > ( ) )
207208 . unwrap_or_default ( ) ;
208209
209210 match found_keymap {
210211 CommandOrAction :: Command ( command) => window:: handle_command_for_album_list_window (
211- command, albums, & data, ui, client_pub,
212+ command, & albums, & data, ui, client_pub,
212213 ) ,
213214 CommandOrAction :: Action ( action, ActionTarget :: SelectedItem ) => {
214- window:: handle_action_for_selected_item ( action, albums, & data, ui, client_pub)
215+ window:: handle_action_for_selected_item ( action, & albums, & data, ui, client_pub)
215216 }
216217 CommandOrAction :: Action ( ..) => Ok ( false ) ,
217218 }
218219 }
219220 SearchFocusState :: Playlists => {
220- let playlists: Vec < PlaylistFolderItem > = search_results
221+ let playlists = search_results
221222 . map ( |s| {
222223 s. playlists
223224 . iter ( )
224225 . map ( |p| PlaylistFolderItem :: Playlist ( p. clone ( ) ) )
225- . collect ( )
226+ . collect :: < Vec < _ > > ( )
226227 } )
227228 . unwrap_or_default ( ) ;
228- let playlist_refs = playlists. iter ( ) . collect ( ) ;
229+ let playlist_refs = playlists. iter ( ) . collect :: < Vec < _ > > ( ) ;
229230
230231 match found_keymap {
231232 CommandOrAction :: Command ( command) => {
232- window:: handle_command_for_playlist_list_window (
233+ Ok ( window:: handle_command_for_playlist_list_window (
233234 command,
234- playlist_refs,
235+ & playlist_refs,
235236 & data,
236237 ui,
237- )
238+ ) )
238239 }
239240 CommandOrAction :: Action ( action, ActionTarget :: SelectedItem ) => {
240241 window:: handle_action_for_selected_item (
241242 action,
242- playlist_refs,
243+ & playlist_refs,
243244 & data,
244245 ui,
245246 client_pub,
@@ -258,7 +259,7 @@ fn handle_key_sequence_for_search_page(
258259 window:: handle_command_for_show_list_window ( command, & shows, & data, ui) ,
259260 ) ,
260261 CommandOrAction :: Action ( action, ActionTarget :: SelectedItem ) => {
261- window:: handle_action_for_selected_item ( action, shows, & data, ui, client_pub)
262+ window:: handle_action_for_selected_item ( action, & shows, & data, ui, client_pub)
262263 }
263264 CommandOrAction :: Action ( ..) => Ok ( false ) ,
264265 }
@@ -276,7 +277,9 @@ fn handle_key_sequence_for_search_page(
276277 )
277278 }
278279 CommandOrAction :: Action ( action, ActionTarget :: SelectedItem ) => {
279- window:: handle_action_for_selected_item ( action, episodes, & data, ui, client_pub)
280+ window:: handle_action_for_selected_item (
281+ action, & episodes, & data, ui, client_pub,
282+ )
280283 }
281284 CommandOrAction :: Action ( ..) => Ok ( false ) ,
282285 }
0 commit comments