def populate_menu(): short_appname = app.config.get(prefs.SHORT_APP_NAME) menubar = menus.get_menu() # Application menu miroMenuItems = [ extract_menu_item(menubar, "About"), menus.Separator(), extract_menu_item(menubar, "Donate") ] if not appstore_edition(): miroMenuItems += [ extract_menu_item(menubar, "CheckVersion") ] miroMenuItems += [ menus.Separator(), extract_menu_item(menubar, "EditPreferences"), menus.Separator(), menus.Menu(_("Services"), "ServicesMenu", []), menus.Separator(), menus.MenuItem(_("Hide %(appname)s", {"appname": short_appname}), "HideMiro", menus.Shortcut("h", MOD)), menus.MenuItem(_("Hide Others"), "HideOthers", menus.Shortcut("h", MOD, ALT)), menus.MenuItem(_("Show All"), "ShowAll"), menus.Separator(), extract_menu_item(menubar, "Quit") ] miroMenu = menus.Menu(short_appname, "Miro", miroMenuItems) miroMenu.get("EditPreferences").label = _("Preferences...") miroMenu.get("EditPreferences").shortcuts = (menus.Shortcut(",", MOD),) miroMenu.get("Quit").label = _("Quit %(appname)s", {"appname": short_appname}) # File menu closeWinItem = menus.MenuItem(_("Close Window"), "CloseWindow", menus.Shortcut("w", MOD)) menubar.get("FileMenu").append(closeWinItem) # Edit menu editMenuItems = [ menus.MenuItem(_("Cut"), "Cut", menus.Shortcut("x", MOD)), menus.MenuItem(_("Copy"), "Copy", menus.Shortcut("c", MOD)), menus.MenuItem(_("Paste"), "Paste", menus.Shortcut("v", MOD)), menus.MenuItem(_("Delete"), "Delete"), menus.Separator(), menus.MenuItem(_("Select All"), "SelectAll", menus.Shortcut("a", MOD)) ] editMenu = menus.Menu(_("Edit"), "Edit", editMenuItems) menubar.insert(1, editMenu) # Playback menu presentMenuItems = [ menus.MenuItem(_("Present Half Size"), "PresentHalfSize", menus.Shortcut("0", MOD), groups=["PlayingVideo", "PlayableVideosSelected"]), menus.MenuItem(_("Present Actual Size"), "PresentActualSize", menus.Shortcut("1", MOD), groups=["PlayingVideo", "PlayableVideosSelected"]), menus.MenuItem(_("Present Double Size"), "PresentDoubleSize", menus.Shortcut("2", MOD), groups=["PlayingVideo", "PlayableVideosSelected"]), ] playback_menu = menubar.get("PlaybackMenu") subtitlesMenu = playback_menu.get("SubtitlesMenu") audioMenu = playback_menu.get("AudioTrackMenu") playback_menu.remove("SubtitlesMenu") playback_menu.remove("AudioTrackMenu") presentMenu = menus.Menu(_("Present Video"), "Present", presentMenuItems) playback_menu.append(presentMenu) playback_menu.append(audioMenu) playback_menu.append(subtitlesMenu) fullscreen_menu_item = playback_menu.get("Fullscreen") fullscreen_menu_item.shortcuts = [ menus.Shortcut("f", MOD)] # Window menu windowMenuItems = [ menus.MenuItem(_("Zoom"), "Zoom"), menus.MenuItem(_("Minimize"), "Minimize", menus.Shortcut("m", MOD)), menus.Separator(), menus.MenuItem(_("Main Window"), "ShowMain", menus.Shortcut("M", MOD, SHIFT)), menus.Separator(), menus.MenuItem(_("Bring All to Front"), "BringAllToFront"), ] windowMenu = menus.Menu(_("Window"), "Window", windowMenuItems) menubar.insert(6, windowMenu) # Help Menu helpItem = menubar.get("Help") helpItem.label = _("%(appname)s Help", {"appname": short_appname}) helpItem.shortcuts = (menus.Shortcut("?", MOD),) # Now populate the main menu bar main_menu = NSApp().mainMenu() # XXX: should be using the tag to prevent interface and locale breakages appMenu = main_menu.itemAtIndex_(0).submenu() populate_single_menu(appMenu, miroMenu) servicesMenuItem = appMenu.itemWithTitle_(_("Services")) NSApp().setServicesMenu_(servicesMenuItem) for menu in menubar.menuitems: nsmenu = NSMenu.alloc().init() nsmenu.setTitle_(menu.label.replace("_", "")) populate_single_menu(nsmenu, menu) nsmenuitem = make_menu_item(menu) nsmenuitem.setSubmenu_(nsmenu) main_menu.addItem_(nsmenuitem) # we do this to get groups correct menubar.insert(0, miroMenu) menus.osx_menu_structure = menubar menus.osx_action_groups = menus.generate_action_groups(menubar) # Keep the updated structure around global _menu_structure _menu_structure = menubar
def _modify_initial_menus(self): short_appname = app.config.get(prefs.SHORT_APP_NAME) # Application menu miroMenuItems = [self._extract_menu_item("About"), Separator(), self._extract_menu_item("Donate")] if not appstore_edition(): miroMenuItems += [self._extract_menu_item("CheckVersion")] miroMenuItems += [ Separator(), self._extract_menu_item("EditPreferences"), Separator(), Menu(_("Services"), "ServicesMenu", []), Separator(), MenuItem(_("Hide %(appname)s", {"appname": short_appname}), "HideMiro", Shortcut("h", MOD)), MenuItem(_("Hide Others"), "HideOthers", Shortcut("h", MOD, keyboard.ALT)), MenuItem(_("Show All"), "ShowAll"), Separator(), self._extract_menu_item("Quit"), ] for item in miroMenuItems: self._app_menu.append(item) self._app_menu.find("EditPreferences").set_label(_("Preferences...")) self._app_menu.find("EditPreferences")._change_shortcut(Shortcut(",", MOD)) self._app_menu.find("Quit").set_label(_("Quit %(appname)s", {"appname": short_appname})) # File menu closeWinItem = MenuItem(_("Close Window"), "CloseWindow", Shortcut("w", MOD)) self.find("FileMenu").append(closeWinItem) # Edit menu editMenuItems = [ MenuItem(_("Cut"), "Cut", Shortcut("x", MOD)), MenuItem(_("Copy"), "Copy", Shortcut("c", MOD)), MenuItem(_("Paste"), "Paste", Shortcut("v", MOD)), MenuItem(_("Delete"), "Delete"), Separator(), MenuItem(_("Select All"), "SelectAll", Shortcut("a", MOD)), ] editMenu = Menu(_("Edit"), "Edit", editMenuItems) self.insert(2, editMenu) # Playback menu present_menu_items = [ MenuItem(_("Present Half Size"), "PresentHalfSize", Shortcut("0", MOD)), MenuItem(_("Present Actual Size"), "PresentActualSize", Shortcut("1", MOD)), MenuItem(_("Present Double Size"), "PresentDoubleSize", Shortcut("2", MOD)), ] self.present_menu = Menu(_("Present Video"), "Present", present_menu_items) playback_menu = self.find("PlaybackMenu") playback_menu.insert(playback_menu.index("AudioTrackMenu"), self.present_menu) # Window menu windowMenuItems = [ MenuItem(_("Zoom"), "Zoom"), MenuItem(_("Minimize"), "Minimize", Shortcut("m", MOD)), Separator(), MenuItem(_("Main Window"), "ShowMain", Shortcut("M", MOD, keyboard.SHIFT)), Separator(), MenuItem(_("Bring All to Front"), "BringAllToFront"), ] windowMenu = Menu(_("Window"), "Window", windowMenuItems) self.insert(self.index("HelpMenu"), windowMenu) # Help Menu helpItem = self.find("Help") helpItem.set_label(_("%(appname)s Help", {"appname": short_appname})) helpItem._change_shortcut(Shortcut("?", MOD)) self._update_present_menu() self._connect_to_signals()
# (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # In addition, as a special exception, the copyright holders give # permission to link the code of portions of this program with the OpenSSL # library. # # You must obey the GNU General Public License in all respects for all of # the code used other than OpenSSL. If you modify file(s) with this # exception, you may extend this exception to your version of the file(s), # but you are not obligated to do so. If you do not wish to do so, delete # this exception statement from your version. If you delete this exception # statement from all source files in the program, then also delete it here. from miro.plat.appstore import appstore_edition if appstore_edition(): AUTOUPDATE = False else: AUTOUPDATE = True FRONTEND = "None" PLATFORMNAME = "osx"
def _modify_initial_menus(self): short_appname = app.config.get(prefs.SHORT_APP_NAME) # Application menu miroMenuItems = [ self._extract_menu_item("About"), Separator(), self._extract_menu_item("Donate") ] if not appstore_edition(): miroMenuItems += [self._extract_menu_item("CheckVersion")] miroMenuItems += [ Separator(), self._extract_menu_item("EditPreferences"), Separator(), Menu(_("Services"), "ServicesMenu", []), Separator(), MenuItem(_("Hide %(appname)s", {"appname": short_appname}), "HideMiro", Shortcut("h", MOD)), MenuItem(_("Hide Others"), "HideOthers", Shortcut("h", MOD, keyboard.ALT)), MenuItem(_("Show All"), "ShowAll"), Separator(), self._extract_menu_item("Quit") ] for item in miroMenuItems: self._app_menu.append(item) self._app_menu.find("EditPreferences").set_label(_("Preferences...")) self._app_menu.find("EditPreferences")._change_shortcut( Shortcut(",", MOD)) self._app_menu.find("Quit").set_label( _("Quit %(appname)s", {"appname": short_appname})) # File menu closeWinItem = MenuItem(_("Close Window"), "CloseWindow", Shortcut("w", MOD)) self.find("FileMenu").append(closeWinItem) # Edit menu editMenuItems = [ MenuItem(_("Cut"), "Cut", Shortcut("x", MOD)), MenuItem(_("Copy"), "Copy", Shortcut("c", MOD)), MenuItem(_("Paste"), "Paste", Shortcut("v", MOD)), MenuItem(_("Delete"), "Delete"), Separator(), MenuItem(_("Select All"), "SelectAll", Shortcut("a", MOD)) ] editMenu = Menu(_("Edit"), "Edit", editMenuItems) self.insert(2, editMenu) # Playback menu present_menu_items = [ MenuItem(_("Present Half Size"), "PresentHalfSize", Shortcut("0", MOD)), MenuItem(_("Present Actual Size"), "PresentActualSize", Shortcut("1", MOD)), MenuItem(_("Present Double Size"), "PresentDoubleSize", Shortcut("2", MOD)), ] self.present_menu = Menu(_("Present Video"), "Present", present_menu_items) playback_menu = self.find("PlaybackMenu") playback_menu.insert(playback_menu.index('AudioTrackMenu'), self.present_menu) # Window menu windowMenuItems = [ MenuItem(_("Zoom"), "Zoom"), MenuItem(_("Minimize"), "Minimize", Shortcut("m", MOD)), Separator(), MenuItem(_("Main Window"), "ShowMain", Shortcut("M", MOD, keyboard.SHIFT)), Separator(), MenuItem(_("Bring All to Front"), "BringAllToFront"), ] windowMenu = Menu(_("Window"), "Window", windowMenuItems) self.insert(self.index("HelpMenu"), windowMenu) # Help Menu helpItem = self.find("Help") helpItem.set_label(_("%(appname)s Help", {"appname": short_appname})) helpItem._change_shortcut(Shortcut("?", MOD)) self._update_present_menu() self._connect_to_signals()
def populate_menu(): short_appname = app.config.get(prefs.SHORT_APP_NAME) menubar = menus.get_menu() # Application menu miroMenuItems = [ extract_menu_item(menubar, "About"), menus.Separator(), extract_menu_item(menubar, "Donate") ] if not appstore_edition(): miroMenuItems += [ extract_menu_item(menubar, "CheckVersion") ] miroMenuItems += [ menus.Separator(), extract_menu_item(menubar, "EditPreferences"), menus.Separator(), menus.Menu(_("Services"), "ServicesMenu", []), menus.Separator(), menus.MenuItem(_("Hide %(appname)s", {"appname": short_appname}), "HideMiro", menus.Shortcut("h", MOD)), menus.MenuItem(_("Hide Others"), "HideOthers", menus.Shortcut("h", MOD, ALT)), menus.MenuItem(_("Show All"), "ShowAll"), menus.Separator(), extract_menu_item(menubar, "Quit") ] miroMenu = menus.Menu(short_appname, "Miro", miroMenuItems) miroMenu.get("EditPreferences").label = _("Preferences...") miroMenu.get("EditPreferences").shortcuts = (menus.Shortcut(",", MOD),) miroMenu.get("Quit").label = _("Quit %(appname)s", {"appname": short_appname}) # File menu closeWinItem = menus.MenuItem(_("Close Window"), "CloseWindow", menus.Shortcut("w", MOD)) menubar.get("FileMenu").append(closeWinItem) # Edit menu editMenuItems = [ menus.MenuItem(_("Cut"), "Cut", menus.Shortcut("x", MOD)), menus.MenuItem(_("Copy"), "Copy", menus.Shortcut("c", MOD)), menus.MenuItem(_("Paste"), "Paste", menus.Shortcut("v", MOD)), menus.MenuItem(_("Delete"), "Delete"), menus.Separator(), menus.MenuItem(_("Select All"), "SelectAll", menus.Shortcut("a", MOD)) ] editMenu = menus.Menu(_("Edit"), "Edit", editMenuItems) menubar.insert(1, editMenu) # Playback menu presentMenuItems = [ menus.MenuItem(_("Present Half Size"), "PresentHalfSize", menus.Shortcut("0", MOD), groups=["PlayingVideo", "PlayableVideosSelected"]), menus.MenuItem(_("Present Actual Size"), "PresentActualSize", menus.Shortcut("1", MOD), groups=["PlayingVideo", "PlayableVideosSelected"]), menus.MenuItem(_("Present Double Size"), "PresentDoubleSize", menus.Shortcut("2", MOD), groups=["PlayingVideo", "PlayableVideosSelected"]), ] playback_menu = menubar.get("PlaybackMenu") subtitlesMenu = playback_menu.get("SubtitlesMenu") playback_menu.remove("SubtitlesMenu") presentMenu = menus.Menu(_("Present Video"), "Present", presentMenuItems) playback_menu.append(presentMenu) playback_menu.append(subtitlesMenu) fullscreen_menu_item = playback_menu.get("Fullscreen") fullscreen_menu_item.shortcuts = [ menus.Shortcut("f", MOD)] # Window menu windowMenuItems = [ menus.MenuItem(_("Zoom"), "Zoom"), menus.MenuItem(_("Minimize"), "Minimize", menus.Shortcut("m", MOD)), menus.Separator(), menus.MenuItem(_("Main Window"), "ShowMain", menus.Shortcut("M", MOD, SHIFT)), menus.Separator(), menus.MenuItem(_("Bring All to Front"), "BringAllToFront"), ] windowMenu = menus.Menu(_("Window"), "Window", windowMenuItems) menubar.insert(6, windowMenu) # Help Menu helpItem = menubar.get("Help") helpItem.label = _("%(appname)s Help", {"appname": short_appname}) helpItem.shortcuts = (menus.Shortcut("?", MOD),) # Now populate the main menu bar main_menu = NSApp().mainMenu() # XXX: should be using the tag to prevent interface and locale breakages appMenu = main_menu.itemAtIndex_(0).submenu() populate_single_menu(appMenu, miroMenu) servicesMenuItem = appMenu.itemWithTitle_(_("Services")) NSApp().setServicesMenu_(servicesMenuItem) for menu in menubar.menuitems: nsmenu = NSMenu.alloc().init() nsmenu.setTitle_(menu.label.replace("_", "")) populate_single_menu(nsmenu, menu) nsmenuitem = make_menu_item(menu) nsmenuitem.setSubmenu_(nsmenu) main_menu.addItem_(nsmenuitem) # we do this to get groups correct menubar.insert(0, miroMenu) menus.osx_menu_structure = menubar menus.osx_action_groups = menus.generate_action_groups(menubar) # Keep the updated structure around global _menu_structure _menu_structure = menubar