change directory and highlight file when pasting a file path
This commit is contained in:
parent
123fa86936
commit
b170fce29d
@ -2574,6 +2574,42 @@ byte Button_Load_or_Save(T_Selector_settings *settings, byte load, T_IO_Context
|
||||
preview_context.Type = CONTEXT_PREVIEW_PALETTE;
|
||||
|
||||
Load_image(&preview_context);
|
||||
if (load_from_clipboard && (preview_context.File_directory != NULL))
|
||||
{
|
||||
short pos;
|
||||
Change_directory(preview_context.File_directory);
|
||||
free(Selector->Directory);
|
||||
free(Selector->Directory_unicode);
|
||||
Selector->Directory = Get_current_directory(NULL, &Selector->Directory_unicode, 0);
|
||||
if ((preview_context.Format != FORMAT_CLIPBOARD) &&
|
||||
((int)Selector->Format_filter > (int)FORMAT_ALL_FILES))
|
||||
{
|
||||
Selector->Format_filter = preview_context.Format;
|
||||
// update dropdown button
|
||||
Print_in_window(68+2, 28+(11-7)/2,
|
||||
Get_fileformat(Selector->Format_filter)->Label,
|
||||
MC_Black,MC_Light);
|
||||
}
|
||||
// read the new directory
|
||||
Read_list_of_files(&Filelist, Selector->Format_filter);
|
||||
Sort_list_of_files(&Filelist);
|
||||
|
||||
if (preview_context.File_name != NULL)
|
||||
{
|
||||
free(Selector->filename);
|
||||
Selector->filename = strdup(preview_context.File_name);
|
||||
free(Selector->filename_unicode);
|
||||
Selector->filename_unicode = Get_Unicode_Filename(NULL, Selector->filename, ".");
|
||||
}
|
||||
|
||||
pos = Find_file_in_fileselector(&Filelist, Selector->filename);
|
||||
Highlight_file((pos >= 0) ? pos : 0);
|
||||
// display the 1st visible files
|
||||
Prepare_and_display_filelist(Selector->Position, Selector->Offset, file_scroller, 0);
|
||||
|
||||
// New directory, so we need to reset the quicksearch
|
||||
Reset_quicksearch();
|
||||
}
|
||||
Destroy_context(&preview_context);
|
||||
|
||||
Update_window_area(0,0,Window_width,Window_height);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user