1188 @return reference to the generated menu |
1188 @return reference to the generated menu |
1189 @rtype QMenu |
1189 @rtype QMenu |
1190 """ |
1190 """ |
1191 menu = QMenu(self.tr("Show")) |
1191 menu = QMenu(self.tr("Show")) |
1192 |
1192 |
1193 menu.addAction(self.tr("Code metrics..."), self.__showCodeMetrics) |
1193 self.codeMetricsAct = menu.addAction( |
|
1194 self.tr("Code metrics..."), self.__showCodeMetrics |
|
1195 ) |
1194 self.coverageMenuAct = menu.addAction( |
1196 self.coverageMenuAct = menu.addAction( |
1195 self.tr("Code coverage..."), self.__showCodeCoverage |
1197 self.tr("Code coverage..."), self.__showCodeCoverage |
1196 ) |
1198 ) |
1197 self.coverageShowAnnotationMenuAct = menu.addAction( |
1199 self.coverageShowAnnotationMenuAct = menu.addAction( |
1198 self.tr("Show code coverage annotations"), self.codeCoverageShowAnnotations |
1200 self.tr("Show code coverage annotations"), self.codeCoverageShowAnnotations |
6414 if not self.isResourcesFile: |
6416 if not self.isResourcesFile: |
6415 if self.fileName and self.isPyFile(): |
6417 if self.fileName and self.isPyFile(): |
6416 self.menuActs["Show"].setEnabled(True) |
6418 self.menuActs["Show"].setEnabled(True) |
6417 else: |
6419 else: |
6418 self.menuActs["Show"].setEnabled(False) |
6420 self.menuActs["Show"].setEnabled(False) |
|
6421 # TODO: disable that for server files |
6419 if self.fileName and (self.isPyFile() or self.isRubyFile()): |
6422 if self.fileName and (self.isPyFile() or self.isRubyFile()): |
6420 self.menuActs["Diagrams"].setEnabled(True) |
6423 self.menuActs["Diagrams"].setEnabled(True) |
6421 else: |
6424 else: |
6422 self.menuActs["Diagrams"].setEnabled(False) |
6425 self.menuActs["Diagrams"].setEnabled(False) |
|
6426 # TODO: disable 'Check' and 'Code Formatting' for server files |
6423 if not self.miniMenu: |
6427 if not self.miniMenu: |
6424 if self.lexer_ is not None: |
6428 if self.lexer_ is not None: |
6425 self.menuActs["Comment"].setEnabled(self.lexer_.canBlockComment()) |
6429 self.menuActs["Comment"].setEnabled(self.lexer_.canBlockComment()) |
6426 self.menuActs["Uncomment"].setEnabled(self.lexer_.canBlockComment()) |
6430 self.menuActs["Uncomment"].setEnabled(self.lexer_.canBlockComment()) |
6427 else: |
6431 else: |
6509 self.coverageShowAnnotationMenuAct.setEnabled( |
6513 self.coverageShowAnnotationMenuAct.setEnabled( |
6510 coEnable and len(self.notcoveredMarkers) == 0 |
6514 coEnable and len(self.notcoveredMarkers) == 0 |
6511 ) |
6515 ) |
6512 self.coverageHideAnnotationMenuAct.setEnabled(len(self.notcoveredMarkers) > 0) |
6516 self.coverageHideAnnotationMenuAct.setEnabled(len(self.notcoveredMarkers) > 0) |
6513 |
6517 |
|
6518 # disable actions not supporting eric-ide server |
|
6519 self.codeMetricsAct.setEnabled( |
|
6520 False if fn is None else FileSystemUtilities.isPlainFileName(fn) |
|
6521 ) |
|
6522 |
|
6523 # TODO: disable action in Radon plugin for server files |
6514 self.showMenu.emit("Show", self.menuShow, self) |
6524 self.showMenu.emit("Show", self.menuShow, self) |
6515 |
6525 |
6516 @pyqtSlot() |
6526 @pyqtSlot() |
6517 def __showContextMenuGraphics(self): |
6527 def __showContextMenuGraphics(self): |
6518 """ |
6528 """ |