@@ -29,7 +29,8 @@ enum Selection {
2929 EnterText ,
3030 FuzzyOption ,
3131 CaseOption ,
32- MessageSearch ,
32+ SummarySearch ,
33+ MessageBodySearch ,
3334 FilenameSearch ,
3435 AuthorsSearch ,
3536}
@@ -173,8 +174,16 @@ impl LogSearchPopupComponent {
173174 }
174175
175176 fn get_text_options ( & self ) -> Vec < Line > {
176- let x_message =
177- if self . options . 0 . contains ( SearchFields :: MESSAGE ) {
177+ let x_summary =
178+ if self . options . 0 . contains ( SearchFields :: MESSAGE_SUMMARY )
179+ {
180+ "X"
181+ } else {
182+ " "
183+ } ;
184+
185+ let x_body =
186+ if self . options . 0 . contains ( SearchFields :: MESSAGE_BODY ) {
178187 "X"
179188 } else {
180189 " "
@@ -225,11 +234,21 @@ impl LogSearchPopupComponent {
225234 ) ,
226235 ) ] ) ,
227236 Line :: from( vec![ Span :: styled(
228- format!( "[{x_message}] messages" , ) ,
237+ format!( "[{x_summary}] summary" , ) ,
238+ self . theme. text(
239+ matches!(
240+ self . selection,
241+ Selection :: SummarySearch
242+ ) ,
243+ false ,
244+ ) ,
245+ ) ] ) ,
246+ Line :: from( vec![ Span :: styled(
247+ format!( "[{x_body}] message body" , ) ,
229248 self . theme. text(
230249 matches!(
231250 self . selection,
232- Selection :: MessageSearch
251+ Selection :: MessageBodySearch
233252 ) ,
234253 false ,
235254 ) ,
@@ -254,14 +273,6 @@ impl LogSearchPopupComponent {
254273 false ,
255274 ) ,
256275 ) ] ) ,
257- // Line::from(vec![Span::styled(
258- // "[ ] changes (soon)",
259- // theme,
260- // )]),
261- // Line::from(vec![Span::styled(
262- // "[ ] hashes (soon)",
263- // theme,
264- // )]),
265276 ]
266277 }
267278
@@ -278,8 +289,17 @@ impl LogSearchPopupComponent {
278289 Selection :: CaseOption => {
279290 self . options . 1 . toggle ( SearchOptions :: CASE_SENSITIVE ) ;
280291 }
281- Selection :: MessageSearch => {
282- self . options . 0 . toggle ( SearchFields :: MESSAGE ) ;
292+ Selection :: SummarySearch => {
293+ self . options . 0 . toggle ( SearchFields :: MESSAGE_SUMMARY ) ;
294+
295+ if self . options . 0 . is_empty ( ) {
296+ self . options
297+ . 0
298+ . set ( SearchFields :: MESSAGE_BODY , true ) ;
299+ }
300+ }
301+ Selection :: MessageBodySearch => {
302+ self . options . 0 . toggle ( SearchFields :: MESSAGE_BODY ) ;
283303
284304 if self . options . 0 . is_empty ( ) {
285305 self . options . 0 . set ( SearchFields :: FILENAMES , true ) ;
@@ -296,7 +316,9 @@ impl LogSearchPopupComponent {
296316 self . options . 0 . toggle ( SearchFields :: AUTHORS ) ;
297317
298318 if self . options . 0 . is_empty ( ) {
299- self . options . 0 . set ( SearchFields :: MESSAGE , true ) ;
319+ self . options
320+ . 0
321+ . set ( SearchFields :: MESSAGE_SUMMARY , true ) ;
300322 }
301323 }
302324 }
@@ -309,16 +331,26 @@ impl LogSearchPopupComponent {
309331 Selection :: EnterText => Selection :: AuthorsSearch ,
310332 Selection :: FuzzyOption => Selection :: EnterText ,
311333 Selection :: CaseOption => Selection :: FuzzyOption ,
312- Selection :: MessageSearch => Selection :: CaseOption ,
313- Selection :: FilenameSearch => Selection :: MessageSearch ,
334+ Selection :: SummarySearch => Selection :: CaseOption ,
335+ Selection :: MessageBodySearch => {
336+ Selection :: SummarySearch
337+ }
338+ Selection :: FilenameSearch => {
339+ Selection :: MessageBodySearch
340+ }
314341 Selection :: AuthorsSearch => Selection :: FilenameSearch ,
315342 } ;
316343 } else {
317344 self . selection = match self . selection {
318345 Selection :: EnterText => Selection :: FuzzyOption ,
319346 Selection :: FuzzyOption => Selection :: CaseOption ,
320- Selection :: CaseOption => Selection :: MessageSearch ,
321- Selection :: MessageSearch => Selection :: FilenameSearch ,
347+ Selection :: CaseOption => Selection :: SummarySearch ,
348+ Selection :: SummarySearch => {
349+ Selection :: MessageBodySearch
350+ }
351+ Selection :: MessageBodySearch => {
352+ Selection :: FilenameSearch
353+ }
322354 Selection :: FilenameSearch => Selection :: AuthorsSearch ,
323355 Selection :: AuthorsSearch => Selection :: EnterText ,
324356 } ;
0 commit comments