summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/bookmark.c8
-rw-r--r--apps/menus/time_menu.c3
-rw-r--r--apps/misc.h5
-rw-r--r--apps/playlist_viewer.c2
-rw-r--r--apps/root_menu.c10
-rw-r--r--manual/appendix/wps_tags.tex3
6 files changed, 24 insertions, 7 deletions
diff --git a/apps/bookmark.c b/apps/bookmark.c
index 434ac2aa95..9726970640 100644
--- a/apps/bookmark.c
+++ b/apps/bookmark.c
@@ -149,13 +149,17 @@ bool bookmark_load_menu(void)
149/* ----------------------------------------------------------------------- */ 149/* ----------------------------------------------------------------------- */
150bool bookmark_mrb_load() 150bool bookmark_mrb_load()
151{ 151{
152 char* bookmark = select_bookmark(RECENT_BOOKMARK_FILE, false); 152 char* bookmark;
153 bool ret = false;
153 154
155 push_current_activity(ACTIVITY_BOOKMARKSLIST);
156 bookmark = select_bookmark(RECENT_BOOKMARK_FILE, false);
154 if (bookmark != NULL) 157 if (bookmark != NULL)
155 { 158 {
156 return play_bookmark(bookmark); 159 ret = play_bookmark(bookmark);
157 } 160 }
158 161
162 pop_current_activity();
159 return false; 163 return false;
160} 164}
161 165
diff --git a/apps/menus/time_menu.c b/apps/menus/time_menu.c
index b4ed207f5c..92bb72f896 100644
--- a/apps/menus/time_menu.c
+++ b/apps/menus/time_menu.c
@@ -254,6 +254,8 @@ int time_screen(void* ignored)
254 int i, nb_lines, font_h, ret; 254 int i, nb_lines, font_h, ret;
255 menu_was_pressed = false; 255 menu_was_pressed = false;
256 256
257 push_current_activity(ACTIVITY_TIMEDATESCREEN);
258
257 FOR_NB_SCREENS(i) 259 FOR_NB_SCREENS(i)
258 { 260 {
259 viewport_set_defaults(&clock_vps[i], i); 261 viewport_set_defaults(&clock_vps[i], i);
@@ -283,6 +285,7 @@ int time_screen(void* ignored)
283 } 285 }
284 286
285 ret = do_menu(&time_menu, NULL, menu, false); 287 ret = do_menu(&time_menu, NULL, menu, false);
288 pop_current_activity();
286 /* see comments above in the button callback */ 289 /* see comments above in the button callback */
287 if (!menu_was_pressed && ret == GO_TO_PREVIOUS) 290 if (!menu_was_pressed && ret == GO_TO_PREVIOUS)
288 return 0; 291 return 0;
diff --git a/apps/misc.h b/apps/misc.h
index 1fbff9eb2a..bfe6e5b449 100644
--- a/apps/misc.h
+++ b/apps/misc.h
@@ -116,7 +116,10 @@ enum current_activity {
116 ACTIVITY_OPTIONSELECT, 116 ACTIVITY_OPTIONSELECT,
117 ACTIVITY_PLAYLISTBROWSER, 117 ACTIVITY_PLAYLISTBROWSER,
118 ACTIVITY_PLUGIN, 118 ACTIVITY_PLUGIN,
119 ACTIVITY_CONTEXTMENU 119 ACTIVITY_CONTEXTMENU,
120 ACTIVITY_SYSTEMSCREEN,
121 ACTIVITY_TIMEDATESCREEN,
122 ACTIVITY_BOOKMARKSLIST
120}; 123};
121 124
122#if CONFIG_CODEC == SWCODEC 125#if CONFIG_CODEC == SWCODEC
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c
index 940a6d77dc..803fba9765 100644
--- a/apps/playlist_viewer.c
+++ b/apps/playlist_viewer.c
@@ -640,6 +640,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
640 if (!playlist_viewer_init(&viewer, filename, false)) 640 if (!playlist_viewer_init(&viewer, filename, false))
641 goto exit; 641 goto exit;
642 642
643 push_current_activity(ACTIVITY_PLAYLISTVIEWER);
643 gui_synclist_init(&playlist_lists, playlist_callback_name, 644 gui_synclist_init(&playlist_lists, playlist_callback_name,
644 &viewer, false, 1, NULL); 645 &viewer, false, 1, NULL);
645 gui_synclist_set_voice_callback(&playlist_lists, playlist_callback_voice); 646 gui_synclist_set_voice_callback(&playlist_lists, playlist_callback_voice);
@@ -806,6 +807,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
806 } 807 }
807 808
808exit: 809exit:
810 pop_current_activity();
809 if (viewer.playlist) 811 if (viewer.playlist)
810 { 812 {
811 if(dirty && yesno_pop(ID2P(LANG_SAVE_CHANGES))) 813 if(dirty && yesno_pop(ID2P(LANG_SAVE_CHANGES)))
diff --git a/apps/root_menu.c b/apps/root_menu.c
index 573ea9415c..472c1db357 100644
--- a/apps/root_menu.c
+++ b/apps/root_menu.c
@@ -552,6 +552,8 @@ static inline int load_screen(int screen)
552 activity = ACTIVITY_PLUGINBROWSER; 552 activity = ACTIVITY_PLUGINBROWSER;
553 else if (screen == GO_TO_MAINMENU) 553 else if (screen == GO_TO_MAINMENU)
554 activity = ACTIVITY_SETTINGS; 554 activity = ACTIVITY_SETTINGS;
555 else if (screen == GO_TO_SYSTEM_SCREEN)
556 activity = ACTIVITY_SYSTEMSCREEN;
555 557
556 if (activity != ACTIVITY_UNKNOWN) 558 if (activity != ACTIVITY_UNKNOWN)
557 push_current_activity(activity); 559 push_current_activity(activity);
@@ -569,6 +571,8 @@ static inline int load_screen(int screen)
569static int load_context_screen(int selection) 571static int load_context_screen(int selection)
570{ 572{
571 const struct menu_item_ex *context_menu = NULL; 573 const struct menu_item_ex *context_menu = NULL;
574 int retval = GO_TO_PREVIOUS;
575 push_current_activity(ACTIVITY_CONTEXTMENU);
572 if ((root_menu__[selection]->flags&MENU_TYPE_MASK) == MT_RETURN_VALUE) 576 if ((root_menu__[selection]->flags&MENU_TYPE_MASK) == MT_RETURN_VALUE)
573 { 577 {
574 int item = root_menu__[selection]->value; 578 int item = root_menu__[selection]->value;
@@ -581,9 +585,9 @@ static int load_context_screen(int selection)
581 } 585 }
582 586
583 if (context_menu) 587 if (context_menu)
584 return do_menu(context_menu, NULL, NULL, false); 588 retval = do_menu(context_menu, NULL, NULL, false);
585 else 589 pop_current_activity();
586 return GO_TO_PREVIOUS; 590 return retval;
587} 591}
588 592
589#ifdef HAVE_PICTUREFLOW_INTEGRATION 593#ifdef HAVE_PICTUREFLOW_INTEGRATION
diff --git a/manual/appendix/wps_tags.tex b/manual/appendix/wps_tags.tex
index b869d532f3..8946e21ef8 100644
--- a/manual/appendix/wps_tags.tex
+++ b/manual/appendix/wps_tags.tex
@@ -270,7 +270,8 @@ Example: \config{\%?mp<Stop|Play|Pause|Ffwd|Rew|Rec|Rec pause|FM|FM pause>}
270 Menus, WPS, Recording screen, FM Radio screen, Current Playlist screen, 270 Menus, WPS, Recording screen, FM Radio screen, Current Playlist screen,
271 Settings menus, File browser, Database, Plugins, Quickscreen, 271 Settings menus, File browser, Database, Plugins, Quickscreen,
272 Pitchscreen, Setting chooser, Playlist Catalog Viewer, Plugin, 272 Pitchscreen, Setting chooser, Playlist Catalog Viewer, Plugin,
273 Conext Menu\\ 273 Conext Menu, System Info screen, Time and Date Screen,
274 Bookmarks\\
274 \end{tagmap} 275 \end{tagmap}
275The tag can also be used as the switch in a conditional tag. For players without 276The tag can also be used as the switch in a conditional tag. For players without
276some capabilities (e.g. having no FM radio) some values will be never yielded. 277some capabilities (e.g. having no FM radio) some values will be never yielded.