GrafX2 2.9.3227
The ultimate 256-color painting program
|
Fileselector window, used for loading and saving images and brushes. More...
Functions | |
byte | Button_Load_or_Save (T_Selector_settings *settings, byte load, T_IO_Context *context) |
Launch the Load/Save dialog (file selector) More... | |
void | Free_fileselector_list (T_Fileselector *list) |
This function free all item in the list, but not the list itself. More... | |
void | Sort_list_of_files (T_Fileselector *list) |
Sort a file/directory list. More... | |
T_Fileselector_item * | Get_item_by_index (T_Fileselector *list, unsigned short index) |
Fast access to a list item. More... | |
void | Read_list_of_drives (T_Fileselector *list, byte name_length) |
short | Find_file_in_fileselector (T_Fileselector *list, const char *fname) |
Look for a file name in a file selector list. More... | |
void | Locate_list_item (T_List_button *list, short selected_item) |
int | Quicksearch_list (T_List_button *list, T_Fileselector *selector) |
void | Reset_quicksearch (void) |
Reset the current quicksearch string. More... | |
Fileselector window, used for loading and saving images and brushes.
byte Button_Load_or_Save | ( | T_Selector_settings * | settings, |
byte | load, | ||
T_IO_Context * | context | ||
) |
Launch the Load/Save dialog (file selector)
settings | the settings associated with this file selector |
load | 1 for a load dialog, 0 for a save |
context | the IO context |
References Back_color, T_Config::Bookmark_directory, T_Config::Bookmark_label, BUTTON_HELP, BUTTON_LOAD, BUTTON_SAVE, Calculate_relative_path(), Change_directory(), Check_timer(), Close_window(), T_IO_Context::Comment, T_Format::Comment, COMMENT_SIZE, Compute_click_offset_in_fileselector(), Compute_optimal_menu_colors(), Config, Confirmation_box(), CONTEXT_BRUSH, CONTEXT_MAIN_IMAGE, CONTEXT_PALETTE, CONTEXT_PREVIEW_PALETTE, Data_directory, T_Format::Default_extension, DEFAULT_FILEFORMAT, Destroy_context(), T_Selector_settings::Directory, Directory_exists(), T_Selector_settings::Directory_unicode, Display_bookmark(), Display_cursor(), Display_file_list(), Display_menu(), Error, Extract_filename(), T_IO_Context::File_directory, File_exists(), File_formats, T_IO_Context::File_name, T_IO_Context::File_name_unicode, Filelist, T_Selector_settings::filename, FILENAME_COMPARE, T_Selector_settings::filename_unicode, Find_file_in_fileselector(), Find_last_separator(), T_Fileselector::First, T_IO_Context::Format, format, FORMAT_ALL_FILES, FORMAT_CLIPBOARD, T_Selector_settings::Format_filter, Free_fileselector_list(), FSOBJECT_DIR, FSOBJECT_DRIVE, FSOBJECT_FILE, T_Fileselector_item::Full_name, Get_current_directory(), Get_fileformat(), Get_item_by_index(), Get_selected_item(), Get_Unicode_Filename(), GFX2_DEBUG, GFX2_INFO, GFX2_Log(), GFX2_WARNING, Hide_cursor, Highlight_file(), ICON_STAR, Init_chrono(), Init_context_preview(), INPUT_TYPE_FILENAME, INPUT_TYPE_STRING, Is_shortcut(), Key, KEY_BACKSPACE, KEY_DELETE, KEY_DOWN, KEY_END, KEY_ESC, KEY_HOME, KEY_MOUSEWHEELDOWN, KEY_MOUSEWHEELUP, KEY_NONE, KEY_PAGEDOWN, KEY_PAGEUP, KEY_RETURN, KEY_UNKNOWN, KEY_UP, T_Format::Label, LEFT_SIDE, Load, Load_image(), Main, MC_Black, MC_Dark, MC_Light, Menu_factor_Y, Menu_Y_before_window, Mouse_K, NB_BOOKMARKS, T_Fileselector::Nb_directories, T_Fileselector::Nb_elements, Nb_known_formats(), New_preview_is_needed, NULL, T_Selector_settings::Offset, Open_window(), T_Document::palette, T_Format::Palette_only, PARENT_DIR, T_Selector_settings::Position, Position_last_dot(), Position_last_dot_unicode(), Prepare_and_display_filelist(), PREVIEW_HEIGHT, PREVIEW_WIDTH, Print_filename_in_fileselector(), Print_in_window(), Quicksearch(), Quit_is_required, Read_list_of_drives(), Read_list_of_files(), Readline(), Readline_ex(), Readline_ex_unicode(), Reload_list_of_files(), Remove_directory(), Remove_path(), Reset_quicksearch(), RIGHT_SIDE, T_Format::Save, Save, Save_image(), Scroll_fileselector(), Selected_type, Selector, Selector_end(), Selector_home(), Selector_page_down(), Selector_page_up(), Selector_scroll_down(), Selector_scroll_up(), Set_palette(), SHORTCUT_COPY, SHORTCUT_PASTE, Sort_list_of_files(), SPECIAL_LOAD_BRUSH, SPECIAL_SAVE_BRUSH, T_Config::Timer_delay, Timer_state, T_IO_Context::Type, T_Fileselector_item::Type, Unicode_char_strlcat(), Unicode_char_strlcpy(), Unicode_strdup(), Unicode_strlcpy(), Unicode_strlen(), Unselect_button(), Update_window_area, Wait_end_of_click(), Window_attribute2, Window_clicked_button(), Window_display_frame_in(), Window_display_icon_sprite(), Window_dropdown_add_item(), Window_height, Window_help(), Window_pos_Y, Window_rectangle(), Window_set_dropdown_button(), Window_set_input_button(), Window_set_normal_button(), Window_set_scroller_button(), Window_set_special_button(), Window_width, and Windows_open.
Referenced by Load_picture(), and Save_picture().
void Free_fileselector_list | ( | T_Fileselector * | list | ) |
This function free all item in the list, but not the list itself.
list | the linked list |
References T_Fileselector::First, T_Fileselector_item::Next, NULL, Recount_files(), T_Fileselector_item::Unicode_full_name, and T_Fileselector_item::Unicode_short_name.
Referenced by Button_Load_or_Save(), Button_Skins(), Read_list_of_drives(), and Read_list_of_files().
void Sort_list_of_files | ( | T_Fileselector * | list | ) |
Sort a file/directory list.
The sord is done in that order : Directories first, in alphabetical order, then Files, in alphabetical order.
List counts and index are updated.
list | the linked list |
References FILENAME_COMPARE, FILENAME_COMPARE_UNICODE, T_Fileselector::First, T_Fileselector_item::Full_name, T_Fileselector_item::Next, NULL, PARENT_DIR, T_Fileselector_item::Previous, Recount_files(), T_Fileselector_item::Type, and T_Fileselector_item::Unicode_full_name.
Referenced by Button_Load_or_Save(), Button_Skins(), and Reload_list_of_files().
T_Fileselector_item * Get_item_by_index | ( | T_Fileselector * | list, |
unsigned short | index | ||
) |
Fast access to a list item.
list | the linked list |
index | the item index to access |
References T_Fileselector::First, T_Fileselector::Index, T_Fileselector::Nb_elements, T_Fileselector_item::Next, and NULL.
Referenced by Button_Load_or_Save(), Button_Skins(), Display_file_list(), Draw_one_skin_name(), and Get_selected_item().
void Read_list_of_drives | ( | T_Fileselector * | list, |
byte | name_length | ||
) |
References Add_element_to_list(), Format_filename(), Free_fileselector_list(), FSOBJECT_DRIVE, GFX2_DEBUG, GFX2_Log(), icon, ICON_CDROM, ICON_FLOPPY_3_5, ICON_HDD, ICON_NETWORK, ICON_NONE, Read_dir_pdata::list, mount_entry::me_devname, mount_entry::me_dummy, mount_entry::me_mountdir, mount_entry::me_next, mount_entry::me_remote, mount_entry::me_type, mount_entry::me_type_malloced, T_Fileselector::Nb_directories, T_Fileselector::Nb_files, NULL, read_file_system_list(), and Recount_files().
Referenced by Button_Load_or_Save().
short Find_file_in_fileselector | ( | T_Fileselector * | list, |
const char * | fname | ||
) |
Look for a file name in a file selector list.
list | The file selector list |
fname | The file name to search for |
References T_Fileselector::First, T_Fileselector_item::Full_name, T_Fileselector_item::Next, and NULL.
Referenced by Button_Load_or_Save(), and Button_Skins().
void Locate_list_item | ( | T_List_button * | list, |
short | selected_item | ||
) |
References T_List_button::Cursor_position, T_List_button::List_start, T_Scroller_button::Nb_elements, T_Scroller_button::Nb_visibles, and T_List_button::Scroller.
Referenced by Quicksearch_list().
int Quicksearch_list | ( | T_List_button * | list, |
T_Fileselector * | selector | ||
) |
void Reset_quicksearch | ( | void | ) |
Reset the current quicksearch string.
References quicksearch_filename.
Referenced by Button_Load_or_Save(), and Quicksearch().