mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-14 00:08:36 -07:00
Last part for 100% OFW compatile API
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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*
|
||||||
|
|||||||
|
Reference in New Issue
Block a user