3550283442
open_plugin allows arbitrary plugins to be called in hotkey and start screen replaces PictureFlow Integration shortcuts menu plays plugins now too rather than store paths and parameters in the settings that reside in memory instead entries in a file are searched by hash. after all, the plugin has to be loaded from disk anyways ---------------------------------------------------------------------------- shortcut_viewer.rock-- can now call plugins rather than taking you to them in the browser ----------------------------------------------------------------------------- Added a new option to menus: F_CB_ON_SELECT_ONLY instead of option callback every time a item is accessed F_CB_ON_SELECT_ONLY fires callback only when item is selected ----------------------------------------------------------------------------- Added manual entries ----------------------------------------------------------------------------- Change-Id: I078b57b1d2b4dd633c89212c1082fcbc1b516e6a
79 lines
2.3 KiB
C
79 lines
2.3 KiB
C
/***************************************************************************
|
|
* __________ __ ___.
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
* \/ \/ \/ \/ \/
|
|
* $Id$
|
|
*
|
|
* Copyright (C) 2007 Jonathan Gordon
|
|
*
|
|
* 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.
|
|
*
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
* KIND, either express or implied.
|
|
*
|
|
****************************************************************************/
|
|
#ifndef __ROOT_MENU_H__
|
|
#define __ROOT_MENU_H__
|
|
|
|
#include "config.h"
|
|
#include "gcc_extensions.h"
|
|
|
|
void root_menu(void) NORETURN_ATTR;
|
|
struct menu_table {
|
|
char *string;
|
|
const struct menu_item_ex *item;
|
|
};
|
|
|
|
struct menu_table *root_menu_get_options(int *nb_options);
|
|
|
|
enum {
|
|
/* from old menu api, but still required*/
|
|
MENU_ATTACHED_USB = -10,
|
|
MENU_SELECTED_EXIT = -9,
|
|
|
|
GO_TO_ROOTITEM_CONTEXT = -5,
|
|
GO_TO_PREVIOUS_MUSIC = -4,
|
|
GO_TO_PREVIOUS_BROWSER = -3,
|
|
GO_TO_PREVIOUS = -2,
|
|
GO_TO_ROOT = -1,
|
|
GO_TO_FILEBROWSER = 0,
|
|
#ifdef HAVE_TAGCACHE
|
|
GO_TO_DBBROWSER,
|
|
#endif
|
|
GO_TO_WPS,
|
|
GO_TO_MAINMENU,
|
|
#ifdef HAVE_RECORDING
|
|
GO_TO_RECSCREEN,
|
|
#endif
|
|
#if CONFIG_TUNER
|
|
GO_TO_FM,
|
|
#endif
|
|
GO_TO_RECENTBMARKS,
|
|
GO_TO_PLUGIN,
|
|
/* 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. */
|
|
GO_TO_BROWSEPLUGINS,
|
|
GO_TO_TIMESCREEN,
|
|
GO_TO_PLAYLISTS_SCREEN,
|
|
GO_TO_PLAYLIST_VIEWER,
|
|
GO_TO_SYSTEM_SCREEN,
|
|
GO_TO_SHORTCUTMENU
|
|
};
|
|
#ifndef PLUGIN
|
|
extern struct menu_item_ex root_menu_;
|
|
|
|
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);
|
|
#endif
|
|
|
|
|
|
#endif /* __ROOT_MENU_H__ */
|