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 // Returns 0 if all ok, something else if failed
byte Native_filesel(byte load) byte Native_filesel(byte load)
{ {
load = load;
#ifdef __WIN32__ #ifdef __WIN32__
OPENFILENAME ofn; OPENFILENAME ofn;
char szFileName[MAX_PATH] = ""; char szFileName[MAX_PATH] = "";
@ -1420,17 +1421,31 @@ byte Button_Load_or_Save(byte load, T_IO_Context *context)
break; break;
case 6 : // Scroller des formats case 6 : // Scroller des formats
Hide_cursor();
// On met à jour le format de browsing du fileselect: // 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; Main_format = Window_attribute2;
// Comme on change de liste, on se place en début de liste: // Comme on change de liste, on se place en début de liste:
Main_fileselector_position = 0; Main_fileselector_position = 0;
Main_fileselector_offset = 0; Main_fileselector_offset = 0;
// Affichage des premiers fichiers visibles: // Affichage des premiers fichiers visibles:
Hide_cursor();
Reload_list_of_files(Main_format, file_scroller); Reload_list_of_files(Main_format, file_scroller);
Display_cursor();
New_preview_is_needed = 1; New_preview_is_needed = 1;
*quicksearch_filename = 0; *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; break;
case 7 : // Saisie d'un commentaire pour la sauvegarde case 7 : // Saisie d'un commentaire pour la sauvegarde
if ( (!load) && (Get_fileformat(Main_format)->Comment) ) if ( (!load) && (Get_fileformat(Main_format)->Comment) )