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:
		
							parent
							
								
									715ddad331
								
							
						
					
					
						commit
						7efbe04c6a
					
				@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user