Don't lose the filename when changing extension.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1583 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues 2010-08-22 16:39:20 +00:00
parent 715ddad331
commit 7efbe04c6a

View File

@ -77,6 +77,7 @@
// Returns 0 if all ok, something else if failed
byte Native_filesel(byte load)
{
load = load;
#ifdef __WIN32__
OPENFILENAME ofn;
char szFileName[MAX_PATH] = "";
@ -1419,23 +1420,37 @@ byte Button_Load_or_Save(byte load, T_IO_Context *context)
*quicksearch_filename=0;
break;
case 6 : // Scroller des formats
Hide_cursor();
// On met à jour le format de browsing du fileselect:
Main_format=Window_attribute2;
// Comme on change de liste, on se place en début de liste:
Main_fileselector_position=0;
Main_fileselector_offset=0;
// Affichage des premiers fichiers visibles:
Reload_list_of_files(Main_format,file_scroller);
Display_cursor();
New_preview_is_needed=1;
*quicksearch_filename=0;
case 6 : // Scroller des formats
// On met à jour le format de browsing du fileselect:
if (Main_format != Window_attribute2) {
char* savename = strdup(Selector_filename);
int nameLength = strlen(savename);
DEBUG(Selector_filename, 42);
Main_format = Window_attribute2;
// Comme on change de liste, on se place en début de liste:
Main_fileselector_position = 0;
Main_fileselector_offset = 0;
// Affichage des premiers fichiers visibles:
Hide_cursor();
Reload_list_of_files(Main_format, file_scroller);
New_preview_is_needed = 1;
*quicksearch_filename = 0;
strcpy(Selector_filename, savename);
if (Get_fileformat(Main_format)->Default_extension[0] != '\0' &&
Selector_filename[nameLength - 4] == '.')
{
strcpy(Selector_filename + nameLength - 3,
Get_fileformat(Main_format)->Default_extension);
}
free(savename);
Print_filename_in_fileselector();
Display_cursor();
}
break;
case 7 : // Saisie d'un commentaire pour la sauvegarde
if ( (!load) && (Get_fileformat(Main_format)->Comment) )
{
Readline(45,70,context->Comment,32,INPUT_TYPE_STRING);
Readline(45, 70, context->Comment, 32, INPUT_TYPE_STRING);
Display_cursor();
}
break;
@ -1458,7 +1473,7 @@ byte Button_Load_or_Save(byte load, T_IO_Context *context)
if(!Directory_exists(Selector_filename))
{
strcat(Selector_filename, ".");
strcat(Selector_filename,Get_fileformat(Main_format)->Default_extension);
strcat(Selector_filename, Get_fileformat(Main_format)->Default_extension);
}
}
else