mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-14 02:38:35 -07:00
Merge pull request #449 from flipperdevices/aku/browser_navigation
Aku/browser navigation
This commit is contained in:
@@ -271,8 +271,7 @@ void archive_file_array_load(ArchiveBrowserView* browser, int8_t dir) {
|
|||||||
offset_new = model->item_idx - FILE_LIST_BUF_LEN / 4 * 1;
|
offset_new = model->item_idx - FILE_LIST_BUF_LEN / 4 * 1;
|
||||||
}
|
}
|
||||||
if(offset_new > 0) {
|
if(offset_new > 0) {
|
||||||
offset_new =
|
offset_new = CLAMP(offset_new, (int32_t)model->item_cnt, 0);
|
||||||
CLAMP(offset_new, (int32_t)model->item_cnt - FILE_LIST_BUF_LEN, 0);
|
|
||||||
} else {
|
} else {
|
||||||
offset_new = 0;
|
offset_new = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#define TAB_RIGHT InputKeyRight // Default tab swith direction
|
#define TAB_RIGHT InputKeyRight // Default tab swith direction
|
||||||
#define TAB_DEFAULT ArchiveTabFavorites // Start tab
|
#define TAB_DEFAULT ArchiveTabFavorites // Start tab
|
||||||
#define FILE_LIST_BUF_LEN 100
|
#define FILE_LIST_BUF_LEN 50
|
||||||
|
|
||||||
static const char* tab_default_paths[] = {
|
static const char* tab_default_paths[] = {
|
||||||
[ArchiveTabFavorites] = "/app:favorites",
|
[ArchiveTabFavorites] = "/app:favorites",
|
||||||
|
|||||||
@@ -250,7 +250,10 @@ static bool browser_is_item_in_array(FileBrowserModel* model, uint32_t idx) {
|
|||||||
|
|
||||||
static bool browser_is_list_load_required(FileBrowserModel* model) {
|
static bool browser_is_list_load_required(FileBrowserModel* model) {
|
||||||
size_t array_size = items_array_size(model->items);
|
size_t array_size = items_array_size(model->items);
|
||||||
uint32_t item_cnt = (model->is_root) ? model->item_cnt : model->item_cnt - 1;
|
if((array_size > 0) && (!model->is_root) && (model->array_offset == 0)) {
|
||||||
|
array_size--;
|
||||||
|
}
|
||||||
|
uint32_t item_cnt = (model->is_root) ? (model->item_cnt) : (model->item_cnt - 1);
|
||||||
|
|
||||||
if((model->list_loading) || (array_size >= item_cnt)) {
|
if((model->list_loading) || (array_size >= item_cnt)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -548,7 +551,7 @@ static bool file_browser_view_input_callback(InputEvent* event, void* context) {
|
|||||||
model->list_loading = true;
|
model->list_loading = true;
|
||||||
int32_t load_offset = CLAMP(
|
int32_t load_offset = CLAMP(
|
||||||
model->item_idx - ITEM_LIST_LEN_MAX / 4 * 3,
|
model->item_idx - ITEM_LIST_LEN_MAX / 4 * 3,
|
||||||
(int32_t)model->item_cnt - ITEM_LIST_LEN_MAX,
|
(int32_t)model->item_cnt,
|
||||||
0);
|
0);
|
||||||
file_browser_worker_load(
|
file_browser_worker_load(
|
||||||
browser->worker, load_offset, ITEM_LIST_LEN_MAX);
|
browser->worker, load_offset, ITEM_LIST_LEN_MAX);
|
||||||
@@ -559,7 +562,7 @@ static bool file_browser_view_input_callback(InputEvent* event, void* context) {
|
|||||||
model->list_loading = true;
|
model->list_loading = true;
|
||||||
int32_t load_offset = CLAMP(
|
int32_t load_offset = CLAMP(
|
||||||
model->item_idx - ITEM_LIST_LEN_MAX / 4 * 1,
|
model->item_idx - ITEM_LIST_LEN_MAX / 4 * 1,
|
||||||
(int32_t)model->item_cnt - ITEM_LIST_LEN_MAX,
|
(int32_t)model->item_cnt,
|
||||||
0);
|
0);
|
||||||
file_browser_worker_load(
|
file_browser_worker_load(
|
||||||
browser->worker, load_offset, ITEM_LIST_LEN_MAX);
|
browser->worker, load_offset, ITEM_LIST_LEN_MAX);
|
||||||
|
|||||||
Reference in New Issue
Block a user