def onFileContextMenuAboutToShow( self ): " Called when the plugin file context menu is about to show " path = str( self.fileParentMenu.menuAction().data().toString() ) pathStatus = self.getLocalStatus( path ) debugMode = self.ide.mainWindow.debugMode if pathStatus == IND_ERROR: self.fileContextInfoAct.setEnabled( False ) self.fileContextUpdateAct.setEnabled( False ) self.fileContextAnnotateAct.setEnabled( False ) self.fileContextLogAct.setEnabled( False ) self.fileContextAddAct.setEnabled( False ) self.fileContextCommitAct.setEnabled( False ) self.fileContextDeleteAct.setEnabled( False ) self.fileContextRevertAct.setEnabled( False ) self.fileContextDiffAct.setEnabled( False ) self.fileContextPropsAct.setEnabled( False ) return if pathStatus == self.NOT_UNDER_VCS: self.fileContextInfoAct.setEnabled( False ) self.fileContextUpdateAct.setEnabled( False ) self.fileContextAnnotateAct.setEnabled( False ) self.fileContextLogAct.setEnabled( False ) self.fileContextCommitAct.setEnabled( False ) self.fileContextDeleteAct.setEnabled( False ) self.fileContextRevertAct.setEnabled( False ) self.fileContextDiffAct.setEnabled( False ) self.fileContextPropsAct.setEnabled( False ) upperDirStatus = self.getLocalStatus( os.path.dirname( path ) ) if upperDirStatus == self.NOT_UNDER_VCS: self.fileContextAddAct.setEnabled( False ) else: self.fileContextAddAct.setEnabled( upperDirStatus != IND_ERROR and not debugMode ) return self.fileContextInfoAct.setEnabled( True ) self.fileContextUpdateAct.setEnabled( not debugMode ) self.fileContextAnnotateAct.setEnabled( True ) self.fileContextLogAct.setEnabled( True ) self.fileContextAddAct.setEnabled( False ) self.fileContextPropsAct.setEnabled( not debugMode ) self.fileContextCommitAct.setEnabled( pathStatus in [ IND_ADDED, IND_DELETED, IND_MERGED, IND_MODIFIED_LR, IND_MODIFIED_L, IND_REPLACED, IND_CONFLICTED ] and not debugMode ) self.fileContextDeleteAct.setEnabled( pathStatus != IND_DELETED and not debugMode ) self.fileContextRevertAct.setEnabled( pathStatus != IND_UPTODATE and not debugMode ) # Diff makes sense only for text files fileType = detectFileType( path ) self.fileContextDiffAct.setEnabled( isFileTypeSearchable( fileType ) ) return
def onFileContextMenuAboutToShow(self): " Called when the plugin file context menu is about to show " path = str(self.fileParentMenu.menuAction().data().toString()) pathStatus = self.getLocalStatus(path) debugMode = self.ide.mainWindow.debugMode if pathStatus == IND_ERROR: self.fileContextInfoAct.setEnabled(False) self.fileContextUpdateAct.setEnabled(False) self.fileContextAnnotateAct.setEnabled(False) self.fileContextLogAct.setEnabled(False) self.fileContextAddAct.setEnabled(False) self.fileContextCommitAct.setEnabled(False) self.fileContextDeleteAct.setEnabled(False) self.fileContextRevertAct.setEnabled(False) self.fileContextDiffAct.setEnabled(False) self.fileContextPropsAct.setEnabled(False) return if pathStatus == self.NOT_UNDER_VCS: self.fileContextInfoAct.setEnabled(False) self.fileContextUpdateAct.setEnabled(False) self.fileContextAnnotateAct.setEnabled(False) self.fileContextLogAct.setEnabled(False) self.fileContextCommitAct.setEnabled(False) self.fileContextDeleteAct.setEnabled(False) self.fileContextRevertAct.setEnabled(False) self.fileContextDiffAct.setEnabled(False) self.fileContextPropsAct.setEnabled(False) upperDirStatus = self.getLocalStatus(os.path.dirname(path)) if upperDirStatus == self.NOT_UNDER_VCS: self.fileContextAddAct.setEnabled(False) else: self.fileContextAddAct.setEnabled(upperDirStatus != IND_ERROR and not debugMode) return self.fileContextInfoAct.setEnabled(True) self.fileContextUpdateAct.setEnabled(not debugMode) self.fileContextAnnotateAct.setEnabled(True) self.fileContextLogAct.setEnabled(True) self.fileContextAddAct.setEnabled(False) self.fileContextPropsAct.setEnabled(not debugMode) self.fileContextCommitAct.setEnabled(pathStatus in [ IND_ADDED, IND_DELETED, IND_MERGED, IND_MODIFIED_LR, IND_MODIFIED_L, IND_REPLACED, IND_CONFLICTED ] and not debugMode) self.fileContextDeleteAct.setEnabled(pathStatus != IND_DELETED and not debugMode) self.fileContextRevertAct.setEnabled(pathStatus != IND_UPTODATE and not debugMode) # Diff makes sense only for text files fileType = detectFileType(path) self.fileContextDiffAct.setEnabled(isFileTypeSearchable(fileType)) return
def __init__(self, plugin, pathsToCommit, pathsToIgnore, parent=None): QDialog.__init__(self, parent) self.__plugin = plugin self.__createLayout(pathsToCommit, pathsToIgnore) self.setWindowTitle("SVN commit") # Fill the lists for item in pathsToCommit: newItem = QTreeWidgetItem(["", item[0], STATUS[item[1]]]) newItem.setCheckState(CHECK_COL, Qt.Checked) newItem.setToolTip(PATH_COL, item[0]) newItem.setToolTip(STATUS_COL, STATUS[item[1]]) self.__pathToCommitView.addTopLevelItem(newItem) diffButton = self.__createDiffButton() diffButton.path = item[0] diffButton.status = item[1] fileType = detectFileType(item[0]) if os.path.isdir( item[ 0 ] ) or item[ 1 ] in [ IND_REPLACED ] \ or not isFileTypeSearchable( fileType ): diffButton.setEnabled(False) diffButton.setToolTip("Diff is not available") else: diffButton.setEnabled(True) diffButton.setToolTip("Click to see diff") self.__pathToCommitView.setItemWidget(newItem, DIFF_COL, diffButton) self.__resizeCommitPaths() self.__sortCommitPaths() for item in pathsToIgnore: newItem = QTreeWidgetItem([item[0], STATUS[item[1]]]) newItem.setToolTip(0, item[0]) newItem.setToolTip(1, STATUS[item[1]]) self.__pathToIgnoreView.addTopLevelItem(newItem) self.__pathToIgnoreView.header().resizeSections( QHeaderView.ResizeToContents) self.__updateSelectAllStatus() self.__updateOKStatus() self.__message.setFocus() return
def __init__( self, plugin, pathsToCommit, pathsToIgnore, parent = None ): QDialog.__init__( self, parent ) self.__plugin = plugin self.__createLayout( pathsToCommit, pathsToIgnore ) self.setWindowTitle( "SVN commit" ) # Fill the lists for item in pathsToCommit: newItem = QTreeWidgetItem( [ "", item[ 0 ], STATUS[ item[ 1 ] ] ] ) newItem.setCheckState( CHECK_COL, Qt.Checked ) newItem.setToolTip( PATH_COL, item[ 0 ] ) newItem.setToolTip( STATUS_COL, STATUS[ item[ 1 ] ] ) self.__pathToCommitView.addTopLevelItem( newItem ) diffButton = self.__createDiffButton() diffButton.path = item[ 0 ] diffButton.status = item[ 1 ] fileType = detectFileType( item[ 0 ] ) if os.path.isdir( item[ 0 ] ) or item[ 1 ] in [ IND_REPLACED ] \ or not isFileTypeSearchable( fileType ): diffButton.setEnabled( False ) diffButton.setToolTip( "Diff is not available" ) else: diffButton.setEnabled( True ) diffButton.setToolTip( "Click to see diff" ) self.__pathToCommitView.setItemWidget( newItem, DIFF_COL, diffButton ) self.__resizeCommitPaths() self.__sortCommitPaths() for item in pathsToIgnore: newItem = QTreeWidgetItem( [ item[ 0 ], STATUS[ item[ 1 ] ] ] ) newItem.setToolTip( 0, item[ 0 ] ) newItem.setToolTip( 1, STATUS[ item[ 1 ] ] ) self.__pathToIgnoreView.addTopLevelItem( newItem ) self.__pathToIgnoreView.header().resizeSections( QHeaderView.ResizeToContents ) self.__updateSelectAllStatus() self.__updateOKStatus() self.__message.setFocus() return
def onBufferContextMenuAboutToshow( self ): " Called when the plugin buffer context menu is about to show " path = self.ide.currentEditorWidget.getFileName() debugMode = self.ide.mainWindow.debugMode if not os.path.isabs( path ): self.bufContextInfoAct.setEnabled( False ) self.bufContextUpdateAct.setEnabled( False ) self.bufContextAnnotateAct.setEnabled( False ) self.bufContextLogAct.setEnabled( False ) self.bufContextAddAct.setEnabled( False ) self.bufContextCommitAct.setEnabled( False ) self.bufContextDeleteAct.setEnabled( False ) self.bufContextRevertAct.setEnabled( False ) self.bufContextDiffAct.setEnabled( False ) self.bufContextPropsAct.setEnabled( False ) return pathStatus = self.getLocalStatus( path ) if pathStatus == IND_ERROR: self.bufContextInfoAct.setEnabled( False ) self.bufContextUpdateAct.setEnabled( False ) self.bufContextAnnotateAct.setEnabled( False ) self.bufContextLogAct.setEnabled( False ) self.bufContextAddAct.setEnabled( False ) self.bufContextCommitAct.setEnabled( False ) self.bufContextDeleteAct.setEnabled( False ) self.bufContextRevertAct.setEnabled( False ) self.bufContextDiffAct.setEnabled( False ) self.bufContextPropsAct.setEnabled( False ) return if pathStatus == self.NOT_UNDER_VCS: self.bufContextInfoAct.setEnabled( False ) self.bufContextUpdateAct.setEnabled( False ) self.bufContextAnnotateAct.setEnabled( False ) self.bufContextLogAct.setEnabled( False ) self.bufContextCommitAct.setEnabled( False ) self.bufContextDeleteAct.setEnabled( False ) self.bufContextRevertAct.setEnabled( False ) self.bufContextDiffAct.setEnabled( False ) self.bufContextPropsAct.setEnabled( False ) upperDirStatus = self.getLocalStatus( os.path.dirname( path ) ) if upperDirStatus == self.NOT_UNDER_VCS: self.bufContextAddAct.setEnabled( False ) else: self.bufContextAddAct.setEnabled( upperDirStatus != IND_ERROR and not debugMode ) return self.bufContextInfoAct.setEnabled( True ) self.bufContextUpdateAct.setEnabled( not debugMode ) self.bufContextAddAct.setEnabled( False ) self.bufContextPropsAct.setEnabled( not debugMode ) self.bufContextDeleteAct.setEnabled( pathStatus != IND_DELETED and not debugMode ) self.bufContextRevertAct.setEnabled( pathStatus != IND_UPTODATE and not debugMode ) # Diff makes sense only for text files fileType = detectFileType( path ) self.bufContextDiffAct.setEnabled( isFileTypeSearchable( fileType ) ) widgetType = self.ide.currentEditorWidget.getType() if widgetType in [ MainWindowTabWidgetBase.PlainTextEditor, MainWindowTabWidgetBase.PythonGraphicsEditor ]: self.bufContextAnnotateAct.setEnabled( True ) self.bufContextLogAct.setEnabled( True ) else: self.bufContextAnnotateAct.setEnabled( False ) self.bufContextLogAct.setEnabled( False ) # Set the Commit... menu item status if pathStatus not in [ IND_ADDED, IND_DELETED, IND_MERGED, IND_MODIFIED_LR, IND_MODIFIED_L, IND_REPLACED, IND_CONFLICTED ]: self.bufContextCommitAct.setEnabled( False ) else: if widgetType in [ MainWindowTabWidgetBase.PlainTextEditor, MainWindowTabWidgetBase.PythonGraphicsEditor ]: self.bufContextCommitAct.setEnabled( not self.ide.currentEditorWidget.isModified() and not debugMode ) else: self.bufContextCommitAct.setEnabled( False ) return
def onBufferContextMenuAboutToshow(self): " Called when the plugin buffer context menu is about to show " path = self.ide.currentEditorWidget.getFileName() debugMode = self.ide.mainWindow.debugMode if not os.path.isabs(path): self.bufContextInfoAct.setEnabled(False) self.bufContextUpdateAct.setEnabled(False) self.bufContextAnnotateAct.setEnabled(False) self.bufContextLogAct.setEnabled(False) self.bufContextAddAct.setEnabled(False) self.bufContextCommitAct.setEnabled(False) self.bufContextDeleteAct.setEnabled(False) self.bufContextRevertAct.setEnabled(False) self.bufContextDiffAct.setEnabled(False) self.bufContextPropsAct.setEnabled(False) return pathStatus = self.getLocalStatus(path) if pathStatus == IND_ERROR: self.bufContextInfoAct.setEnabled(False) self.bufContextUpdateAct.setEnabled(False) self.bufContextAnnotateAct.setEnabled(False) self.bufContextLogAct.setEnabled(False) self.bufContextAddAct.setEnabled(False) self.bufContextCommitAct.setEnabled(False) self.bufContextDeleteAct.setEnabled(False) self.bufContextRevertAct.setEnabled(False) self.bufContextDiffAct.setEnabled(False) self.bufContextPropsAct.setEnabled(False) return if pathStatus == self.NOT_UNDER_VCS: self.bufContextInfoAct.setEnabled(False) self.bufContextUpdateAct.setEnabled(False) self.bufContextAnnotateAct.setEnabled(False) self.bufContextLogAct.setEnabled(False) self.bufContextCommitAct.setEnabled(False) self.bufContextDeleteAct.setEnabled(False) self.bufContextRevertAct.setEnabled(False) self.bufContextDiffAct.setEnabled(False) self.bufContextPropsAct.setEnabled(False) upperDirStatus = self.getLocalStatus(os.path.dirname(path)) if upperDirStatus == self.NOT_UNDER_VCS: self.bufContextAddAct.setEnabled(False) else: self.bufContextAddAct.setEnabled(upperDirStatus != IND_ERROR and not debugMode) return self.bufContextInfoAct.setEnabled(True) self.bufContextUpdateAct.setEnabled(not debugMode) self.bufContextAddAct.setEnabled(False) self.bufContextPropsAct.setEnabled(not debugMode) self.bufContextDeleteAct.setEnabled(pathStatus != IND_DELETED and not debugMode) self.bufContextRevertAct.setEnabled(pathStatus != IND_UPTODATE and not debugMode) # Diff makes sense only for text files fileType = detectFileType(path) self.bufContextDiffAct.setEnabled(isFileTypeSearchable(fileType)) widgetType = self.ide.currentEditorWidget.getType() if widgetType in [ MainWindowTabWidgetBase.PlainTextEditor, MainWindowTabWidgetBase.PythonGraphicsEditor ]: self.bufContextAnnotateAct.setEnabled(True) self.bufContextLogAct.setEnabled(True) else: self.bufContextAnnotateAct.setEnabled(False) self.bufContextLogAct.setEnabled(False) # Set the Commit... menu item status if pathStatus not in [ IND_ADDED, IND_DELETED, IND_MERGED, IND_MODIFIED_LR, IND_MODIFIED_L, IND_REPLACED, IND_CONFLICTED ]: self.bufContextCommitAct.setEnabled(False) else: if widgetType in [ MainWindowTabWidgetBase.PlainTextEditor, MainWindowTabWidgetBase.PythonGraphicsEditor ]: self.bufContextCommitAct.setEnabled( not self.ide.currentEditorWidget.isModified() and not debugMode) else: self.bufContextCommitAct.setEnabled(False) return