فهرست منبع

[FL-2512] Archive favourites fixes (#1195)

* Archive favourites fixes
* Archive: navigation history fix

Co-authored-by: あく <alleteam@gmail.com>
Nikolay Minaylov 3 سال پیش
والد
کامیت
0c85b88873
2فایلهای تغییر یافته به همراه3 افزوده شده و 2 حذف شده
  1. 2 2
      applications/archive/helpers/archive_browser.c
  2. 1 0
      applications/archive/scenes/archive_scene_browser.c

+ 2 - 2
applications/archive/helpers/archive_browser.c

@@ -80,6 +80,7 @@ void archive_set_item_count(ArchiveBrowserView* browser, uint32_t count) {
             model->item_idx = CLAMP(model->item_idx, model->item_cnt - 1, 0);
             model->item_idx = CLAMP(model->item_idx, model->item_cnt - 1, 0);
             return false;
             return false;
         });
         });
+    archive_update_offset(browser);
 }
 }
 
 
 void archive_file_array_rm_selected(ArchiveBrowserView* browser) {
 void archive_file_array_rm_selected(ArchiveBrowserView* browser) {
@@ -396,8 +397,6 @@ void archive_enter_dir(ArchiveBrowserView* browser, string_t name) {
         return;
         return;
     }
     }
 
 
-    archive_dir_count_items(browser, string_get_cstr(name));
-
     if(string_cmp(browser->path, name) != 0) {
     if(string_cmp(browser->path, name) != 0) {
         with_view_model(
         with_view_model(
             browser->view, (ArchiveBrowserViewModel * model) {
             browser->view, (ArchiveBrowserViewModel * model) {
@@ -410,6 +409,7 @@ void archive_enter_dir(ArchiveBrowserView* browser, string_t name) {
         string_set(browser->path, name);
         string_set(browser->path, name);
     }
     }
 
 
+    archive_dir_count_items(browser, string_get_cstr(name));
     archive_switch_dir(browser, string_get_cstr(browser->path));
     archive_switch_dir(browser, string_get_cstr(browser->path));
 }
 }
 
 

+ 1 - 0
applications/archive/scenes/archive_scene_browser.c

@@ -95,6 +95,7 @@ bool archive_scene_browser_on_event(void* context, SceneManagerEvent event) {
             if(known_app) {
             if(known_app) {
                 archive_run_in_app(browser, selected);
                 archive_run_in_app(browser, selected);
             }
             }
+            archive_show_file_menu(browser, false);
             consumed = true;
             consumed = true;
             break;
             break;
         case ArchiveBrowserEventFileMenuPin:
         case ArchiveBrowserEventFileMenuPin: