mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 13:12:37 -05:00
PictureFlow: Offer to update cache if tracks not retrievable
Present user with a prompt, so that they don't have to manually execute "Update cache" from the settings menu after a database update Change-Id: Ie2157f04329e8ffc10afbeb047486fe4b0b70bcf
This commit is contained in:
parent
003da4d223
commit
8d50ac7773
1 changed files with 34 additions and 3 deletions
|
|
@ -3983,7 +3983,7 @@ static void show_track_list_loading(void)
|
||||||
/**
|
/**
|
||||||
Display the list of tracks
|
Display the list of tracks
|
||||||
*/
|
*/
|
||||||
static void show_track_list(void)
|
static bool show_track_list(void)
|
||||||
{
|
{
|
||||||
mylcd_clear_display();
|
mylcd_clear_display();
|
||||||
if ( center_slide.slide_index != pf_tracks.cur_idx ) {
|
if ( center_slide.slide_index != pf_tracks.cur_idx ) {
|
||||||
|
|
@ -3996,7 +3996,7 @@ static void show_track_list(void)
|
||||||
{
|
{
|
||||||
pf_state = pf_cover_out;
|
pf_state = pf_cover_out;
|
||||||
free_borrowed_tracks();
|
free_borrowed_tracks();
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
reset_track_list();
|
reset_track_list();
|
||||||
}
|
}
|
||||||
|
|
@ -4030,6 +4030,8 @@ static void show_track_list(void)
|
||||||
mylcd_putsxy(titletxt_x,titletxt_y,trackname);
|
mylcd_putsxy(titletxt_x,titletxt_y,trackname);
|
||||||
titletxt_y += titletxt_h;
|
titletxt_y += titletxt_h;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void select_next_track(void)
|
static void select_next_track(void)
|
||||||
|
|
@ -4642,6 +4644,32 @@ static bool reinit(void)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool prompt_reinit(void)
|
||||||
|
{
|
||||||
|
const struct text_message prompt = {
|
||||||
|
(const char*[]) {ID2P(LANG_TAGCACHE_BUSY), ID2P(LANG_TAGCACHE_UPDATE)}, 2};
|
||||||
|
#ifdef USEGSLIB
|
||||||
|
grey_show(false);
|
||||||
|
#endif
|
||||||
|
if (rb->gui_syncyesno_run(&prompt, NULL, NULL) == YESNO_YES)
|
||||||
|
{
|
||||||
|
pf_cfg.update_albumart = true;
|
||||||
|
pf_cfg.cache_version = CACHE_REBUILD;
|
||||||
|
rb->remove(EMPTY_SLIDE);
|
||||||
|
configfile_save(CONFIG_FILE, config, CONFIG_NUM_ITEMS, CONFIG_VERSION);
|
||||||
|
if (!reinit())
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#ifdef USEGSLIB
|
||||||
|
grey_show(true);
|
||||||
|
#endif
|
||||||
|
mylcd_set_drawmode(DRMODE_FG);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Main function that also contain the main plasma
|
Main function that also contain the main plasma
|
||||||
algorithm.
|
algorithm.
|
||||||
|
|
@ -4687,7 +4715,8 @@ static int pictureflow_main(void)
|
||||||
instant_update = true;
|
instant_update = true;
|
||||||
break;
|
break;
|
||||||
case pf_show_tracks:
|
case pf_show_tracks:
|
||||||
show_track_list();
|
if (!show_track_list() && !prompt_reinit())
|
||||||
|
return PLUGIN_OK;
|
||||||
break;
|
break;
|
||||||
case pf_idle:
|
case pf_idle:
|
||||||
show_tracks_while_browsing = false;
|
show_tracks_while_browsing = false;
|
||||||
|
|
@ -4887,6 +4916,8 @@ static int pictureflow_main(void)
|
||||||
context_menu_cleanup();
|
context_menu_cleanup();
|
||||||
if ( ret != 0 ) return ret;
|
if ( ret != 0 ) return ret;
|
||||||
}
|
}
|
||||||
|
else if (!prompt_reinit())
|
||||||
|
return PLUGIN_OK;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue