summaryrefslogtreecommitdiffstats
path: root/osdep
diff options
context:
space:
mode:
authorder richter <der.richter@gmx.de>2024-03-26 20:16:42 +0100
committerder richter <der.richter@gmx.de>2024-03-29 14:20:40 +0100
commit1bc680d32a1ac1de6b1a47361f18a3733b9ffbda (patch)
treef4d9376a79752a5d8ac38e7658f4adce41dabe2a /osdep
parente2bc1e5f9b0f1f2aae0068109b9fdf63995b1b35 (diff)
downloadmpv-1bc680d32a1ac1de6b1a47361f18a3733b9ffbda.tar.bz2
mpv-1bc680d32a1ac1de6b1a47361f18a3733b9ffbda.tar.xz
mac/apphub: move menu bar into AppHub
Diffstat (limited to 'osdep')
-rw-r--r--osdep/mac/app_hub.swift2
-rw-r--r--osdep/mac/application.m2
-rw-r--r--osdep/mac/application_objc.h2
-rw-r--r--osdep/mac/menu_bar.swift16
4 files changed, 11 insertions, 11 deletions
diff --git a/osdep/mac/app_hub.swift b/osdep/mac/app_hub.swift
index c74333383c..60854a3b91 100644
--- a/osdep/mac/app_hub.swift
+++ b/osdep/mac/app_hub.swift
@@ -21,6 +21,7 @@ class AppHub: NSObject {
var mpv: OpaquePointer?
@objc var input: InputHelper
var event: EventHelper?
+ var menu: MenuBar?
#if HAVE_MACOS_MEDIA_PLAYER
var remote: RemoteCommandCenter?
#endif
@@ -33,6 +34,7 @@ class AppHub: NSObject {
private override init() {
input = InputHelper()
super.init()
+ if isApplication { menu = MenuBar(self) }
#if HAVE_MACOS_MEDIA_PLAYER
remote = RemoteCommandCenter(self)
#endif
diff --git a/osdep/mac/application.m b/osdep/mac/application.m
index 361fffa84e..0f506b91ce 100644
--- a/osdep/mac/application.m
+++ b/osdep/mac/application.m
@@ -58,7 +58,6 @@ static void terminate_cocoa_application(void)
}
@implementation Application
-@synthesize menuBar = _menu_bar;
@synthesize openCount = _open_count;
@synthesize cocoaCB = _cocoa_cb;
@@ -183,7 +182,6 @@ static void init_cocoa_application(bool regular)
{
NSApp = mpv_shared_app();
[NSApp setDelegate:NSApp];
- [NSApp setMenuBar:[[MenuBar alloc] init]];
// Will be set to Regular from cocoa_common during UI creation so that we
// don't create an icon when playing audio only files.
diff --git a/osdep/mac/application_objc.h b/osdep/mac/application_objc.h
index f2f2ca8e27..4864e0d62b 100644
--- a/osdep/mac/application_objc.h
+++ b/osdep/mac/application_objc.h
@@ -19,7 +19,6 @@
#include "osdep/mac/application.h"
@class CocoaCB;
-@class MenuBar;
struct mpv_event;
struct mpv_handle;
@@ -27,7 +26,6 @@ struct mpv_handle;
- (void)initCocoaCb:(struct mpv_handle *)ctx;
-@property(nonatomic, retain) MenuBar *menuBar;
@property(nonatomic, assign) size_t openCount;
@property(nonatomic, retain) CocoaCB *cocoaCB;
@end
diff --git a/osdep/mac/menu_bar.swift b/osdep/mac/menu_bar.swift
index 2dfa53f5db..cd3be5cb27 100644
--- a/osdep/mac/menu_bar.swift
+++ b/osdep/mac/menu_bar.swift
@@ -68,18 +68,20 @@ extension MenuBar {
}
class MenuBar: NSObject {
+ unowned let appHub: AppHub
let mainMenu = NSMenu(title: "Main")
let servicesMenu = NSMenu(title: "Services")
var menuConfigs: [Config] = []
var dynamicMenuItems: [Type:[MenuItem]] = [:]
let appIcon: NSImage
- @objc override init() {
+ @objc init(_ appHub: AppHub) {
+ self.appHub = appHub
UserDefaults.standard.set(false, forKey: "NSFullScreenMenuItemEverywhere")
UserDefaults.standard.set(true, forKey: "NSDisabledDictationMenuItem")
UserDefaults.standard.set(true, forKey: "NSDisabledCharacterPaletteMenuItem")
NSWindow.allowsAutomaticWindowTabbing = false
- appIcon = AppHub.shared.getIcon()
+ appIcon = appHub.getIcon()
super.init()
@@ -318,7 +320,7 @@ class MenuBar: NSObject {
@objc func quit(_ menuItem: MenuItem) {
guard let menuConfig = menuItem.config else { return }
- AppHub.shared.input.command(menuConfig.command)
+ appHub.input.command(menuConfig.command)
}
@objc func openFiles() {
@@ -327,7 +329,7 @@ class MenuBar: NSObject {
panel.canChooseDirectories = true
if panel.runModal() == .OK {
- AppHub.shared.input.open(files: panel.urls.map { $0.path })
+ appHub.input.open(files: panel.urls.map { $0.path })
}
}
@@ -335,7 +337,7 @@ class MenuBar: NSObject {
let panel = NSOpenPanel()
if panel.runModal() == .OK, let url = panel.urls.first {
- AppHub.shared.input.command("loadlist \"\(url.path)\"")
+ appHub.input.command("loadlist \"\(url.path)\"")
}
}
@@ -355,13 +357,13 @@ class MenuBar: NSObject {
}
if alert.runModal() == .alertFirstButtonReturn && input.stringValue.count > 0 {
- AppHub.shared.input.open(files: [input.stringValue])
+ appHub.input.open(files: [input.stringValue])
}
}
@objc func command(_ menuItem: MenuItem) {
guard let menuConfig = menuItem.config else { return }
- AppHub.shared.input.command(menuConfig.command)
+ appHub.input.command(menuConfig.command)
}
@objc func url(_ menuItem: MenuItem) {