summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2007-03-27 06:38:11 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2007-03-27 06:38:11 +0000
commit91e726a1c1cec64bcae64480db731da57db93f10 (patch)
tree3edcdc1f8aa1a82b3ca029f5500a25ef0b466635
parent40595bd57ac138e1f6240a619a29a76c51b11b35 (diff)
downloadrockbox-91e726a1c1cec64bcae64480db731da57db93f10.zip
rockbox-91e726a1c1cec64bcae64480db731da57db93f10.tar.gz
rockbox-91e726a1c1cec64bcae64480db731da57db93f10.tar.bz2
rockbox-91e726a1c1cec64bcae64480db731da57db93f10.tar.xz
Move all valid menu return codes to a single file (root_menu.h) so we don't need to rely on GO_TO_ROOT == MENU_ATTACHED_USB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12937 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/menu.c2
-rw-r--r--apps/menu.h7
-rw-r--r--apps/root_menu.c9
-rw-r--r--apps/root_menu.h9
4 files changed, 17 insertions, 10 deletions
diff --git a/apps/menu.c b/apps/menu.c
index a519c1a..0ac0166 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -737,7 +737,7 @@ int menu_show(int m)
switch (value)
{
case MENU_ATTACHED_USB:
- /* case GO_TO_ROOT: */
+ case GO_TO_ROOT:
return MENU_ATTACHED_USB;
case GO_TO_PREVIOUS:
return MENU_SELECTED_EXIT;
diff --git a/apps/menu.h b/apps/menu.h
index aab2365..365af53 100644
--- a/apps/menu.h
+++ b/apps/menu.h
@@ -23,6 +23,7 @@
#include <stdbool.h>
#include "icon.h"
#include "icons.h"
+#include "root_menu.h" /* needed for MENU_* return codes */
enum menu_item_type {
@@ -193,12 +194,8 @@ int menu_init(const struct menu_item* mitems, int count,
const char *button1, const char *button2, const char *button3);
void menu_exit(int menu);
- /* Returns below define, or number of selected menu item*/
+ /* Returns MENU_* define from root_menu.h, or number of selected menu item*/
int menu_show(int m);
-#define MENU_ATTACHED_USB -1
-#define MENU_SELECTED_EXIT -2
-#define MENU_EXIT_ALL -3
-#define MENU_RETURN_TO_WPS -4
bool menu_run(int menu);
int menu_count(int menu);
diff --git a/apps/root_menu.c b/apps/root_menu.c
index 12b2544..674f20e 100644
--- a/apps/root_menu.c
+++ b/apps/root_menu.c
@@ -429,16 +429,17 @@ void root_menu(void)
{
switch (ret_val)
{
+ case MENU_ATTACHED_USB:
+ case MENU_SELECTED_EXIT:
+ check_boot();
+ /* fall through */
case GO_TO_ROOT:
if (last_screen != GO_TO_ROOT)
selected = get_selection(last_screen);
ret_val = do_menu(&root_menu_, &selected);
- /* As long as MENU_ATTACHED_USB == GO_TO_ROOT this works */
if (ret_val <= GO_TO_ROOT)
{
- if (ret_val == MENU_ATTACHED_USB)
- check_boot();
- else if (ret_val == GO_TO_PREVIOUS)
+ if (ret_val == GO_TO_PREVIOUS)
{
ret_val = last_screen;
last_screen = GO_TO_ROOT;
diff --git a/apps/root_menu.h b/apps/root_menu.h
index e913a67..4551b62 100644
--- a/apps/root_menu.h
+++ b/apps/root_menu.h
@@ -17,9 +17,16 @@
*
****************************************************************************/
#include "config.h"
+#ifndef __ROOT_MENU_H__
+#define __ROOT_MENU_H__
+
void root_menu(void);
enum {
+ /* from old menu api, but still required*/
+ MENU_ATTACHED_USB = -10,
+ MENU_SELECTED_EXIT = -9,
+
GO_TO_PREVIOUS_MUSIC = -4,
GO_TO_PREVIOUS_BROWSER = -3,
GO_TO_PREVIOUS = -2,
@@ -42,3 +49,5 @@ enum {
};
extern const struct menu_item_ex root_menu_;
+
+#endif /* __ROOT_MENU_H__ */