Last part for 100% OFW compatile API

This commit is contained in:
Willy-JL
2023-08-29 02:22:15 +02:00
parent 4b333b3767
commit 3af56c2af8
4 changed files with 18 additions and 5 deletions

View File

@@ -676,6 +676,6 @@ void archive_refresh_dir(ArchiveBrowserView* browser) {
if(current != NULL) { if(current != NULL) {
path_extract_basename(furi_string_get_cstr(current->path), str); path_extract_basename(furi_string_get_cstr(current->path), str);
} }
file_browser_worker_folder_refresh(browser->worker, furi_string_get_cstr(str)); file_browser_worker_folder_refresh_sel(browser->worker, furi_string_get_cstr(str));
furi_string_free(str); furi_string_free(str);
} }

View File

@@ -32,6 +32,8 @@ typedef enum {
(WorkerEvtStop | WorkerEvtLoad | WorkerEvtFolderEnter | WorkerEvtFolderExit | \ (WorkerEvtStop | WorkerEvtLoad | WorkerEvtFolderEnter | WorkerEvtFolderExit | \
WorkerEvtFolderRefresh | WorkerEvtConfigChange) WorkerEvtFolderRefresh | WorkerEvtConfigChange)
ARRAY_DEF(_idx_last_array, int32_t) // Unused, kept for compatibility
struct BrowserWorker { struct BrowserWorker {
FuriThread* thread; FuriThread* thread;
@@ -39,17 +41,20 @@ struct BrowserWorker {
FuriString* path_start; FuriString* path_start;
FuriString* path_current; FuriString* path_current;
FuriString* path_next; FuriString* path_next;
bool keep_selection; int32_t _item_sel_idx; // Unused, kept for compatibility
uint32_t load_offset; uint32_t load_offset;
uint32_t load_count; uint32_t load_count;
bool skip_assets; bool skip_assets;
bool hide_dot_files; bool hide_dot_files;
_idx_last_array_t _idx_last; // Unused, kept for compatibility
void* cb_ctx; void* cb_ctx;
BrowserWorkerFolderOpenCallback folder_cb; BrowserWorkerFolderOpenCallback folder_cb;
BrowserWorkerListLoadCallback list_load_cb; BrowserWorkerListLoadCallback list_load_cb;
BrowserWorkerListItemCallback list_item_cb; BrowserWorkerListItemCallback list_item_cb;
BrowserWorkerLongLoadCallback long_load_cb; BrowserWorkerLongLoadCallback long_load_cb;
bool keep_selection;
}; };
static bool browser_path_is_file(FuriString* path) { static bool browser_path_is_file(FuriString* path) {
@@ -574,7 +579,7 @@ void file_browser_worker_folder_exit(BrowserWorker* browser) {
furi_thread_flags_set(furi_thread_get_id(browser->thread), WorkerEvtFolderExit); furi_thread_flags_set(furi_thread_get_id(browser->thread), WorkerEvtFolderExit);
} }
void file_browser_worker_folder_refresh(BrowserWorker* browser, const char* item_name) { void file_browser_worker_folder_refresh_sel(BrowserWorker* browser, const char* item_name) {
furi_assert(browser); furi_assert(browser);
if(item_name != NULL) { if(item_name != NULL) {
furi_string_set(browser->path_next, item_name); furi_string_set(browser->path_next, item_name);
@@ -584,6 +589,11 @@ void file_browser_worker_folder_refresh(BrowserWorker* browser, const char* item
furi_thread_flags_set(furi_thread_get_id(browser->thread), WorkerEvtFolderRefresh); furi_thread_flags_set(furi_thread_get_id(browser->thread), WorkerEvtFolderRefresh);
} }
void file_browser_worker_folder_refresh(BrowserWorker* browser, int32_t item_idx) {
UNUSED(item_idx);
file_browser_worker_folder_refresh_sel(browser, NULL);
}
void file_browser_worker_load(BrowserWorker* browser, uint32_t offset, uint32_t count) { void file_browser_worker_load(BrowserWorker* browser, uint32_t offset, uint32_t count) {
furi_assert(browser); furi_assert(browser);
browser->load_offset = offset; browser->load_offset = offset;

View File

@@ -70,7 +70,9 @@ bool file_browser_worker_is_in_start_folder(BrowserWorker* browser);
void file_browser_worker_folder_exit(BrowserWorker* browser); void file_browser_worker_folder_exit(BrowserWorker* browser);
void file_browser_worker_folder_refresh(BrowserWorker* browser, const char* item_name); void file_browser_worker_folder_refresh(BrowserWorker* browser, int32_t item_idx);
void file_browser_worker_folder_refresh_sel(BrowserWorker* browser, const char* item_name);
void file_browser_worker_load(BrowserWorker* browser, uint32_t offset, uint32_t count); void file_browser_worker_load(BrowserWorker* browser, uint32_t offset, uint32_t count);

View File

@@ -918,7 +918,8 @@ Function,+,file_browser_stop,void,FileBrowser*
Function,+,file_browser_worker_alloc,BrowserWorker*,"FuriString*, const char*, const char*, _Bool, _Bool" Function,+,file_browser_worker_alloc,BrowserWorker*,"FuriString*, const char*, const char*, _Bool, _Bool"
Function,+,file_browser_worker_folder_enter,void,"BrowserWorker*, FuriString*, int32_t" Function,+,file_browser_worker_folder_enter,void,"BrowserWorker*, FuriString*, int32_t"
Function,+,file_browser_worker_folder_exit,void,BrowserWorker* Function,+,file_browser_worker_folder_exit,void,BrowserWorker*
Function,+,file_browser_worker_folder_refresh,void,"BrowserWorker*, const char*" Function,+,file_browser_worker_folder_refresh,void,"BrowserWorker*, int32_t"
Function,+,file_browser_worker_folder_refresh_sel,void,"BrowserWorker*, const char*"
Function,+,file_browser_worker_free,void,BrowserWorker* Function,+,file_browser_worker_free,void,BrowserWorker*
Function,+,file_browser_worker_get_filter_ext,const char*,BrowserWorker* Function,+,file_browser_worker_get_filter_ext,const char*,BrowserWorker*
Function,+,file_browser_worker_is_in_start_folder,_Bool,BrowserWorker* Function,+,file_browser_worker_is_in_start_folder,_Bool,BrowserWorker*
1 entry status name type params
918 Function + file_browser_worker_alloc BrowserWorker* FuriString*, const char*, const char*, _Bool, _Bool
919 Function + file_browser_worker_folder_enter void BrowserWorker*, FuriString*, int32_t
920 Function + file_browser_worker_folder_exit void BrowserWorker*
921 Function + file_browser_worker_folder_refresh void BrowserWorker*, const char* BrowserWorker*, int32_t
922 Function + file_browser_worker_folder_refresh_sel void BrowserWorker*, const char*
923 Function + file_browser_worker_free void BrowserWorker*
924 Function + file_browser_worker_get_filter_ext const char* BrowserWorker*
925 Function + file_browser_worker_is_in_start_folder _Bool BrowserWorker*