Load/Save: Removed the drive icons
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@651 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
4db4454794
commit
b9f1116fd3
34
boutons.c
34
boutons.c
@ -2457,9 +2457,7 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
|
||||
struct Fenetre_Bouton_dropdown * Dropdown_des_formats;
|
||||
short Temp;
|
||||
int Bidon=0; // Sert à appeler SDL_GetKeyState
|
||||
word Drives_Debut_Y;
|
||||
byte Charger_ou_sauver_l_image=0;
|
||||
char Nom_drive[3]=" ";
|
||||
byte On_a_clicke_sur_OK=0;// Indique si on a clické sur Load ou Save ou sur
|
||||
//un bouton enclenchant Load ou Save juste après.
|
||||
struct Composantes * Palette_initiale; // | Données concernant l'image qui
|
||||
@ -2568,15 +2566,6 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
|
||||
// Selecteur de Lecteur / Volume
|
||||
Fenetre_Definir_bouton_normal(8,21,120,14,"Select drive",0,1,SDLK_LAST); // 9
|
||||
|
||||
// Définition des boutons représentant les lecteurs
|
||||
Drives_Debut_Y=(Nb_drives<=8)? 23 : 18;
|
||||
for (Temp=0; Temp<Nb_drives; Temp++)
|
||||
{
|
||||
Nom_drive[0]=Drive[Temp].Lettre;
|
||||
Fenetre_Definir_bouton_normal(130+((Temp%8)*20),Drives_Debut_Y+((Temp/8)*12),19,11,Nom_drive,0,1, SDLK_LAST); // 10 et +
|
||||
Fenetre_Afficher_sprite_drive(140+((Temp%8)*20),Drives_Debut_Y+2+((Temp/8)*12),Drive[Temp].Type);
|
||||
}
|
||||
|
||||
// On prend bien soin de passer dans le répertoire courant (le bon qui faut! Oui madame!)
|
||||
if (Load)
|
||||
{
|
||||
@ -2852,27 +2841,8 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
|
||||
Afficher_curseur();
|
||||
Nouvelle_preview=1;
|
||||
break;
|
||||
default : // Drives
|
||||
// On change de lecteur:
|
||||
if (! ActiverLecteur(Bouton_clicke-10))
|
||||
{
|
||||
Effacer_curseur();
|
||||
// On lit le répertoire courant de ce lecteur
|
||||
Determiner_repertoire_courant();
|
||||
// Comme on tombe sur un disque qu'on connait pas, on se place en
|
||||
// début de liste:
|
||||
Principal_File_list_Position=0;
|
||||
Principal_File_list_Decalage=0;
|
||||
// Affichage des premiers fichiers visibles:
|
||||
Relire_liste_fichiers(Principal_Format,Principal_File_list_Position,Principal_File_list_Decalage,Scroller_de_fichiers);
|
||||
Afficher_curseur();
|
||||
Nouvelle_preview=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Un ptit flash rouge pour signaler le lecteur invalide.
|
||||
Erreur(0);
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
switch (Touche)
|
||||
|
||||
97
files.c
97
files.c
@ -290,9 +290,6 @@ void bstrtostr( BSTR in, STRPTR out, TEXT max )
|
||||
// -- Lecture d'une liste de lecteurs / volumes -----------------------------
|
||||
void Lire_liste_des_lecteurs(void)
|
||||
{
|
||||
#ifndef __amigaos4__
|
||||
int Indice;
|
||||
#endif
|
||||
|
||||
// Empty the current content of fileselector:
|
||||
Detruire_liste_du_fileselect();
|
||||
@ -318,23 +315,89 @@ void Lire_liste_des_lecteurs(void)
|
||||
UnLockDosList( LDF_VOLUMES | LDF_READ );
|
||||
}
|
||||
}
|
||||
|
||||
// Other platforms: simply read the "static" list of Drives.
|
||||
// This should be made dynamic because in the multitask world, user can mount new drives,
|
||||
// connect to network ones, and so on, while Grafx2 is running.
|
||||
#else
|
||||
|
||||
#ifndef __macosx__
|
||||
#warning "Your platform is missing some specific code here ! please check and correct ! :)"
|
||||
#endif
|
||||
|
||||
for (Indice=0; Indice<Nb_drives; Indice++)
|
||||
#elif defined (__WIN32__)
|
||||
{
|
||||
char NomLecteur[]="A:\\";
|
||||
int DriveBits = GetLogicalDrives();
|
||||
int IndiceLecteur;
|
||||
int IndiceBit;
|
||||
// Sous Windows, on a la totale, presque aussi bien que sous DOS:
|
||||
IndiceLecteur = 0;
|
||||
for (IndiceBit=0; IndiceBit<26 && IndiceLecteur<23; IndiceBit++)
|
||||
{
|
||||
// Add the drive's name ("c:\\", "/" etc.) to the list
|
||||
Ajouter_element_a_la_liste(Drive[Indice].Chemin, 2);
|
||||
Liste_Nb_repertoires++;
|
||||
if ( (1 << IndiceBit) & DriveBits )
|
||||
{
|
||||
// On a ce lecteur, il faut maintenant déterminer son type "physique".
|
||||
// pour profiter des jolies icones de X-man.
|
||||
int TypeLecteur;
|
||||
char CheminLecteur[]="A:\\";
|
||||
// Cette API Windows est étrange, je dois m'y faire...
|
||||
CheminLecteur[0]='A'+IndiceBit;
|
||||
switch (GetDriveType(CheminLecteur))
|
||||
{
|
||||
case DRIVE_CDROM:
|
||||
TypeLecteur=LECTEUR_CDROM;
|
||||
break;
|
||||
case DRIVE_REMOTE:
|
||||
TypeLecteur=LECTEUR_NETWORK;
|
||||
break;
|
||||
case DRIVE_REMOVABLE:
|
||||
TypeLecteur=LECTEUR_FLOPPY_3_5;
|
||||
break;
|
||||
case DRIVE_FIXED:
|
||||
TypeLecteur=LECTEUR_HDD;
|
||||
break;
|
||||
default:
|
||||
TypeLecteur=LECTEUR_NETWORK;
|
||||
break;
|
||||
}
|
||||
NomLecteur[0]='A'+IndiceBit;
|
||||
Ajouter_element_a_la_liste(NomLecteur,2);
|
||||
Liste_Nb_repertoires++;
|
||||
IndiceLecteur++;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
{
|
||||
//Sous les différents unix, on va mettre
|
||||
// un disque dur qui pointera vers la racine,
|
||||
// et un autre vers le home directory de l'utilisateur.
|
||||
|
||||
// Ensuite on utilise read_file_system_list pour compléter
|
||||
|
||||
struct mount_entry* Liste_points_montage;
|
||||
struct mount_entry* next;
|
||||
|
||||
#if defined(__BEOS__) || defined(__HAIKU__)
|
||||
char * Home = getenv("$HOME");
|
||||
#else
|
||||
char * Home = getenv("HOME");
|
||||
#endif
|
||||
Ajouter_lecteur('/', LECTEUR_HDD, "/");
|
||||
if(Home)
|
||||
Ajouter_lecteur('~', LECTEUR_HDD, Home);
|
||||
|
||||
Liste_points_montage = read_file_system_list(false);
|
||||
|
||||
while(Liste_points_montage != NULL)
|
||||
{
|
||||
if(Liste_points_montage->me_dummy == 0 && strcmp(Liste_points_montage->me_mountdir,"/") && strcmp(Liste_points_montage->me_mountdir,"/home"))
|
||||
{
|
||||
Ajouter_element_a_la_liste(Liste_points_montage->me_mountdir,2);
|
||||
Liste_Nb_repertoires++;
|
||||
}
|
||||
next = Liste_points_montage -> me_next;
|
||||
#if !(defined(__macosx__) || defined(__FreeBSD__))
|
||||
free(Liste_points_montage -> me_type);
|
||||
#endif
|
||||
free(Liste_points_montage -> me_devname);
|
||||
free(Liste_points_montage -> me_mountdir);
|
||||
free(Liste_points_montage);
|
||||
Liste_points_montage = next;
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
Liste_Nb_elements=Liste_Nb_repertoires+Liste_Nb_fichiers;
|
||||
|
||||
5
global.h
5
global.h
@ -651,10 +651,7 @@ GFX2_GLOBAL struct
|
||||
|
||||
|
||||
|
||||
// Informations sur les lecteurs
|
||||
|
||||
GFX2_GLOBAL byte Nb_drives;
|
||||
GFX2_GLOBAL struct T_Drive Drive[26];
|
||||
// Informations sur les lecteurs et autres images
|
||||
GFX2_GLOBAL byte SPRITE_DRIVE[NB_SPRITES_DRIVES][HAUTEUR_SPRITE_DRIVE][LARGEUR_SPRITE_DRIVE];
|
||||
|
||||
|
||||
|
||||
22
init.c
22
init.c
@ -69,23 +69,12 @@
|
||||
#include "mountlist.h" // read_file_system_list
|
||||
#include "loadsave.h" // Image_emergency_backup
|
||||
|
||||
// Ajouter un lecteur à la liste de lecteurs
|
||||
void Ajouter_lecteur(char Lettre, byte Type, char *Chemin)
|
||||
{
|
||||
Drive[Nb_drives].Lettre=Lettre;
|
||||
Drive[Nb_drives].Type =Type;
|
||||
Drive[Nb_drives].Chemin=(char *)malloc(strlen(Chemin)+1);
|
||||
strcpy(Drive[Nb_drives].Chemin, Chemin);
|
||||
|
||||
Nb_drives++;
|
||||
}
|
||||
|
||||
// Rechercher la liste et le type des lecteurs de la machine
|
||||
|
||||
#if defined(__amigaos4__) || defined(__AROS__) || defined(__MORPHOS__)
|
||||
void bstrtostr( BSTR in, STRPTR out, TEXT max );
|
||||
#endif
|
||||
|
||||
/*
|
||||
void Rechercher_drives(void)
|
||||
{
|
||||
#if defined(__amigaos4__) || defined(__AROS__) || defined(__MORPHOS__)
|
||||
@ -188,14 +177,7 @@ void Rechercher_drives(void)
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
// Active un lecteur, changeant normalement le répertoire en cours.
|
||||
// Renvoie 0 si ok, -1 si problème.
|
||||
int ActiverLecteur(int NumeroLecteur)
|
||||
{
|
||||
return chdir(Drive[NumeroLecteur].Chemin);
|
||||
}
|
||||
|
||||
*/
|
||||
// Fonctions de lecture dans la skin de l'interface graphique
|
||||
void Chercher_bas(SDL_Surface *GUI, int *Debut_X, int *Debut_Y, byte Couleur_neutre,char * Section)
|
||||
{
|
||||
|
||||
2
init.h
2
init.h
@ -18,7 +18,6 @@
|
||||
write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
void Rechercher_drives(void);
|
||||
void Charger_DAT(void);
|
||||
void Initialisation_des_boutons(void);
|
||||
void Initialisation_des_operations(void);
|
||||
@ -26,6 +25,5 @@ int Charger_CFG(int Tout_charger);
|
||||
int Sauver_CFG(void);
|
||||
void Initialiser_les_tables_de_multiplication(void);
|
||||
void Definition_des_modes_video(void);
|
||||
int ActiverLecteur(int);
|
||||
void Config_par_defaut(void);
|
||||
void Initialiser_sighandler(void);
|
||||
|
||||
2
main.c
2
main.c
@ -304,8 +304,6 @@ void Initialisation_du_programme(int argc,char * argv[])
|
||||
// Choose directory for settings (read/write)
|
||||
Set_Config_Directory(Repertoire_du_programme,Repertoire_de_configuration);
|
||||
|
||||
// On détecte les lecteurs qui sont accessibles:
|
||||
Rechercher_drives();
|
||||
// On détermine le répertoire courant:
|
||||
Determiner_repertoire_courant();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user