mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 09:40:06 +00:00
Create menu_displaylist_push_list
This commit is contained in:
parent
cd25f8874a
commit
a35c26b7a5
@ -17,6 +17,7 @@
|
|||||||
#include "menu_display.h"
|
#include "menu_display.h"
|
||||||
#include "menu_entries.h"
|
#include "menu_entries.h"
|
||||||
#include "menu_displaylist.h"
|
#include "menu_displaylist.h"
|
||||||
|
#include "menu_navigation.h"
|
||||||
|
|
||||||
int menu_displaylist_deferred_push(menu_displaylist_info_t *info)
|
int menu_displaylist_deferred_push(menu_displaylist_info_t *info)
|
||||||
{
|
{
|
||||||
@ -46,6 +47,29 @@ int menu_displaylist_deferred_push(menu_displaylist_info_t *info)
|
|||||||
return cbs->action_deferred_push(info->list, info->menu_list, path, label, type);
|
return cbs->action_deferred_push(info->list, info->menu_list, path, label, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int menu_displaylist_push_list(unsigned type)
|
||||||
|
{
|
||||||
|
menu_handle_t *menu = menu_driver_get_ptr();
|
||||||
|
menu_list_t *menu_list = menu_list_get_ptr();
|
||||||
|
menu_navigation_t *nav = menu_navigation_get_ptr();
|
||||||
|
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case DISPLAYLIST_NONE:
|
||||||
|
break;
|
||||||
|
case DISPLAYLIST_MAIN_MENU:
|
||||||
|
menu->list_settings = setting_new(SL_FLAG_ALL);
|
||||||
|
|
||||||
|
menu_list_push(menu_list->menu_stack, "", "Main Menu", MENU_SETTINGS, 0);
|
||||||
|
menu_navigation_clear(nav, true);
|
||||||
|
menu_entries_push_list(menu, menu_list->selection_buf,
|
||||||
|
"", "Main Menu", 0, SL_FLAG_MAIN_MENU);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int menu_displaylist_push(file_list_t *list, file_list_t *menu_list)
|
int menu_displaylist_push(file_list_t *list, file_list_t *menu_list)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -24,6 +24,12 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
DISPLAYLIST_NONE = 0,
|
||||||
|
DISPLAYLIST_MAIN_MENU,
|
||||||
|
};
|
||||||
|
|
||||||
typedef struct menu_displaylist_info
|
typedef struct menu_displaylist_info
|
||||||
{
|
{
|
||||||
file_list_t *list;
|
file_list_t *list;
|
||||||
@ -36,6 +42,8 @@ typedef struct menu_displaylist_info
|
|||||||
|
|
||||||
int menu_displaylist_deferred_push(menu_displaylist_info_t *info);
|
int menu_displaylist_deferred_push(menu_displaylist_info_t *info);
|
||||||
|
|
||||||
|
int menu_displaylist_push_list(unsigned type);
|
||||||
|
|
||||||
int menu_displaylist_push(file_list_t *list, file_list_t *menu_list);
|
int menu_displaylist_push(file_list_t *list, file_list_t *menu_list);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
* If not, see <http://www.gnu.org/licenses/>.
|
* If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "menu_displaylist.h"
|
||||||
#include "menu_entries.h"
|
#include "menu_entries.h"
|
||||||
#include "menu_setting.h"
|
#include "menu_setting.h"
|
||||||
#include "menu_navigation.h"
|
#include "menu_navigation.h"
|
||||||
@ -497,12 +498,7 @@ bool menu_entries_init(menu_handle_t *menu)
|
|||||||
if (!menu)
|
if (!menu)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
menu->list_settings = setting_new(SL_FLAG_ALL);
|
menu_displaylist_push_list(DISPLAYLIST_MAIN_MENU);
|
||||||
|
|
||||||
menu_list_push(menu->menu_list->menu_stack, "", "Main Menu", MENU_SETTINGS, 0);
|
|
||||||
menu_navigation_clear(&menu->navigation, true);
|
|
||||||
menu_entries_push_list(menu, menu->menu_list->selection_buf,
|
|
||||||
"", "Main Menu", 0, SL_FLAG_MAIN_MENU);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user