--- a/src/eric7/QScintilla/Editor.py Wed Feb 14 10:24:23 2024 +0100 +++ b/src/eric7/QScintilla/Editor.py Thu Feb 15 13:59:02 2024 +0100 @@ -1190,7 +1190,9 @@ """ menu = QMenu(self.tr("Show")) - menu.addAction(self.tr("Code metrics..."), self.__showCodeMetrics) + self.codeMetricsAct = menu.addAction( + self.tr("Code metrics..."), self.__showCodeMetrics + ) self.coverageMenuAct = menu.addAction( self.tr("Code coverage..."), self.__showCodeCoverage ) @@ -6416,10 +6418,12 @@ self.menuActs["Show"].setEnabled(True) else: self.menuActs["Show"].setEnabled(False) + # TODO: disable that for server files if self.fileName and (self.isPyFile() or self.isRubyFile()): self.menuActs["Diagrams"].setEnabled(True) else: self.menuActs["Diagrams"].setEnabled(False) + # TODO: disable 'Check' and 'Code Formatting' for server files if not self.miniMenu: if self.lexer_ is not None: self.menuActs["Comment"].setEnabled(self.lexer_.canBlockComment()) @@ -6511,6 +6515,12 @@ ) self.coverageHideAnnotationMenuAct.setEnabled(len(self.notcoveredMarkers) > 0) + # disable actions not supporting eric-ide server + self.codeMetricsAct.setEnabled( + False if fn is None else FileSystemUtilities.isPlainFileName(fn) + ) + + # TODO: disable action in Radon plugin for server files self.showMenu.emit("Show", self.menuShow, self) @pyqtSlot()