mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-12 20:48:35 -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) {
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -32,6 +32,8 @@ typedef enum {
|
||||
(WorkerEvtStop | WorkerEvtLoad | WorkerEvtFolderEnter | WorkerEvtFolderExit | \
|
||||
WorkerEvtFolderRefresh | WorkerEvtConfigChange)
|
||||
|
||||
ARRAY_DEF(_idx_last_array, int32_t) // Unused, kept for compatibility
|
||||
|
||||
struct BrowserWorker {
|
||||
FuriThread* thread;
|
||||
|
||||
@@ -39,17 +41,20 @@ struct BrowserWorker {
|
||||
FuriString* path_start;
|
||||
FuriString* path_current;
|
||||
FuriString* path_next;
|
||||
bool keep_selection;
|
||||
int32_t _item_sel_idx; // Unused, kept for compatibility
|
||||
uint32_t load_offset;
|
||||
uint32_t load_count;
|
||||
bool skip_assets;
|
||||
bool hide_dot_files;
|
||||
_idx_last_array_t _idx_last; // Unused, kept for compatibility
|
||||
|
||||
void* cb_ctx;
|
||||
BrowserWorkerFolderOpenCallback folder_cb;
|
||||
BrowserWorkerListLoadCallback list_load_cb;
|
||||
BrowserWorkerListItemCallback list_item_cb;
|
||||
BrowserWorkerLongLoadCallback long_load_cb;
|
||||
|
||||
bool keep_selection;
|
||||
};
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
if(item_name != NULL) {
|
||||
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);
|
||||
}
|
||||
|
||||
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) {
|
||||
furi_assert(browser);
|
||||
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_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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user