static void get_ref_color (GitgRef *ref, gdouble *r, gdouble *g, gdouble *b) { if (gitg_ref_get_working (ref)) { /* Orange */ *r = 1; *g = 0.7; *b = 0; } else { get_type_color (gitg_ref_get_ref_type (ref), r, g, b); } }
static void file_list_draw(void) { int n, pos, fg, bg, i; char buf[8]; char sbuf[32]; dmoz_file_t *file; /* there's no need to have if (files) { ... } like in the load-module page, because there will always be at least "/" in the list */ if (top_file < 0) top_file = 0; if (current_file < 0) current_file = 0; for (n = top_file, pos = 13; n < flist.num_files && pos < 48; n++, pos++) { file = flist.files[n]; if (n == current_file && ACTIVE_PAGE.selected_widget == 0) { fg = 0; bg = 3; } else { fg = get_type_color(file->type); bg = 0; } draw_text(numtostr(3, n, buf), 2, pos, 0, 2); draw_text_len((file->title ? file->title : ""), 25, 6, pos, fg, bg); draw_char(168, 31, pos, 2, bg); draw_text_len((file->base ? file->base : ""), 18, 32, pos, fg, bg); if (file->base && slash_search_mode > -1) { if (strncasecmp(file->base,slash_search_str,slash_search_mode) == 0) { for (i = 0 ; i < slash_search_mode; i++) { if (tolower(((unsigned)file->base[i])) != tolower(((unsigned)slash_search_str[i]))) break; draw_char(file->base[i], 32+i, pos, 3,1); } } } if (file->sampsize > 1) { sprintf(sbuf, "%u Samples", file->sampsize); draw_text_len(sbuf, 10, 51, pos, fg, bg); } else if (file->sampsize == 1) { draw_text("1 Sample ", 51, pos, fg, bg); } else if (file->type & TYPE_MODULE_MASK) { draw_text("\x9a\x9a""Module\x9a\x9a", 51, pos, fg, bg); } else { draw_text(" ", 51, pos, fg, bg); } if (file->filesize > 1048576) { sprintf(sbuf, "%lum", (unsigned long)(file->filesize / 1048576)); } else if (file->filesize > 1024) { sprintf(sbuf, "%luk", (unsigned long)(file->filesize / 1024)); } else if (file->filesize > 0) { sprintf(sbuf, "%lu", (unsigned long)(file->filesize)); } else { *sbuf = 0; } draw_text_len(sbuf, 6, 62, pos, fg, bg); } /* draw the info for the current file (or directory...) */ while (pos < 48) draw_char(168, 31, pos++, 2, 0); }