From b380fb28df84292142521661e297a733b97dcf66 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Mon, 15 Sep 2008 21:53:37 +0000 Subject: [PATCH] Fixed display of characters >127 (alpha, beta, etc). Save/Load: Improved display of filenames too long to display entirely. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@155 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- files.c | 19 ++++++++++++++++++- graph.c | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/files.c b/files.c index 17d65a41..ac89a449 100644 --- a/files.c +++ b/files.c @@ -18,7 +18,7 @@ #ifdef __linux__ #include "linux.h" #include - #define isHidden(Enreg) ((Enreg)->d_name[0]=='.') + #define isHidden(Enreg) ((Enreg)->d_name[0]=='.' && (Enreg)->d_name[1]!='\0') #elif defined(__WATCOMC__) #include #define isHidden(Enreg) ((Enreg)->d_attr & _A_HIDDEN) @@ -35,6 +35,10 @@ #define COULEUR_REPERTOIRE_SELECT CM_Clair // Couleur du texte pour une ligne de repértoire sélectionnée #define COULEUR_FOND_SELECT CM_Fonce // Couleur du fond pour une ligne sélectionnée +// Caractères présents dans les deux fontes +#define CARACTERE_TRIANGLE_DROIT 16 +#define CARACTERE_TRIANGLE_GAUCHE 17 + #define FILENAMESPACE 16 int Determiner_repertoire_courant(void) @@ -128,6 +132,16 @@ char * Nom_formate(char * Nom) { strcpy(Resultat,".. "); } + else if (Nom[0]=='.') + { + // Fichiers ".quelquechose": Calé à gauche sur 12 caractères maximum. + strcpy(Resultat," "); + for (Curseur=0;Nom[Curseur]!='\0' && Curseur < 12;Curseur++) + Resultat[Curseur]=Nom[Curseur]; + // Un caractère spécial pour indiquer que l'affichage est tronqué + if (Curseur >= 12) + Resultat[11]=CARACTERE_TRIANGLE_DROIT; + } else { strcpy(Resultat," . "); @@ -137,6 +151,9 @@ char * Nom_formate(char * Nom) if (Curseur < 8) Resultat[Curseur]=Nom[Curseur]; } + // Un caractère spécial pour indiquer que l'affichage est tronqué + if (Curseur > 8) + Resultat[7]=CARACTERE_TRIANGLE_DROIT; // On recherche le dernier point dans le reste du nom for (Pos_DernierPoint = Curseur; Nom[Curseur]!='\0'; Curseur++) if (Nom[Curseur]=='.') diff --git a/graph.c b/graph.c index 9ff258eb..d4ccaf5e 100644 --- a/graph.c +++ b/graph.c @@ -1343,7 +1343,7 @@ void Print_general(short X,short Y,char * Chaine,byte Couleur_texte,byte Couleur word Indice; short Pos_X; short Pos_Y; - char Caractere; + unsigned char Caractere; short Reel_X; short Reel_Y; short Largeur;