def buildStaticUI(): global __actions menu = QtGui.QMenu("Asset Management") __actions['assetMenu'] = menu _addAssetMenuItems(menu) helpmenu = hiero.ui.findMenuAction("Help") hiero.ui.menuBar().insertMenu(helpmenu, menu) filemenuaction = hiero.ui.findMenuAction("File") if filemenuaction: filemenu = filemenuaction.menu() __extendFileMenu(filemenu) clipmenuaction = hiero.ui.findMenuAction("Clip") if clipmenuaction: clipmenu = clipmenuaction.menu() __extendClipMenu(clipmenu) timelinemenuaction = hiero.ui.findMenuAction("Timeline") if timelinemenuaction: timelinemenu = timelinemenuaction.menu() if timelinemenu: __extendTimelineMenu(timelinemenu)
def _addAssetMenuItems(menu): global __actions menu.addAction(__actions['prefsAction']) # If auditing has been enabled by the env var, then these items might be useful if 'auditStartAction' in __actions: auditSubMenu = QtGui.QMenu("API Audit") auditSubMenu.addAction(__actions['auditStartAction']) auditSubMenu.addAction(__actions['auditStopAction']) auditSubMenu.addAction(__actions['auditPrintAction']) menu.addMenu(auditSubMenu) return menu
def populateTimelineContextMenu(event): """ @localeUsage hiero.specifications.HieroTimelineContextMenuLocale """ global __actions if not (hasattr(event, "menu") and event.menu) or not hasattr( event.sender, 'selection'): # Something has gone wrong, we should only be here if raised # by the timeline view which gives a selection. return session = FnAssetAPI.SessionManager.currentSession() if not session.currentManager(): return managerName = session.currentManager().getDisplayName() submenu = QtGui.QMenu(managerName) session.configureAction(submenu, addIcon=True) selection = event.sender.selection() if not selection: view = hiero.ui.activeView() if view and hasattr(view, 'sequence'): sequence = view.sequence() if sequence: selection = [ sequence, ] generateShots = __actions['generateShotsAction'] submenu.addAction(generateShots) updateShots = __actions['updateShotsAction'] submenu.addAction(updateShots) publishClips = __actions['publishClipsAction'] submenu.addAction(publishClips) publishShotClips = __actions['publishShotClipsAction'] submenu.addAction(publishShotClips) # See if we have a Build Track menu allowBuildTrack = True buildTrackMenu = utils.findNamedSubMenu("Build Track", event.menu) if not buildTrackMenu: # If we didnt have the menu, then the build track actions shouldnt be there # (as Hiero's arent). But we make the 'refresh' action available as its new allowBuildTrack = False buildTrackMenu = QtGui.QMenu("Build Track") event.menu.addMenu(buildTrackMenu) # Add in our Build Track action ## @todo put this in the Build Track submenu not here ## @todo Check managementPolicy ## @todo Disable if the provider doesn't have the widget buildAssetTrack = __actions['buildAssetTrack'] buildAssetTrack.reset() buildAssetTrack.setEnabled(allowBuildTrack) buildTrackMenu.addAction(buildAssetTrack) refreshAssetTrack = __actions['refreshAssetTrack'] buildTrackMenu.addAction(refreshAssetTrack) event.menu.addSeparator() event.menu.addMenu(submenu) locale = specifications.HieroTimelineContextMenuLocale() locale.event = event context = session.createContext() context.locale = locale context.access = context.kOther uiDelegate = session.getUIDelegate() uiDelegate.populateUI(submenu, None, context)