diff --git a/applications/services/gui/modules/file_browser_worker.c b/applications/services/gui/modules/file_browser_worker.c index 5f2b14053..6f5461631 100644 --- a/applications/services/gui/modules/file_browser_worker.c +++ b/applications/services/gui/modules/file_browser_worker.c @@ -514,6 +514,21 @@ void file_browser_worker_set_config( furi_thread_flags_set(furi_thread_get_id(browser->thread), WorkerEvtConfigChange); } +const char* file_browser_worker_get_filter_ext(BrowserWorker* browser) { + furi_assert(browser); + return furi_string_get_cstr(browser->filter_extension); +} + +void file_browser_worker_set_filter_ext( + BrowserWorker* browser, + FuriString* path, + const char* filter_ext) { + furi_assert(browser); + furi_string_set(browser->path_next, path); + furi_string_set(browser->filter_extension, filter_ext); + furi_thread_flags_set(furi_thread_get_id(browser->thread), WorkerEvtConfigChange); +} + void file_browser_worker_folder_enter(BrowserWorker* browser, FuriString* path, int32_t item_idx) { furi_assert(browser); furi_string_set(browser->path_next, path); diff --git a/applications/services/gui/modules/file_browser_worker.h b/applications/services/gui/modules/file_browser_worker.h index 02d7266e3..b4b731092 100644 --- a/applications/services/gui/modules/file_browser_worker.h +++ b/applications/services/gui/modules/file_browser_worker.h @@ -58,6 +58,13 @@ void file_browser_worker_set_config( bool skip_assets, bool hide_dot_files); +const char* file_browser_worker_get_filter_ext(BrowserWorker* browser); + +void file_browser_worker_set_filter_ext( + BrowserWorker* browser, + FuriString* path, + const char* filter_ext); + void file_browser_worker_folder_enter(BrowserWorker* browser, FuriString* path, int32_t item_idx); bool file_browser_worker_is_in_start_folder(BrowserWorker* browser); diff --git a/firmware/targets/f7/api_symbols.csv b/firmware/targets/f7/api_symbols.csv index b7b141ced..97fa8b27b 100644 --- a/firmware/targets/f7/api_symbols.csv +++ b/firmware/targets/f7/api_symbols.csv @@ -931,10 +931,12 @@ Function,+,file_browser_worker_folder_enter,void,"BrowserWorker*, FuriString*, i Function,+,file_browser_worker_folder_exit,void,BrowserWorker* Function,+,file_browser_worker_folder_refresh,void,"BrowserWorker*, const char*" Function,+,file_browser_worker_free,void,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_load,void,"BrowserWorker*, uint32_t, uint32_t" Function,+,file_browser_worker_set_callback_context,void,"BrowserWorker*, void*" Function,+,file_browser_worker_set_config,void,"BrowserWorker*, FuriString*, const char*, _Bool, _Bool" +Function,+,file_browser_worker_set_filter_ext,void,"BrowserWorker*, FuriString*, const char*" Function,+,file_browser_worker_set_folder_callback,void,"BrowserWorker*, BrowserWorkerFolderOpenCallback" Function,+,file_browser_worker_set_item_callback,void,"BrowserWorker*, BrowserWorkerListItemCallback" Function,+,file_browser_worker_set_list_callback,void,"BrowserWorker*, BrowserWorkerListLoadCallback"