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
|
#define putenv _putenv
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "unicode.h"
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Number of characters for name in fileselector.
|
/// Number of characters for name in fileselector.
|
||||||
/// Window is adjusted according to it.
|
/// 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);
|
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)
|
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;
|
int len;
|
||||||
|
T_Fileselector_item * item;
|
||||||
(void)pdata;
|
(void)pdata;
|
||||||
(void)unicode_name;
|
|
||||||
|
|
||||||
if (is_file)
|
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)
|
if (is_hidden && !Config.Show_hidden_files)
|
||||||
return;
|
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)
|
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)
|
if (is_hidden && !Config.Show_hidden_directories)
|
||||||
return;
|
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
|
// Add to list
|
||||||
item = Add_element_to_list(p->list, file_name, Format_filename(file_name, 19, 1), 1, ICON_NONE);
|
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);
|
if (item != NULL && unicode_name != NULL)
|
||||||
item->Unicode_short_name = Unicode_strdup(Format_filename_unicode(unicode_name, 19, 1));
|
{
|
||||||
|
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++;
|
p->list->Nb_directories++;
|
||||||
}
|
}
|
||||||
else if (is_file && // It's a file
|
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
|
// Add to list
|
||||||
item = Add_element_to_list(p->list, file_name, Format_filename(file_name, 19, 0), 0, ICON_NONE);
|
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);
|
if (item != NULL && unicode_name != NULL)
|
||||||
item->Unicode_short_name = Unicode_strdup(Format_filename_unicode(unicode_name, 19, 0));
|
{
|
||||||
|
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++;
|
p->list->Nb_files++;
|
||||||
// Stop searching
|
// Stop searching
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -38,6 +38,8 @@ T_Fileselector_item * Add_element_to_list(T_Fileselector *list, const char * ful
|
|||||||
/// including the '\\0'.
|
/// including the '\\0'.
|
||||||
char * Format_filename(const char * fname, word max_length, int type);
|
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 Free_fileselector_list(T_Fileselector *list);
|
||||||
|
|
||||||
void Sort_list_of_files(T_Fileselector *list);
|
void Sort_list_of_files(T_Fileselector *list);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user