pass unicode name when clicking Load or Save button
This commit is contained in:
parent
2911d61ab1
commit
9fb6d650b5
@ -639,6 +639,7 @@ byte Button_Quit_local_function(void)
|
||||
Display_cursor();
|
||||
|
||||
Init_context_layered_image(&save_context, Main.backups->Pages->Filename, Main.backups->Pages->File_directory);
|
||||
save_context.File_name_unicode = Main.backups->Pages->Filename_unicode;
|
||||
Save_image(&save_context);
|
||||
Destroy_context(&save_context);
|
||||
|
||||
@ -3415,6 +3416,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
||||
byte old_cursor_shape;
|
||||
T_IO_Context save_context;
|
||||
static char filename [MAX_PATH_CHARACTERS];
|
||||
static word filename_unicode[MAX_PATH_CHARACTERS];
|
||||
static char directory[MAX_PATH_CHARACTERS];
|
||||
T_Selector_settings * selector;
|
||||
|
||||
@ -3422,6 +3424,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
||||
{
|
||||
strcpy(filename, Main.backups->Pages->Filename);
|
||||
strcpy(directory, Main.backups->Pages->File_directory);
|
||||
Unicode_strlcpy(filename_unicode, Main.backups->Pages->Filename_unicode, MAX_PATH_CHARACTERS);
|
||||
Init_context_layered_image(&save_context, filename, directory);
|
||||
save_context.Format = Main.fileformat;
|
||||
selector = &Main.selector;
|
||||
@ -3430,6 +3433,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
||||
{
|
||||
strcpy(filename, Brush_filename);
|
||||
strcpy(directory, Brush_file_directory);
|
||||
filename_unicode[0] = 0;
|
||||
Init_context_brush(&save_context, filename, directory);
|
||||
save_context.Format = Brush_fileformat;
|
||||
selector = &Brush_selector;
|
||||
@ -3445,6 +3449,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
||||
dotpos = filename + strlen(filename);
|
||||
strcpy(dotpos, ".pal");
|
||||
|
||||
filename_unicode[0] = 0;
|
||||
strcpy(directory, Main.backups->Pages->File_directory);
|
||||
Init_context_layered_image(&save_context, filename, directory);
|
||||
save_context.Type = CONTEXT_PALETTE;
|
||||
@ -3456,6 +3461,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
||||
else
|
||||
return;
|
||||
|
||||
save_context.File_name_unicode = filename_unicode;
|
||||
confirm=Button_Load_or_Save(selector, 0, &save_context);
|
||||
|
||||
if (confirm && File_exists(save_context.File_name))
|
||||
|
||||
@ -1534,6 +1534,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context
|
||||
byte initial_back_color; // preview destroys it (how nice)
|
||||
char previous_directory[MAX_PATH_CHARACTERS]; // Répertoire d'où l'on vient après un CHDIR
|
||||
char save_filename[MAX_PATH_CHARACTERS];
|
||||
word save_filename_unicode[MAX_PATH_CHARACTERS];
|
||||
char initial_comment[COMMENT_SIZE+1];
|
||||
short window_shortcut;
|
||||
|
||||
@ -1668,7 +1669,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context
|
||||
// On initialise le nom de fichier à celui en cours et non pas celui sous
|
||||
// la barre de sélection
|
||||
strcpy(Selector_filename,context->File_name);
|
||||
Selector_filename_unicode[0] = 0; // TODO : retrieve unicode filename
|
||||
Unicode_strlcpy(Selector_filename_unicode, context->File_name_unicode, 256);
|
||||
// On affiche le nouveau nom de fichier
|
||||
Print_filename_in_fileselector();
|
||||
}
|
||||
@ -1888,9 +1889,11 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context
|
||||
case 8 : // Saisie du nom de fichier
|
||||
{
|
||||
char filename_ansi[256];
|
||||
word filename_unicode[256];
|
||||
|
||||
// Save the filename
|
||||
strcpy(save_filename, Selector_filename);
|
||||
Unicode_strlcpy(save_filename_unicode, Selector_filename_unicode, MAX_PATH_CHARACTERS);
|
||||
// Check if the selected entry is a drive/directory :
|
||||
// in, this case, clear the filename
|
||||
if (Filelist.Nb_elements>0)
|
||||
@ -1902,6 +1905,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context
|
||||
Selector_filename[0]='\0';
|
||||
}
|
||||
strncpy(filename_ansi, Selector_filename, sizeof(filename_ansi));
|
||||
Unicode_strlcpy(filename_unicode, Selector_filename_unicode, sizeof(filename_unicode)/sizeof(word));
|
||||
#ifdef ENABLE_FILENAMES_ICONV
|
||||
{ /* convert from UTF8 to ANSI */
|
||||
char * input = (char *)Selector_filename;
|
||||
@ -1978,6 +1982,7 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context
|
||||
{
|
||||
// Restore the old filename
|
||||
strcpy(Selector_filename, save_filename);
|
||||
Unicode_strlcpy(Selector_filename_unicode, save_filename_unicode, sizeof(Selector_filename_unicode)/sizeof(word));
|
||||
Print_filename_in_fileselector();
|
||||
}
|
||||
Display_cursor();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user