summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2003-07-08 09:19:12 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2003-07-08 09:19:12 +0000
commit6e49e78c9bdda5655b0cef0d895ee801bbc6ed5e (patch)
tree68b25217195a77ee75fabcb4a3ee3834d77256cb /apps
parentadef8fb17e3990f9ee3d4d63374513108ec1a534 (diff)
downloadrockbox-6e49e78c9bdda5655b0cef0d895ee801bbc6ed5e.zip
rockbox-6e49e78c9bdda5655b0cef0d895ee801bbc6ed5e.tar.gz
rockbox-6e49e78c9bdda5655b0cef0d895ee801bbc6ed5e.tar.bz2
rockbox-6e49e78c9bdda5655b0cef0d895ee801bbc6ed5e.tar.xz
Henrik Backe's resume-with-ON-key patch (#767082). Now you can resume playback after STOP is pressed by just hitting the ON key to go to the WPS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3816 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/tree.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 29ca4df..d009f4e 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -540,7 +540,7 @@ static int showdir(char *path, int start)
return filesindir;
}
-static bool ask_resume(void)
+static bool ask_resume(bool ask_once)
{
#ifdef HAVE_LCD_CHARCELLS
lcd_double_height(false);
@@ -571,7 +571,7 @@ static bool ask_resume(void)
break;
}
- if ( global_settings.resume == RESUME_ASK_ONCE) {
+ if ( global_settings.resume == RESUME_ASK_ONCE && ask_once) {
global_settings.resume_index = -1;
settings_save();
}
@@ -613,7 +613,7 @@ void reload_directory(void)
reload_dir = true;
}
-static void start_resume(void)
+static void start_resume(bool ask_once)
{
if ( global_settings.resume &&
global_settings.resume_index != -1 ) {
@@ -621,7 +621,7 @@ static void start_resume(void)
global_settings.resume_index,
global_settings.resume_offset);
- if (!ask_resume())
+ if (!ask_resume(ask_once))
return;
if (playlist_resume() != -1)
@@ -817,7 +817,7 @@ static bool dirbrowse(char *root)
memcpy(currdir,root,sizeof(currdir));
- start_resume();
+ start_resume(true);
numentries = showdir(currdir, dirstart);
if (numentries == -1)
@@ -1159,6 +1159,11 @@ static bool dirbrowse(char *root)
#endif
restore = true;
}
+ else
+ {
+ start_resume(false);
+ restore = true;
+ }
}
break;