summaryrefslogtreecommitdiff
path: root/apps/tree.h
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2022-12-05 20:05:15 +0100
committerChristian Soffke <christian.soffke@gmail.com>2022-12-08 00:38:59 -0500
commit66a411a1ba6d3668b002760ce2d26bca42db894f (patch)
tree6af403e9a03c3785f805be1d2600a806ceb61bae /apps/tree.h
parenta9a284c1a09f960a307d5eb9bcb9f4e92a1e7747 (diff)
downloadrockbox-66a411a1ba6d3668b002760ce2d26bca42db894f.tar.gz
rockbox-66a411a1ba6d3668b002760ce2d26bca42db894f.zip
Tree / Playlist Viewer / Menu: Fix redraw issues
1) Tree_lists was only initialized when booting the player. In cases where a skin used custom UI viewports of different sizes, when switching between screens, such as between root menu, QuickScreen, and tree browser, this caused list titles to appear with a significant delay, unless a GUI_EVENT_ACTIONUPDATE was sent. Tree_lists is now initialized when entering dirbrowse or when restoring/reloading the list. This eliminates multiple redundant UI refreshes when entering the tree browser, due to gui_synclist_draw not being called twice anymore and by being able to omit GUI_EVENT_ACTIONUPDATE. Separate calls to gui_synclist_init_display_settings have become unnecessary since it is already called by gui_synclist_init. 2) The synclist is also re-initialized when returning from the QuickScreen in the Playlist Viewer or regular menus, or when returning from Settings menus Change-Id: I2884249eda55f782e97abad9dc19b3d9d1267fc9
Diffstat (limited to 'apps/tree.h')
-rw-r--r--apps/tree.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/apps/tree.h b/apps/tree.h
index 56fdb2e0bb..bb9ff87163 100644
--- a/apps/tree.h
+++ b/apps/tree.h
@@ -102,7 +102,7 @@ struct entry* tree_get_entries(struct tree_context *t);
102struct entry* tree_get_entry_at(struct tree_context *t, int index); 102struct entry* tree_get_entry_at(struct tree_context *t, int index);
103 103
104void tree_mem_init(void) INIT_ATTR; 104void tree_mem_init(void) INIT_ATTR;
105void tree_gui_init(void) INIT_ATTR; 105void tree_init(void) INIT_ATTR;
106char* get_current_file(char* buffer, size_t buffer_len); 106char* get_current_file(char* buffer, size_t buffer_len);
107void set_dirfilter(int l_dirfilter); 107void set_dirfilter(int l_dirfilter);
108void set_current_file(const char *path); 108void set_current_file(const char *path);
@@ -133,5 +133,4 @@ void tree_restore(void);
133bool bookmark_play(char* resume_file, int index, unsigned long elapsed, 133bool bookmark_play(char* resume_file, int index, unsigned long elapsed,
134 unsigned long offset, int seed, char *filename); 134 unsigned long offset, int seed, char *filename);
135 135
136extern struct gui_synclist tree_lists;
137#endif 136#endif