コード例 #1
0
    def processUserAddedShares(self):
        user_added_shares = SMUtilities.get_user_added_shares()
        self.connectMenu.addItem_(NSMenuItem.separatorItem())
        if user_added_shares:
            no_available_shares = self.connectMenu.indexOfItemWithTitle_(
                'No available shares...')
            if no_available_shares != -1:
                self.connectMenu.removeItemAtIndex_(no_available_shares)
            for share in user_added_shares:
                share_menu = self.buildShareMenu(share)
                self.connectMenu.addItem_(share_menu)
                if share.get('hide_from_menu'):
                    share_menu.setHidden_(True)
        self.connectMenu.addItem_(NSMenuItem.separatorItem())
        if self.ldap_reachable:
            hide_all = False
            self.connectMenu.addItemWithTitle_action_keyEquivalent_(
                'Show Hidden', self.toggleShowHidden_, '').setTarget_(self)
            self.connectMenu.itemWithTitle_('Show Hidden').setHidden_(True)
            self.toggleShowHiddenButton()
        else:
            hide_all = True
        self.connectMenu.addItemWithTitle_action_keyEquivalent_(
            'Check For Updates', self.manualUpdate_, '').setTarget_(self)
        for shareMenu in self.connectMenu.itemArray():
            if shareMenu.submenu() and hide_all:
                shareMenu.setHidden_(True)

        self.connectMenu.addItem_(NSMenuItem.separatorItem())
        if SMUtilities.get_mounted_network_volumes():
            self.connectMenu.addItemWithTitle_action_keyEquivalent_(
                'Unmount All', self.unmountShare_, '').setTarget_(self)
        else:
            self.connectMenu.addItemWithTitle_action_keyEquivalent_(
                'Unmount All', None, '')
コード例 #2
0
 def buildShareMenu(self, share):
     user_added_shares = SMUtilities.get_user_added_shares()
     shareMenu = NSMenu.alloc().init()
     connectMenuItem = NSMenuItem.alloc(
     ).initWithTitle_action_keyEquivalent_(share.get('title'), None, '')
     if share.get(
             'mount_point') in SMUtilities.get_mounted_network_volumes():
         connectMenuItem.setState_(True)
         shareMenu.addItemWithTitle_action_keyEquivalent_(
             'Unmount Share', self.unmountShare_, '').setTarget_(self)
         shareMenu.addItemWithTitle_action_keyEquivalent_(
             'Open Folder', self.openFolderClicked_, '').setTarget_(self)
     else:
         connectMenuItem.setState_(False)
         shareMenu.addItemWithTitle_action_keyEquivalent_(
             'Mount Share', self.connectToShare_, '').setTarget_(self)
     shareMenu.addItem_(NSMenuItem.separatorItem())
     shareMenu.addItemWithTitle_action_keyEquivalent_(
         'Connect Automatically', self.toggleAutoConnect_,
         '').setTarget_(self)
     if share.get('connect_automatically'):
         shareMenu.itemWithTitle_('Connect Automatically').setState_(True)
     shareMenu.addItemWithTitle_action_keyEquivalent_(
         'Hide from Menu', self.toggleHideShare_, '').setTarget_(self)
     if share in user_added_shares:
         shareMenu.addItemWithTitle_action_keyEquivalent_(
             'Remove from Menu', self.removeUserShare_, '').setTarget_(self)
     connectMenuItem.setSubmenu_(shareMenu)
     return connectMenuItem
コード例 #3
0
    def processUserAddedShares(self):
        user_added_shares = SMUtilities.get_user_added_shares()
        self.connectMenu.addItem_(NSMenuItem.separatorItem())
        if user_added_shares:
            no_available_shares = self.connectMenu.indexOfItemWithTitle_('No available shares...')
            if no_available_shares != -1:
                self.connectMenu.removeItemAtIndex_(no_available_shares)
            for share in user_added_shares:
                share_menu = self.buildShareMenu(share)
                self.connectMenu.addItem_(share_menu)
                if share.get('hide_from_menu'):
                    share_menu.setHidden_(True)
        self.connectMenu.addItem_(NSMenuItem.separatorItem())
        if self.ldap_reachable:
            hide_all = False
            self.connectMenu.addItemWithTitle_action_keyEquivalent_('Show Hidden', self.toggleShowHidden_, '').setTarget_(self)
            self.connectMenu.itemWithTitle_('Show Hidden').setHidden_(True)
            self.toggleShowHiddenButton()
        else:
            hide_all = True
        self.connectMenu.addItemWithTitle_action_keyEquivalent_('Check For Updates', self.manualUpdate_, '').setTarget_(self)
        for shareMenu in self.connectMenu.itemArray():
            if shareMenu.submenu() and hide_all:
                shareMenu.setHidden_(True)

        self.connectMenu.addItem_(NSMenuItem.separatorItem())
        if SMUtilities.get_mounted_network_volumes():
            self.connectMenu.addItemWithTitle_action_keyEquivalent_('Unmount All', self.unmountShare_, '').setTarget_(self)
        else:
            self.connectMenu.addItemWithTitle_action_keyEquivalent_('Unmount All', None, '')
コード例 #4
0
 def buildShareMenu(self, share):
     user_added_shares = SMUtilities.get_user_added_shares()
     shareMenu = NSMenu.alloc().init()
     connectMenuItem = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(share.get('title'), None, '')
     if share.get('mount_point') in SMUtilities.get_mounted_network_volumes():
         connectMenuItem.setState_(True)
         shareMenu.addItemWithTitle_action_keyEquivalent_('Unmount Share',
                                                          self.unmountShare_,
                                                          '').setTarget_(self)
         shareMenu.addItemWithTitle_action_keyEquivalent_('Open Folder',
                                                          self.openFolderClicked_,
                                                          '').setTarget_(self)
     else:
         connectMenuItem.setState_(False)
         shareMenu.addItemWithTitle_action_keyEquivalent_('Mount Share',
                                                          self.connectToShare_,
                                                          '').setTarget_(self)
     shareMenu.addItem_(NSMenuItem.separatorItem())
     shareMenu.addItemWithTitle_action_keyEquivalent_('Connect Automatically',
                                                      self.toggleAutoConnect_,
                                                      '').setTarget_(self)
     if share.get('connect_automatically'):
         shareMenu.itemWithTitle_('Connect Automatically').setState_(True)
     shareMenu.addItemWithTitle_action_keyEquivalent_('Hide from Menu',
                                                      self.toggleHideShare_,
                                                      '').setTarget_(self)
     if share in user_added_shares:
         shareMenu.addItemWithTitle_action_keyEquivalent_('Remove from Menu',
                                                          self.removeUserShare_,
                                                          '').setTarget_(self)
     connectMenuItem.setSubmenu_(shareMenu)
     return connectMenuItem
コード例 #5
0
 def getAvailableShares(self):
     available_shares = list()
     managed_shares = SMUtilities.get_managed_shares()
     user_added_shares = SMUtilities.get_user_added_shares()
     for share in managed_shares:
         share = dict(share)
         share['share_type'] = 'managed'
         available_shares.append(share)
     for share in user_added_shares:
         share = dict(share)
         share['share_type'] = 'user'
         available_shares.append(share)
     return available_shares
コード例 #6
0
 def getAvailableShares(self):
     available_shares = list()
     managed_shares = SMUtilities.get_managed_shares()
     user_added_shares = SMUtilities.get_user_added_shares()
     for share in managed_shares:
         share = dict(share)
         share['share_type'] = 'managed'
         available_shares.append(share)
     for share in user_added_shares:
         share = dict(share)
         share['share_type'] = 'user'
         available_shares.append(share)
     return available_shares
コード例 #7
0
    def autoMountShares(self):
        managed_shares = SMUtilities.get_managed_shares()
        user_added_shares = SMUtilities.get_user_added_shares()
        if self.ldap_reachable:
            for share in managed_shares:
                if (share.get('connect_automatically')
                        and share.get('mount_point')
                        not in SMUtilities.get_mounted_network_volumes()):

                    NSLog('Automounting {0}'.format(share.get('share_url')))
                    SMUtilities.mount_share(share.get('share_url'))
            for share in user_added_shares:
                if (share.get('connect_automatically')
                        and share.get('mount_point')
                        not in SMUtilities.get_mounted_network_volumes()):
                    SMUtilities.mount_share(share.get('share_url'))
コード例 #8
0
    def autoMountShares(self):
        managed_shares = SMUtilities.get_managed_shares()
        user_added_shares = SMUtilities.get_user_added_shares()
        if self.ldap_reachable:
            for share in managed_shares:
                if (share.get('connect_automatically')
                    and share.get('mount_point')
                    not in SMUtilities.get_mounted_network_volumes()):

                    NSLog('Automounting {0}'.format(share.get('share_url')))
                    SMUtilities.mount_share(share.get('share_url'))
            for share in user_added_shares:
                if (share.get('connect_automatically')
                    and share.get('mount_point')
                    not in SMUtilities.get_mounted_network_volumes()):
                    SMUtilities.mount_share(share.get('share_url'))