2007-03-01 11:14:46 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* __________ __ ___.
|
|
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
|
|
* \/ \/ \/ \/ \/
|
2007-03-29 22:51:03 +00:00
|
|
|
* $Id$
|
2007-03-01 11:14:46 +00:00
|
|
|
*
|
|
|
|
* Copyright (C) 2007 Jonathan Gordon
|
|
|
|
*
|
2008-06-28 18:10:04 +00:00
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
2007-03-01 11:14:46 +00:00
|
|
|
*
|
|
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
|
|
* KIND, either express or implied.
|
|
|
|
*
|
|
|
|
****************************************************************************/
|
2007-03-27 06:38:11 +00:00
|
|
|
#ifndef __ROOT_MENU_H__
|
|
|
|
#define __ROOT_MENU_H__
|
|
|
|
|
2010-08-12 13:38:25 +00:00
|
|
|
#include "config.h"
|
|
|
|
#include "gcc_extensions.h"
|
|
|
|
|
|
|
|
void root_menu(void) NORETURN_ATTR;
|
2014-02-13 11:01:13 +00:00
|
|
|
struct menu_table {
|
|
|
|
char *string;
|
|
|
|
const struct menu_item_ex *item;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct menu_table *root_menu_get_options(int *nb_options);
|
2007-03-01 11:14:46 +00:00
|
|
|
|
|
|
|
enum {
|
2007-03-27 06:38:11 +00:00
|
|
|
/* from old menu api, but still required*/
|
|
|
|
MENU_ATTACHED_USB = -10,
|
|
|
|
MENU_SELECTED_EXIT = -9,
|
|
|
|
|
2007-04-12 15:28:51 +00:00
|
|
|
GO_TO_ROOTITEM_CONTEXT = -5,
|
2007-03-01 11:14:46 +00:00
|
|
|
GO_TO_PREVIOUS_MUSIC = -4,
|
|
|
|
GO_TO_PREVIOUS_BROWSER = -3,
|
|
|
|
GO_TO_PREVIOUS = -2,
|
|
|
|
GO_TO_ROOT = -1,
|
|
|
|
GO_TO_FILEBROWSER = 0,
|
2008-12-10 09:17:49 +00:00
|
|
|
#ifdef HAVE_TAGCACHE
|
2007-03-01 11:14:46 +00:00
|
|
|
GO_TO_DBBROWSER,
|
2008-12-10 09:17:49 +00:00
|
|
|
#endif
|
2007-03-01 11:14:46 +00:00
|
|
|
GO_TO_WPS,
|
|
|
|
GO_TO_MAINMENU,
|
|
|
|
#ifdef HAVE_RECORDING
|
|
|
|
GO_TO_RECSCREEN,
|
|
|
|
#endif
|
2007-04-05 02:50:43 +00:00
|
|
|
#if CONFIG_TUNER
|
2007-03-01 11:14:46 +00:00
|
|
|
GO_TO_FM,
|
|
|
|
#endif
|
|
|
|
GO_TO_RECENTBMARKS,
|
2020-08-01 02:45:10 +00:00
|
|
|
GO_TO_PLUGIN,
|
2007-03-01 11:14:46 +00:00
|
|
|
/* Do Not add any items above here unless you want it to be able to
|
|
|
|
be the "start screen" after a boot up. The setting in settings_list.c
|
|
|
|
will need editing if this is the case. */
|
2007-03-04 00:59:42 +00:00
|
|
|
GO_TO_BROWSEPLUGINS,
|
2008-12-01 09:28:14 +00:00
|
|
|
GO_TO_TIMESCREEN,
|
2011-01-29 01:01:12 +00:00
|
|
|
GO_TO_PLAYLISTS_SCREEN,
|
2010-02-20 19:06:39 +00:00
|
|
|
GO_TO_PLAYLIST_VIEWER,
|
2011-01-29 01:01:12 +00:00
|
|
|
GO_TO_SYSTEM_SCREEN,
|
2011-11-15 13:22:02 +00:00
|
|
|
GO_TO_SHORTCUTMENU
|
2007-03-01 11:14:46 +00:00
|
|
|
};
|
2014-02-13 11:01:13 +00:00
|
|
|
#ifndef PLUGIN
|
main menu: Add the ability to hide and reorder the main menu items.
To change the shown menu items add the line "root_menu_order:<items>" into your config.cfg
<items> can be any of:
bookmarks, files, database, wps, settings, recording, radio, playlists, plugins, system_menu, shortcuts
Manual entry by Alexander Levin
Change-Id: Ie7f4bfb0f795184de094d05fc341a6cedd1c0cde
Reviewed-on: http://gerrit.rockbox.org/104
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-02-09 10:21:40 +00:00
|
|
|
extern struct menu_item_ex root_menu_;
|
2007-03-27 06:38:11 +00:00
|
|
|
|
main menu: Add the ability to hide and reorder the main menu items.
To change the shown menu items add the line "root_menu_order:<items>" into your config.cfg
<items> can be any of:
bookmarks, files, database, wps, settings, recording, radio, playlists, plugins, system_menu, shortcuts
Manual entry by Alexander Levin
Change-Id: Ie7f4bfb0f795184de094d05fc341a6cedd1c0cde
Reviewed-on: http://gerrit.rockbox.org/104
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-02-09 10:21:40 +00:00
|
|
|
void root_menu_load_from_cfg(void* setting, char *value);
|
|
|
|
char* root_menu_write_to_cfg(void* setting, char*buf, int buf_len);
|
|
|
|
void root_menu_set_default(void* setting, void* defaultval);
|
|
|
|
bool root_menu_is_changed(void* setting, void* defaultval);
|
2014-02-13 11:01:13 +00:00
|
|
|
#endif
|
main menu: Add the ability to hide and reorder the main menu items.
To change the shown menu items add the line "root_menu_order:<items>" into your config.cfg
<items> can be any of:
bookmarks, files, database, wps, settings, recording, radio, playlists, plugins, system_menu, shortcuts
Manual entry by Alexander Levin
Change-Id: Ie7f4bfb0f795184de094d05fc341a6cedd1c0cde
Reviewed-on: http://gerrit.rockbox.org/104
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2012-02-09 10:21:40 +00:00
|
|
|
|
|
|
|
|
2007-03-27 06:38:11 +00:00
|
|
|
#endif /* __ROOT_MENU_H__ */
|