diff options
Diffstat (limited to 'osdep')
-rw-r--r-- | osdep/macosx_menubar.m | 45 |
1 files changed, 41 insertions, 4 deletions
diff --git a/osdep/macosx_menubar.m b/osdep/macosx_menubar.m index 349dd85aff..11fdda5e53 100644 --- a/osdep/macosx_menubar.m +++ b/osdep/macosx_menubar.m @@ -594,6 +594,15 @@ @"key" : @"", @"target" : self, @"url" : @"https://github.com/mpv-player/mpv/issues/new/choose" + }], + [NSMutableDictionary dictionaryWithDictionary:@{ + @"name" : @"Show log File…", + @"action" : @"showFile:", + @"key" : @"", + @"target" : self, + @"file" : @"~/Library/Logs/mpv.log", + @"alertTitle" : @"No log File found.", + @"alertText" : @"You deactivated logging for the Bundle." }] ] } @@ -609,6 +618,7 @@ { NSMenu *mainMenu = [[NSMenu alloc] initWithTitle:@"MainMenu"]; [NSApp setServicesMenu:[[NSMenu alloc] init]]; + NSString* bundle = [[[NSProcessInfo processInfo] environment] objectForKey:@"MPVBUNDLE"]; for(id mMenu in menuTree) { NSMenu *menu = [[NSMenu alloc] initWithTitle:mMenu[@"name"]]; @@ -618,17 +628,25 @@ [mainMenu setSubmenu:menu forItem:mItem]; for(id subMenu in mMenu[@"menu"]) { + NSString *name = subMenu[@"name"]; + NSString *action = subMenu[@"action"]; + #if HAVE_MACOS_TOUCHBAR - if ([subMenu[@"action"] isEqual:@"toggleTouchBarCustomizationPalette:"]) { + if ([action isEqual:@"toggleTouchBarCustomizationPalette:"]) { if (![NSApp respondsToSelector:@selector(touchBar)]) continue; } #endif - if ([subMenu[@"name"] isEqual:@"separator"]) { + + if ([name isEqual:@"Show log File…"] && ![bundle isEqual:@"true"]) { + continue; + } + + if ([name isEqual:@"separator"]) { [menu addItem:[NSMenuItem separatorItem]]; } else { - NSMenuItem *iItem = [menu addItemWithTitle:subMenu[@"name"] - action:NSSelectorFromString(subMenu[@"action"]) + NSMenuItem *iItem = [menu addItemWithTitle:name + action:NSSelectorFromString(action) keyEquivalent:subMenu[@"key"]]; [iItem setTarget:subMenu[@"target"]]; [subMenu setObject:iItem forKey:@"menuItem"]; @@ -754,6 +772,25 @@ [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:url]]; } +- (void)showFile:(NSMenuItem *)menuItem +{ + NSWorkspace *workspace = [NSWorkspace sharedWorkspace]; + NSFileManager *fileManager = [NSFileManager defaultManager]; + NSMutableDictionary *mItemDict = [self getDictFromMenuItem:menuItem]; + NSString *file = [mItemDict[@"file"] stringByExpandingTildeInPath]; + + if ([fileManager fileExistsAtPath:file]){ + NSURL *url = [NSURL fileURLWithPath:file]; + NSArray *urlArray = [NSArray arrayWithObjects:url, nil]; + + [workspace activateFileViewerSelectingURLs:urlArray]; + return; + } + + [self alertWithTitle:mItemDict[@"alertTitle"] + andText:mItemDict[@"alertText"]]; +} + - (void)alertWithTitle:(NSString *)title andText:(NSString *)text { NSAlert *alert = [[NSAlert alloc] init]; |