Display unicode names in script factory as well
So in windows the long filename is shown instead of the short filename
This commit is contained in:
parent
db39392411
commit
b6c3852aad
@ -64,6 +64,8 @@ char * Bound_script[10];
|
||||
#define putenv _putenv
|
||||
#endif
|
||||
|
||||
#include "unicode.h"
|
||||
|
||||
///
|
||||
/// Number of characters for name in fileselector.
|
||||
/// Window is adjusted according to it.
|
||||
@ -2161,7 +2163,10 @@ void Draw_script_name(word x, word y, word index, byte highlighted)
|
||||
}
|
||||
}
|
||||
|
||||
Print_in_window(x, y, current_item->Short_name, fg,bg);
|
||||
if (current_item->Unicode_short_name != NULL)
|
||||
Print_in_window_unicode(x, y, current_item->Unicode_short_name, fg, bg);
|
||||
else
|
||||
Print_in_window(x, y, current_item->Short_name, fg,bg);
|
||||
|
||||
Update_window_area(x,y,NAME_WIDTH*8,8);
|
||||
}
|
||||
@ -2258,8 +2263,8 @@ void Draw_script_information(T_Fileselector_item * script_item, const char *full
|
||||
static void Add_script(void * pdata, const char *file_name, const word *unicode_name, byte is_file, byte is_directory, byte is_hidden)
|
||||
{
|
||||
int len;
|
||||
T_Fileselector_item * item;
|
||||
(void)pdata;
|
||||
(void)unicode_name;
|
||||
|
||||
if (is_file)
|
||||
{
|
||||
@ -2271,7 +2276,12 @@ static void Add_script(void * pdata, const char *file_name, const word *unicode_
|
||||
if (is_hidden && !Config.Show_hidden_files)
|
||||
return;
|
||||
|
||||
Add_element_to_list(&Scripts_selector, file_name, Format_filename(file_name, NAME_WIDTH+1, 0), 0, ICON_NONE);
|
||||
item = Add_element_to_list(&Scripts_selector, file_name, Format_filename(file_name, NAME_WIDTH+1, 0), 0, ICON_NONE);
|
||||
if (item != NULL && unicode_name != NULL)
|
||||
{
|
||||
item->Unicode_full_name = Unicode_strdup(unicode_name);
|
||||
item->Unicode_short_name = Unicode_strdup(Format_filename_unicode(unicode_name, NAME_WIDTH+1, 1));
|
||||
}
|
||||
}
|
||||
else if (is_directory)
|
||||
{
|
||||
@ -2285,7 +2295,12 @@ static void Add_script(void * pdata, const char *file_name, const word *unicode_
|
||||
if (is_hidden && !Config.Show_hidden_directories)
|
||||
return;
|
||||
|
||||
Add_element_to_list(&Scripts_selector, file_name, Format_filename(file_name, NAME_WIDTH+1, 1), 1, ICON_NONE);
|
||||
item = Add_element_to_list(&Scripts_selector, file_name, Format_filename(file_name, NAME_WIDTH+1, 1), 1, ICON_NONE);
|
||||
if (item != NULL && unicode_name != NULL)
|
||||
{
|
||||
item->Unicode_full_name = Unicode_strdup(unicode_name);
|
||||
item->Unicode_short_name = Unicode_strdup(Format_filename_unicode(unicode_name, NAME_WIDTH+1, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -498,8 +498,11 @@ static void Read_dir_callback(void * pdata, const char *file_name, const word *u
|
||||
|
||||
// Add to list
|
||||
item = Add_element_to_list(p->list, file_name, Format_filename(file_name, 19, 1), 1, ICON_NONE);
|
||||
item->Unicode_full_name = Unicode_strdup(unicode_name);
|
||||
item->Unicode_short_name = Unicode_strdup(Format_filename_unicode(unicode_name, 19, 1));
|
||||
if (item != NULL && unicode_name != NULL)
|
||||
{
|
||||
item->Unicode_full_name = Unicode_strdup(unicode_name);
|
||||
item->Unicode_short_name = Unicode_strdup(Format_filename_unicode(unicode_name, 19, 1));
|
||||
}
|
||||
p->list->Nb_directories++;
|
||||
}
|
||||
else if (is_file && // It's a file
|
||||
@ -512,8 +515,11 @@ static void Read_dir_callback(void * pdata, const char *file_name, const word *u
|
||||
{
|
||||
// Add to list
|
||||
item = Add_element_to_list(p->list, file_name, Format_filename(file_name, 19, 0), 0, ICON_NONE);
|
||||
item->Unicode_full_name = Unicode_strdup(unicode_name);
|
||||
item->Unicode_short_name = Unicode_strdup(Format_filename_unicode(unicode_name, 19, 0));
|
||||
if (item != NULL && unicode_name != NULL)
|
||||
{
|
||||
item->Unicode_full_name = Unicode_strdup(unicode_name);
|
||||
item->Unicode_short_name = Unicode_strdup(Format_filename_unicode(unicode_name, 19, 0));
|
||||
}
|
||||
p->list->Nb_files++;
|
||||
// Stop searching
|
||||
break;
|
||||
|
||||
@ -38,6 +38,8 @@ T_Fileselector_item * Add_element_to_list(T_Fileselector *list, const char * ful
|
||||
/// including the '\\0'.
|
||||
char * Format_filename(const char * fname, word max_length, int type);
|
||||
|
||||
word * Format_filename_unicode(const word * fname, word max_length, int type);
|
||||
|
||||
void Free_fileselector_list(T_Fileselector *list);
|
||||
|
||||
void Sort_list_of_files(T_Fileselector *list);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user