From 565813881e06d1ea182ad0d3fbab0ab572f20928 Mon Sep 17 00:00:00 2001 From: masse Date: Mon, 7 Apr 2003 12:10:04 +0000 Subject: [PATCH] bla --- src/flrn_color.c | 4 ++- src/flrn_color.h | 28 ++++++++++--------- src/flrn_inter.c | 6 ++--- src/tty_display.c | 69 ++++++++++++++++++++++++++--------------------- src/tty_display.h | 2 +- 5 files changed, 61 insertions(+), 48 deletions(-) diff --git a/src/flrn_color.c b/src/flrn_color.c index cfed8ae..96d4b96 100644 --- a/src/flrn_color.c +++ b/src/flrn_color.c @@ -26,7 +26,7 @@ static char UNUSED rcsid[]="$Id$"; /* I want to use this code and the old one together */ -#define START_COLOR_NUM 11 +#define START_COLOR_NUM 13 #if START_COLOR_NUM <= NROF_FIELDS #error START_COLOR_NUM too small #endif @@ -55,6 +55,8 @@ struct Obj_color_struct Colors[NROF_FIELDS] = {"default","default",0,0}, /* File */ {"default","default",0,0}, /* summary */ {"default","default",FL_REV_MASK,FL_REV_MASK}, /* search */ + {"red","default",0,0}, /* at_mine */ + {"default","default",0,0}, /* at_other */ }; diff --git a/src/flrn_color.h b/src/flrn_color.h index 404c06a..8d04f7b 100644 --- a/src/flrn_color.h +++ b/src/flrn_color.h @@ -27,21 +27,25 @@ static char *Field_names[] ={ "file", "summary", "search", + "at_mine", + "at_other", }; #endif -#define FIELD_NORMAL 0 -#define FIELD_HEADER 1 -#define FIELD_STATUS 2 -#define FIELD_ERROR 3 -#define FIELD_QUOTED 4 -#define FIELD_AFF_FIN 5 -#define FIELD_SIG 6 -#define FIELD_FILE 7 -#define FIELD_SUMMARY 8 -#define FIELD_SEARCH 9 - -#define NROF_FIELDS 10 +#define FIELD_NORMAL 0 +#define FIELD_HEADER 1 +#define FIELD_STATUS 2 +#define FIELD_ERROR 3 +#define FIELD_QUOTED 4 +#define FIELD_AFF_FIN 5 +#define FIELD_SIG 6 +#define FIELD_FILE 7 +#define FIELD_SUMMARY 8 +#define FIELD_SEARCH 9 +#define FIELD_AT_MINE 10 +#define FIELD_AT_OTH 11 + +#define NROF_FIELDS 12 /* Les fonctions */ diff --git a/src/flrn_inter.c b/src/flrn_inter.c index e687239..d79601c 100644 --- a/src/flrn_inter.c +++ b/src/flrn_inter.c @@ -2457,7 +2457,7 @@ int do_opt_menu(int res) { } #if 0 - unsigned char **grande_table; + unsigned short **grande_table; int i; Cursor_gotorc(1,0); @@ -2465,9 +2465,9 @@ int do_opt_menu(int res) { num_help_line=1; Aff_help_line(Screen_Rows-1); Cursor_gotorc(1,0); - grande_table=safe_malloc((Screen_Rows-1)*sizeof(char *)); + grande_table=safe_malloc((Screen_Rows-1)*sizeof(short *)); for (i=0;i' +#define SYMB_SLASH (FIELD_NORMAL<<8) + '/' +#define SYMB_ANTISLASH (FIELD_NORMAL<<8) + '\\' +#define SYMB_LOWER (FIELD_NORMAL<<8) + 'v' +#define SYMB_HIGHER (FIELD_NORMAL<<8) + '^' +#define SYMB_BEFORE (FIELD_NORMAL<<8) + '<' +#define SYMB_AFTER (FIELD_NORMAL<<8) + '>' /* row, col : coordonnées du haut a gauche */ /* on essaie d'arranger to_left et to_right... height est la max... */ /* table est un pointeur vers un tableau de taille ((to_left+to_right)*2+3, */ @@ -748,15 +748,16 @@ int Liste_groupe (int flags, char *mat, Newsgroup_List **retour) { /* on renvoie la colonne atteinte... */ int Aff_arbre (int row, int col, Article_List *init, int to_left, int to_right, int height, - unsigned char **table, int add_to_scroll) { + unsigned short **table, int add_to_scroll) { Article_List *parcours=init, *parcours2, *parcours3; int up,down, act_right, act_right_deb, act_right_temp, left, right, initcol; int row_deb=row; /* juste pour l'affichage */ - unsigned short *toto; /* on "nettoie" table */ for (up=0;upnumero== -1 ? SYMB_ART_UNK : (x->flag & FLAG_READ ? SYMB_ART_READ : SYMB_ART_UNR)) /* Enfin, on va commencer "modifier" to_left et to_right... */ left=up=down=act_right=act_right_deb=0; @@ -795,8 +796,10 @@ int Aff_arbre (int row, int col, Article_List *init, remonte=0; act_right=act_right_deb; cl=initcol+act_right*2; - if (parcours==init) (table[0])[cl]=SYMB_ART_COUR; - else (table[0])[cl]=char_for_art(parcours); + if (parcours==init) (table[0])[cl]= (field_for_art(parcours)<<8) + + SYMB_ART_COUR; + else (table[0])[cl]=(field_for_art(parcours)<<8) + + char_for_art(parcours); if (act_right!=-left) (table[0])[cl-1]='-'; /* on commence l'infame parcours */ parcours2=parcours->frere_prev; @@ -832,7 +835,8 @@ int Aff_arbre (int row, int col, Article_List *init, /* on fait donc l'affichage (remonte=0 toujours ici) */ up++; rw--; - (table[rw])[cl]=char_for_art(parcours2); + (table[rw])[cl]=(field_for_art(parcours2)<<8) + + char_for_art(parcours2); if (parcours2->prem_fils) (table[rw])[cl+1]=SYMB_AFTER; act_right_temp=act_right; parcours3=parcours2; c=cl; /* et on remonte pour l'affichage */ @@ -840,7 +844,8 @@ int Aff_arbre (int row, int col, Article_List *init, if (parcours3->pere->prem_fils==parcours3) { parcours3=parcours3->pere; act_right_temp--; c-=2; - (table[rw])[c]=char_for_art(parcours3); + (table[rw])[c]=(field_for_art(parcours3)<<8) + + char_for_art(parcours3); (table[rw])[c+1]='-'; r=rw+1; if (parcours3->prem_fils->frere_suiv) @@ -910,7 +915,8 @@ int Aff_arbre (int row, int col, Article_List *init, /* on fait donc l'affichage (remonte=0 toujours ici) */ down++; rw++; - (table[rw])[cl]=char_for_art(parcours2); + (table[rw])[cl]=(field_for_art(parcours2)<<8) + + char_for_art(parcours2); if (parcours2->prem_fils) (table[rw])[cl+1]=SYMB_AFTER; act_right_temp=act_right; parcours3=parcours2; c=cl; /* et on remonte pour l'affichage */ @@ -918,7 +924,8 @@ int Aff_arbre (int row, int col, Article_List *init, if (parcours3->pere->prem_fils==parcours3) { parcours3=parcours3->pere; act_right_temp--; c-=2; - (table[rw])[c]=char_for_art(parcours3); + (table[rw])[c]=(field_for_art(parcours3)<<8) + + char_for_art(parcours3); (table[rw])[c+1]='-'; r=rw-1; if (parcours3->prem_fils->frere_prev) @@ -965,26 +972,24 @@ int Aff_arbre (int row, int col, Article_List *init, for (;up>0;up--) { Cursor_gotorc(row++,col); - Screen_write_nstring(table[height+1-up],initcol+right*2+2); + Screen_write_color_chars(table[height+1-up],initcol+right*2+2); if (add_to_scroll) { - toto=cree_chaine_mono(table[height+1-up],FIELD_NORMAL,initcol+right*2+2); - if (Rajoute_color_Line(toto,row-1-row_deb,initcol+right*2+2,col)==NULL) { + if (Rajoute_color_Line(table[height+1-up], + row-1-row_deb,initcol+right*2+2,col)==NULL) { Ajoute_color_Line(NULL,0,Screen_Cols); - Rajoute_color_Line(toto,-1,initcol+right*2+2,col); + Rajoute_color_Line(table[height+1-up],-1,initcol+right*2+2,col); } - free(toto); } } for (up=0;up<=down;up++) { Cursor_gotorc(row++,col); - Screen_write_nstring(table[up],initcol+right*2+2); + Screen_write_color_chars(table[up],initcol+right*2+2); if (add_to_scroll) { - toto=cree_chaine_mono(table[up],FIELD_NORMAL,initcol+right*2+2); - if (Rajoute_color_Line(toto,row-1-row_deb,initcol+right*2+2,col)==NULL) { + if (Rajoute_color_Line(table[up], + row-1-row_deb,initcol+right*2+2,col)==NULL) { Ajoute_color_Line(NULL,0,Screen_Cols); - Rajoute_color_Line(toto,-1,initcol+right*2+2,col); + Rajoute_color_Line(table[up],-1,initcol+right*2+2,col); } - free(toto); } } return (row-1); @@ -1727,16 +1732,18 @@ static int base_Aff_article(int to_build) { /* On affiche un grand thread, plus un résumé de l'article courant */ int Aff_grand_thread(int to_build) { - unsigned char **grande_table; + unsigned short **grande_table; int i; if (base_Aff_article(to_build)==-1) return 0; - grande_table=safe_malloc((Screen_Rows-4)*sizeof(char *)); + grande_table=safe_malloc((Screen_Rows-4)*sizeof(short *)); for (i=0;i