| Arnaldo Carvalho de Melo | 34cea7f | 2010-08-08 19:56:47 -0300 | [diff] [blame] | 1 | #include "../cache.h" | 
 | 2 | #include "progress.h" | 
| Arnaldo Carvalho de Melo | ca59bcb | 2011-10-25 13:29:11 -0200 | [diff] [blame] | 3 | #include "libslang.h" | 
 | 4 | #include "ui.h" | 
 | 5 | #include "browser.h" | 
| Arnaldo Carvalho de Melo | 34cea7f | 2010-08-08 19:56:47 -0300 | [diff] [blame] | 6 |  | 
| Arnaldo Carvalho de Melo | ca59bcb | 2011-10-25 13:29:11 -0200 | [diff] [blame] | 7 | void ui_progress__update(u64 curr, u64 total, const char *title) | 
| Arnaldo Carvalho de Melo | 34cea7f | 2010-08-08 19:56:47 -0300 | [diff] [blame] | 8 | { | 
| Arnaldo Carvalho de Melo | ca59bcb | 2011-10-25 13:29:11 -0200 | [diff] [blame] | 9 | 	int bar, y; | 
| Arnaldo Carvalho de Melo | 34cea7f | 2010-08-08 19:56:47 -0300 | [diff] [blame] | 10 | 	/* | 
 | 11 | 	 * FIXME: We should have a per UI backend way of showing progress, | 
 | 12 | 	 * stdio will just show a percentage as NN%, etc. | 
 | 13 | 	 */ | 
 | 14 | 	if (use_browser <= 0) | 
 | 15 | 		return; | 
| Arnaldo Carvalho de Melo | 34cea7f | 2010-08-08 19:56:47 -0300 | [diff] [blame] | 16 |  | 
| Arnaldo Carvalho de Melo | 18b5523 | 2011-11-11 22:08:07 -0200 | [diff] [blame] | 17 | 	if (total == 0) | 
 | 18 | 		return; | 
 | 19 |  | 
| Arnaldo Carvalho de Melo | 71172ed | 2011-10-25 13:45:16 -0200 | [diff] [blame] | 20 | 	ui__refresh_dimensions(true); | 
| Arnaldo Carvalho de Melo | ca59bcb | 2011-10-25 13:29:11 -0200 | [diff] [blame] | 21 | 	pthread_mutex_lock(&ui__lock); | 
 | 22 | 	y = SLtt_Screen_Rows / 2 - 2; | 
 | 23 | 	SLsmg_set_color(0); | 
 | 24 | 	SLsmg_draw_box(y, 0, 3, SLtt_Screen_Cols); | 
 | 25 | 	SLsmg_gotorc(y++, 1); | 
 | 26 | 	SLsmg_write_string((char *)title); | 
 | 27 | 	SLsmg_set_color(HE_COLORSET_SELECTED); | 
 | 28 | 	bar = ((SLtt_Screen_Cols - 2) * curr) / total; | 
 | 29 | 	SLsmg_fill_region(y, 1, 1, bar, ' '); | 
 | 30 | 	SLsmg_refresh(); | 
 | 31 | 	pthread_mutex_unlock(&ui__lock); | 
| Arnaldo Carvalho de Melo | 34cea7f | 2010-08-08 19:56:47 -0300 | [diff] [blame] | 32 | } |