diff --git a/ui/drivers/cocoa/cocoa_common.h b/ui/drivers/cocoa/cocoa_common.h index 24e8d011f9..114f966333 100644 --- a/ui/drivers/cocoa/cocoa_common.h +++ b/ui/drivers/cocoa/cocoa_common.h @@ -43,6 +43,7 @@ - (id)initWithStyle:(UITableViewStyle)style; - (id)itemForIndexPath:(NSIndexPath*)indexPath; +- (void)menuRefresh; @end @@ -66,13 +67,15 @@ extern apple_frontend_settings_t apple_frontend_settings; @property (nonatomic) UIWindow* window; @property (nonatomic) NSString* documentsDirectory; - +@property (nonatomic) RAMenuBase* mainmenu; + + (RetroArch_iOS*)get; - (void)showGameView; - (void)toggleUI; - (void)refreshSystemConfig; +- (void)mainMenuRefresh; @end void get_ios_version(int *major, int *minor); diff --git a/ui/drivers/cocoa/cocoatouch_menu.m b/ui/drivers/cocoa/cocoatouch_menu.m index 51b3dc07eb..7af4673bdf 100644 --- a/ui/drivers/cocoa/cocoatouch_menu.m +++ b/ui/drivers/cocoa/cocoatouch_menu.m @@ -633,7 +633,6 @@ didSelectRowAtIndexPath:(NSIndexPath *)indexPath - (void)willReloadData { - } - (void)reloadData @@ -642,6 +641,10 @@ didSelectRowAtIndexPath:(NSIndexPath *)indexPath [[self tableView] reloadData]; } +- (void)menuRefresh +{ +} + @end @interface RAMainMenu : RAMenuBase diff --git a/ui/drivers/ui_cocoatouch.m b/ui/drivers/ui_cocoatouch.m index 7b1ed981ad..b66709cd7f 100644 --- a/ui/drivers/ui_cocoatouch.m +++ b/ui/drivers/ui_cocoatouch.m @@ -249,7 +249,9 @@ enum self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [self.window makeKeyAndVisible]; - [self pushViewController:[RAMainMenu new] animated:YES]; + self.mainmenu = [RAMainMenu new]; + + [self pushViewController:self.mainmenu animated:YES]; btpad_set_inquiry_state(false); @@ -403,6 +405,11 @@ enum btstack_set_poweron(is_btstack); } +- (void)mainMenuRefresh +{ + [self.mainmenu menuRefresh]; +} + @end int main(int argc, char *argv[]) @@ -515,6 +522,19 @@ static void ui_companion_cocoatouch_notify_list_pushed(void *data, (void)data; (void)list; (void)menu_list; + + RetroArch_iOS *ap = (RetroArch_iOS *)apple_platform; + + RARCH_WARN("notify list pushed (this log entry is not printed)"); + + // JM: Ideally, RA would have set this, but I'm going to force it + // for testing, because my menu refresh relies on it. + menu_handle_t *menu = menu_driver_get_ptr(); + if (!menu) return; + menu->need_refresh = true; + + if (ap) + [ap mainMenuRefresh]; } const ui_companion_driver_t ui_companion_cocoatouch = {