Factor out app_fitting_items()
This commit is contained in:
		
							parent
							
								
									d95eb500f7
								
							
						
					
					
						commit
						87a738161a
					
				
							
								
								
									
										22
									
								
								nncmpp.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								nncmpp.c
									
									
									
									
									
								
							| @ -1135,11 +1135,17 @@ app_draw_header (void) | ||||
| 	app_flush_header (&buf, attrs[false]); | ||||
| } | ||||
| 
 | ||||
| static int | ||||
| app_fitting_items (void) | ||||
| { | ||||
| 	// The raw number of items that would have fit on the terminal
 | ||||
| 	return LINES - g.header_height; | ||||
| } | ||||
| 
 | ||||
| static int | ||||
| app_visible_items (void) | ||||
| { | ||||
| 	// This may eventually include a header bar and/or a status bar
 | ||||
| 	return MAX (0, LINES - g.header_height); | ||||
| 	return MAX (0, app_fitting_items ()); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| @ -1220,8 +1226,8 @@ app_draw_view (void) | ||||
| 	bool want_scrollbar = (int) tab->item_count > app_visible_items (); | ||||
| 	int view_width = COLS - want_scrollbar; | ||||
| 
 | ||||
| 	int to_show = MIN (LINES - g.header_height, | ||||
| 		(int) tab->item_count - tab->item_top); | ||||
| 	int to_show = | ||||
| 		MIN (app_fitting_items (), (int) tab->item_count - tab->item_top); | ||||
| 	for (int row = 0; row < to_show; row++) | ||||
| 	{ | ||||
| 		int item_index = tab->item_top + row; | ||||
| @ -1560,12 +1566,12 @@ app_process_action (enum action action) | ||||
| 		break; | ||||
| 
 | ||||
| 	case ACTION_GOTO_PAGE_PREVIOUS: | ||||
| 		app_scroll ((int) g.header_height - LINES); | ||||
| 		app_move_selection ((int) g.header_height - LINES); | ||||
| 		app_scroll (-app_fitting_items ()); | ||||
| 		app_move_selection (-app_fitting_items ()); | ||||
| 		break; | ||||
| 	case ACTION_GOTO_PAGE_NEXT: | ||||
| 		app_scroll (LINES - (int) g.header_height); | ||||
| 		app_move_selection (LINES - (int) g.header_height); | ||||
| 		app_scroll (app_fitting_items ()); | ||||
| 		app_move_selection (app_fitting_items ()); | ||||
| 		break; | ||||
| 
 | ||||
| // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user