diff --git a/nw/__init__.py b/nw/__init__.py index 5aa259e9..f65d6d20 100644 --- a/nw/__init__.py +++ b/nw/__init__.py @@ -241,6 +241,16 @@ def main(sysArgs=None): # Finish initialising config CONFIG.initConfig(confPath, dataPath) + if CONFIG.osDarwin: + try: + from Foundation import NSBundle + bundle = NSBundle.mainBundle() + info = bundle.localizedInfoDictionary() or bundle.infoDictionary() + info["CFBundleName"] = "novelWriter" + except ImportError as e: + logger.error("Failed to set application name") + logger.error(str(e)) + # Import GUI (after dependency checks), and launch from nw.guimain import GuiMain if testMode: diff --git a/nw/gui/mainmenu.py b/nw/gui/mainmenu.py index 6e8e8cf7..6bb7edf1 100644 --- a/nw/gui/mainmenu.py +++ b/nw/gui/mainmenu.py @@ -276,6 +276,7 @@ class GuiMainMenu(QMenuBar): self.aExitNW = QAction("Exit", self) self.aExitNW.setStatusTip("Exit %s" % self.mainConf.appName) self.aExitNW.setShortcut("Ctrl+Q") + self.aExitNW.setMenuRole(QAction.QuitRole) self.aExitNW.triggered.connect(lambda: self.theParent.closeMain()) self.projMenu.addAction(self.aExitNW) @@ -843,6 +844,7 @@ class GuiMainMenu(QMenuBar): self.aPreferences = QAction("Preferences", self) self.aPreferences.setStatusTip("Preferences") self.aPreferences.setShortcut("Ctrl+,") + self.aPreferences.setMenuRole(QAction.PreferencesRole) self.aPreferences.triggered.connect(lambda: self.theParent.showPreferencesDialog()) self.toolsMenu.addAction(self.aPreferences) @@ -857,12 +859,14 @@ class GuiMainMenu(QMenuBar): # Help > About self.aAboutNW = QAction("About %s" % self.mainConf.appName, self) self.aAboutNW.setStatusTip("About %s" % self.mainConf.appName) + self.aAboutNW.setMenuRole(QAction.AboutRole) self.aAboutNW.triggered.connect(lambda: self.theParent.showAboutNWDialog()) self.helpMenu.addAction(self.aAboutNW) # Help > About Qt5 self.aAboutQt = QAction("About Qt5", self) self.aAboutQt.setStatusTip("About Qt5") + self.aAboutQt.setMenuRole(QAction.AboutQtRole) self.aAboutQt.triggered.connect(lambda: self.theParent.showAboutQtDialog()) self.helpMenu.addAction(self.aAboutQt)