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();
|
Display_cursor();
|
||||||
|
|
||||||
Init_context_layered_image(&save_context, Main.backups->Pages->Filename, Main.backups->Pages->File_directory);
|
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);
|
Save_image(&save_context);
|
||||||
Destroy_context(&save_context);
|
Destroy_context(&save_context);
|
||||||
|
|
||||||
@ -3415,6 +3416,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
|||||||
byte old_cursor_shape;
|
byte old_cursor_shape;
|
||||||
T_IO_Context save_context;
|
T_IO_Context save_context;
|
||||||
static char filename [MAX_PATH_CHARACTERS];
|
static char filename [MAX_PATH_CHARACTERS];
|
||||||
|
static word filename_unicode[MAX_PATH_CHARACTERS];
|
||||||
static char directory[MAX_PATH_CHARACTERS];
|
static char directory[MAX_PATH_CHARACTERS];
|
||||||
T_Selector_settings * selector;
|
T_Selector_settings * selector;
|
||||||
|
|
||||||
@ -3422,6 +3424,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
|||||||
{
|
{
|
||||||
strcpy(filename, Main.backups->Pages->Filename);
|
strcpy(filename, Main.backups->Pages->Filename);
|
||||||
strcpy(directory, Main.backups->Pages->File_directory);
|
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);
|
Init_context_layered_image(&save_context, filename, directory);
|
||||||
save_context.Format = Main.fileformat;
|
save_context.Format = Main.fileformat;
|
||||||
selector = &Main.selector;
|
selector = &Main.selector;
|
||||||
@ -3430,6 +3433,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
|||||||
{
|
{
|
||||||
strcpy(filename, Brush_filename);
|
strcpy(filename, Brush_filename);
|
||||||
strcpy(directory, Brush_file_directory);
|
strcpy(directory, Brush_file_directory);
|
||||||
|
filename_unicode[0] = 0;
|
||||||
Init_context_brush(&save_context, filename, directory);
|
Init_context_brush(&save_context, filename, directory);
|
||||||
save_context.Format = Brush_fileformat;
|
save_context.Format = Brush_fileformat;
|
||||||
selector = &Brush_selector;
|
selector = &Brush_selector;
|
||||||
@ -3445,6 +3449,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
|||||||
dotpos = filename + strlen(filename);
|
dotpos = filename + strlen(filename);
|
||||||
strcpy(dotpos, ".pal");
|
strcpy(dotpos, ".pal");
|
||||||
|
|
||||||
|
filename_unicode[0] = 0;
|
||||||
strcpy(directory, Main.backups->Pages->File_directory);
|
strcpy(directory, Main.backups->Pages->File_directory);
|
||||||
Init_context_layered_image(&save_context, filename, directory);
|
Init_context_layered_image(&save_context, filename, directory);
|
||||||
save_context.Type = CONTEXT_PALETTE;
|
save_context.Type = CONTEXT_PALETTE;
|
||||||
@ -3456,6 +3461,7 @@ void Save_picture(enum CONTEXT_TYPE type)
|
|||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
save_context.File_name_unicode = filename_unicode;
|
||||||
confirm=Button_Load_or_Save(selector, 0, &save_context);
|
confirm=Button_Load_or_Save(selector, 0, &save_context);
|
||||||
|
|
||||||
if (confirm && File_exists(save_context.File_name))
|
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)
|
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 previous_directory[MAX_PATH_CHARACTERS]; // Répertoire d'où l'on vient après un CHDIR
|
||||||
char save_filename[MAX_PATH_CHARACTERS];
|
char save_filename[MAX_PATH_CHARACTERS];
|
||||||
|
word save_filename_unicode[MAX_PATH_CHARACTERS];
|
||||||
char initial_comment[COMMENT_SIZE+1];
|
char initial_comment[COMMENT_SIZE+1];
|
||||||
short window_shortcut;
|
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
|
// On initialise le nom de fichier à celui en cours et non pas celui sous
|
||||||
// la barre de sélection
|
// la barre de sélection
|
||||||
strcpy(Selector_filename,context->File_name);
|
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
|
// On affiche le nouveau nom de fichier
|
||||||
Print_filename_in_fileselector();
|
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
|
case 8 : // Saisie du nom de fichier
|
||||||
{
|
{
|
||||||
char filename_ansi[256];
|
char filename_ansi[256];
|
||||||
|
word filename_unicode[256];
|
||||||
|
|
||||||
// Save the filename
|
// Save the filename
|
||||||
strcpy(save_filename, Selector_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 :
|
// Check if the selected entry is a drive/directory :
|
||||||
// in, this case, clear the filename
|
// in, this case, clear the filename
|
||||||
if (Filelist.Nb_elements>0)
|
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';
|
Selector_filename[0]='\0';
|
||||||
}
|
}
|
||||||
strncpy(filename_ansi, Selector_filename, sizeof(filename_ansi));
|
strncpy(filename_ansi, Selector_filename, sizeof(filename_ansi));
|
||||||
|
Unicode_strlcpy(filename_unicode, Selector_filename_unicode, sizeof(filename_unicode)/sizeof(word));
|
||||||
#ifdef ENABLE_FILENAMES_ICONV
|
#ifdef ENABLE_FILENAMES_ICONV
|
||||||
{ /* convert from UTF8 to ANSI */
|
{ /* convert from UTF8 to ANSI */
|
||||||
char * input = (char *)Selector_filename;
|
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
|
// Restore the old filename
|
||||||
strcpy(Selector_filename, save_filename);
|
strcpy(Selector_filename, save_filename);
|
||||||
|
Unicode_strlcpy(Selector_filename_unicode, save_filename_unicode, sizeof(Selector_filename_unicode)/sizeof(word));
|
||||||
Print_filename_in_fileselector();
|
Print_filename_in_fileselector();
|
||||||
}
|
}
|
||||||
Display_cursor();
|
Display_cursor();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user