Esempio n. 1
0
def _MenuItem(label,
              action=None,
              key='',
              alt=False,
              cmd=True,
              ctrl=False,
              shift=False):
    '''New NS menu item with action and optional shortcut key.
    '''
    # <https://Developer.Apple.com/documentation/appkit/nsmenuitem/1514858-initwithtitle>
    ns = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
        NSStr(label), get_selector(action), NSStr(key))
    if key:
        mask = 0
        if alt:
            mask |= NSAlternateKeyMask
        if cmd:
            mask |= NSCommandKeyMask
        if ctrl:
            mask |= NSControlKeyMask
        if shift:
            mask |= NSShiftKeyMask  # NSAlphaShiftKeyMask
        if mask:
            ns.setKeyEquivalentModifierMask_(mask)
    return ns
Esempio n. 2
0
    def applicationDidFinishLaunching_(self, notification):
        statusbar = NSStatusBar.systemStatusBar()
        statusitem = statusbar.statusItemWithLength_(NSVariableStatusItemLength)
#       statusitem.setHighlightMode_(1)
#       statusitem.setToolTip_(NSStr('Example'))
#       statusitem.setTitle_(NSStr('Example'))

        menu = NSMenu.alloc().init()
        menuitem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
                   NSStr('Quit'), get_selector('terminate:'), NSStr(''))
        menu.addItem_(menuitem)
        statusitem.setMenu_(menu)
Esempio n. 3
0
    def applicationDidFinishLaunching_(self, notification):

        # the player needs an NSView object
        self.window, view = _Window2(title=self.video or self.title)
        # set the window's delegate to the app's to
        # make method .windowWillClose_ work, see
        # <https://Gist.GitHub.com/kaloprominat/6105220>
        self.window.setDelegate_(self)
        # pass viewable to VLC player
        self.player.set_nsobject(view)

        menu = NSMenu.alloc().init()  # create main menu
        menu.addItem_(
            _MenuItem('Full ' + 'Screen',
                      'enterFullScreenMode:',
                      'f',
                      ctrl=True))  # Ctrl-Cmd-F, Esc to exit
        menu.addItem_(_MenuItem('Info', 'info:', 'i'))

        menu.addItem_(_MenuItemSeparator())
        self.NSitem = _MenuItem('Pause', 'toggle:', 'p',
                                ctrl=True)  # Ctrl-Cmd-P
        menu.addItem_(self.NSitem)
        menu.addItem_(_MenuItem('Rewind', 'rewind:', 'r',
                                ctrl=True))  # Ctrl-Cmd-R

        menu.addItem_(_MenuItemSeparator())
        menu.addItem_(_MenuItem('Hide ' + self.title, 'hide:',
                                'h'))  # Cmd-H, implied
        menu.addItem_(
            _MenuItem('Hide Others', 'hideOtherApplications:', 'h',
                      alt=True))  # Alt-Cmd-H
        menu.addItem_(_MenuItem('Show All',
                                'unhideAllApplications:'))  # no key

        menu.addItem_(_MenuItemSeparator())
        menu.addItem_(_MenuItem('Quit ' + self.title, 'terminate:',
                                'q'))  # Cmd-Q

        subMenu = NSMenuItem.alloc().init()
        subMenu.setSubmenu_(menu)

        menuBar = NSMenu.alloc().init()
        menuBar.addItem_(subMenu)
        self.app.setMainMenu_(menuBar)

        self.player.play()
        # adjust the contents' aspect ratio
        self.windowDidResize_(None)
Esempio n. 4
0
    def applicationDidFinishLaunching_(self, notification):

        # the player needs an NSView object
        self.window, view = _Window2(title=self.video or self.title)
        # set the window's delegate to the app's to
        # make method .windowWillClose_ work, see
        # <http://Gist.GitHub.com/kaloprominat/6105220>
        self.window.setDelegate_(self)

        # Create the main menu.
        menu = NSMenu.alloc().init()

        menu.addItem_(_MenuItem('Full ' + 'Screen', 'enterFullScreenMode:', 'f', ctrl=True))  # Ctrl-Cmd-F, Esc to exit

        if self.player:  # setup player view and menu
            self.player.set_nsobject(view)

            menu.addItem_(_MenuItemSeparator())
            menu.addItem_(_MenuItem('Play', 'play:', 'p'))
            menu.addItem_(_MenuItem('Pause', 'pause:', 's'))
            menu.addItem_(_MenuItem('Rewind', 'rewind:', 'r'))
            menu.addItem_(_MenuItemSeparator())
            menu.addItem_(_MenuItem('Faster', 'faster:', '>', shift=True))
            menu.addItem_(_MenuItem('Slower', 'slower:', '<', shift=True))
            menu.addItem_(_MenuItem('Zoom In', 'zoomIn:', '+'))
            menu.addItem_(_MenuItem('Zoom Out', 'zoomOut:', '-'))
            menu.addItem_(_MenuItemSeparator())
            menu.addItem_(_MenuItem('Info', 'info:', 'i'))
            menu.addItem_(_MenuItem('Close Windows', 'windowWillClose:', 'w'))

        menu.addItem_(_MenuItemSeparator())
        menu.addItem_(_MenuItem('Hide ' + self.title, 'hide:', 'h'))  # Cmd-H, implied
        menu.addItem_(_MenuItem('Hide Others', 'hideOtherApplications:', 'h', alt=True))  # Alt-Cmd-H
        menu.addItem_(_MenuItem('Show All', 'unhideAllApplications:'))  # no key

        menu.addItem_(_MenuItemSeparator())
        menu.addItem_(_MenuItem('Quit ' + self.title, 'terminate:', 'q'))  # Cmd-Q

        subMenu = NSMenuItem.alloc().init()
        subMenu.setSubmenu_(menu)

        menuBar = NSMenu.alloc().init()
        menuBar.addItem_(subMenu)
        self.app.setMainMenu_(menuBar)

        self.play_(None)
        # adjust the contents' aspect ratio
        self.windowDidResize_(None)
Esempio n. 5
0
    def applicationDidFinishLaunching_(self, notification):
        self.window, view = new_window(title=self.title)
        self.window.setDelegate_(self)
        self.player.set_nsobject(view)

        # Create the main menu.
        menu = NSMenu.alloc().init()
        menu.addItem_(
            new_menu_item(
                'Full Screen', 'enterFullScreenMode:', 'f', ctrl=True
            )
        )

        menu.addItem_(new_menu_seperator())
        menu.addItem_(new_menu_item('Play', 'play:', 'p'))
        menu.addItem_(new_menu_item('Pause', 'pause:', 's'))

        menu.addItem_(new_menu_seperator())
        menu.addItem_(new_menu_item('Faster', 'faster:', '>', shift=True))
        menu.addItem_(new_menu_item('Slower', 'slower:', '<', shift=True))
        menu.addItem_(new_menu_item('Zoom In', 'zoomIn:', '+'))
        menu.addItem_(new_menu_item('Zoom Out', 'zoomOut:', '-'))

        menu.addItem_(new_menu_seperator())
        menu.addItem_(new_menu_item('Close Window', 'windowWillClose:', 'w'))

        menu.addItem_(new_menu_seperator())
        menu.addItem_(new_menu_item('Hide Window', 'hide:', 'h'))
        menu.addItem_(
            new_menu_item(
                'Hide Others', 'hideOtherApplications:', 'h', alt=True
            )
        )
        menu.addItem_(new_menu_item('Show All', 'unhideAllApplications:'))

        menu.addItem_(new_menu_seperator())
        menu.addItem_(new_menu_item('Quit ' + self.title, 'terminate:', 'q'))

        subMenu = NSMenuItem.alloc().init()
        subMenu.setSubmenu_(menu)

        menuBar = NSMenu.alloc().init()
        menuBar.addItem_(subMenu)
        self.app.setMainMenu_(menuBar)

        self.play_(None)
Esempio n. 6
0
def new_menu_item(label, action=None, key='',
                  alt=False, cmd=True, ctrl=False, shift=False):
    # <http://developer.apple.com/documentation/appkit/nsmenuitem/1514858-initwithtitle>
    item = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
        NSStr(label), get_selector(action), NSStr(key))
    if key:
        mask = 0
        if alt:
            mask |= NSAlternateKeyMask
        if cmd:
            mask |= NSCommandKeyMask
        if ctrl:
            mask |= NSControlKeyMask
        if shift:
            mask |= NSShiftKeyMask  # NSAlphaShiftKeyMask
        if mask:
            item.setKeyEquivalentModifierMask_(mask)
    return item
Esempio n. 7
0
def create_menu(name='', app=None):
    menubar = NSMenu.alloc().init()
    appMenuItem = NSMenuItem.alloc().init()
    menubar.addItem_(appMenuItem)
    appMenu = NSMenu.alloc().init()

    fullItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
        NSStr('Full Screen'), get_selector('enterFullScreenMode:'), NSStr('f'))
    fullItem.setKeyEquivalentModifierMask_(NSControlKeyMask)  # Ctrl-Cmd-F
    appMenu.addItem_(fullItem)

    appMenu.addItem_(NSMenuItem.separatorItem())

    hideItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
        NSStr('Hide ' + name), get_selector('hide:'), NSStr('h'))
    appMenu.addItem_(hideItem)

    otherItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
        NSStr('Hide Others'), get_selector('hideOtherApplications:'),
        NSStr('h'))
    otherItem.setKeyEquivalentModifierMask_(NSAlternateKeyMask)  # Alt-Cmd-H
    appMenu.addItem_(otherItem)

    showItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
        NSStr('Show All'), get_selector('unhideAllApplications:'), NSStr(''))
    appMenu.addItem_(showItem)

    appMenu.addItem_(NSMenuItem.separatorItem())

    quitItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(
        NSStr('Quit ' + name), get_selector('terminate:'), NSStr('q'))
    appMenu.addItem_(quitItem)

    appMenuItem.setSubmenu_(appMenu)

    if app:
        app.setMainMenu_(menubar)
    return menubar
Esempio n. 8
0
def _MenuItemSeparator():
    '''A menu separator item.
    '''
    return NSMenuItem.separatorItem()
Esempio n. 9
0
def new_menu_seperator():
    return NSMenuItem.separatorItem()