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