--- a/src/eric7/Project/ProjectTranslationsBrowser.py Fri Mar 08 16:08:43 2024 +0100 +++ b/src/eric7/Project/ProjectTranslationsBrowser.py Sun Mar 10 16:15:14 2024 +0100 @@ -23,7 +23,7 @@ from eric7.EricGui.EricOverrideCursor import EricOverridenCursor from eric7.EricWidgets import EricMessageBox from eric7.EricWidgets.EricApplication import ericApp -from eric7.SystemUtilities import OSUtilities, QtUtilities +from eric7.SystemUtilities import FileSystemUtilities, OSUtilities, QtUtilities from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog from eric7.UI.NotificationWidget import NotificationTypes @@ -177,127 +177,144 @@ "PySide6", "PySide6C", ]: - act = self.menu.addAction( - self.tr("Generate translation"), self.__generateSelected - ) - self.tsMenuActions.append(act) - self.tsprocMenuActions.append(act) - act = self.menu.addAction( - self.tr("Generate translation (with obsolete)"), - self.__generateObsoleteSelected, - ) - self.tsMenuActions.append(act) - self.tsprocMenuActions.append(act) - act = self.menu.addAction( - self.tr("Generate all translations"), self.__generateAll - ) - self.tsprocMenuActions.append(act) - act = self.menu.addAction( - self.tr("Generate all translations (with obsolete)"), - self.__generateObsoleteAll, - ) - self.tsprocMenuActions.append(act) - self.menu.addSeparator() - self.__qtLinguistAct = self.menu.addAction( - self.tr("Open in Qt-Linguist"), self._openItem - ) - self.tsMenuActions.append(self.__qtLinguistAct) - act = self.menu.addAction( - self.tr("Open in Editor"), self.__openFileInEditor - ) - self.tsMenuActions.append(act) - self.menu.addSeparator() - act = self.menu.addAction( - self.tr("Release translation"), self.__releaseSelected - ) - self.tsMenuActions.append(act) - self.qmprocMenuActions.append(act) - act = self.menu.addAction( - self.tr("Release all translations"), self.__releaseAll - ) - self.qmprocMenuActions.append(act) - self.menu.addSeparator() - act = self.menu.addAction(self.tr("Preview translation"), self.__TRPreview) - self.qmMenuActions.append(act) - act = self.menu.addAction( - self.tr("Preview all translations"), self.__TRPreviewAll - ) - self.menu.addSeparator() - else: - if self.hooks["extractMessages"] is not None: + if FileSystemUtilities.isRemoteFileName(self.project.getProjectPath()): act = self.menu.addAction( - self.hooksMenuEntries.get( - "extractMessages", self.tr("Extract messages") - ), - self.__extractMessages, + self.tr("Open in Editor"), self.__openFileInEditor ) - self.menuActions.append(act) + self.tsMenuActions.append(act) self.menu.addSeparator() - if self.hooks["generateSelected"] is not None: + else: act = self.menu.addAction( - self.hooksMenuEntries.get( - "generateSelected", self.tr("Generate translation") - ), - self.__generateSelected, + self.tr("Generate translation"), self.__generateSelected ) self.tsMenuActions.append(act) self.tsprocMenuActions.append(act) - if self.hooks["generateSelectedWithObsolete"] is not None: act = self.menu.addAction( - self.hooksMenuEntries.get( - "generateSelectedWithObsolete", - self.tr("Generate translation (with obsolete)"), - ), + self.tr("Generate translation (with obsolete)"), self.__generateObsoleteSelected, ) self.tsMenuActions.append(act) self.tsprocMenuActions.append(act) - if self.hooks["generateAll"] is not None: act = self.menu.addAction( - self.hooksMenuEntries.get( - "generateAll", self.tr("Generate all translations") - ), - self.__generateAll, + self.tr("Generate all translations"), self.__generateAll ) self.tsprocMenuActions.append(act) - if self.hooks["generateAllWithObsolete"] is not None: act = self.menu.addAction( - self.hooksMenuEntries.get( - "generateAllWithObsolete", - self.tr("Generate all translations (with obsolete)"), - ), + self.tr("Generate all translations (with obsolete)"), self.__generateObsoleteAll, ) self.tsprocMenuActions.append(act) - self.menu.addSeparator() - if self.hooks["open"] is not None: + self.menu.addSeparator() + self.__qtLinguistAct = self.menu.addAction( + self.tr("Open in Qt-Linguist"), self._openItem + ) + self.tsMenuActions.append(self.__qtLinguistAct) act = self.menu.addAction( - self.hooksMenuEntries.get("open", self.tr("Open")), self._openItem + self.tr("Open in Editor"), self.__openFileInEditor ) self.tsMenuActions.append(act) - act = self.menu.addAction( - self.tr("Open in Editor"), self.__openFileInEditor - ) - self.tsMenuActions.append(act) - self.menu.addSeparator() - if self.hooks["releaseSelected"] is not None: + self.menu.addSeparator() act = self.menu.addAction( - self.hooksMenuEntries.get( - "releaseSelected", self.tr("Release translation") - ), - self.__releaseSelected, + self.tr("Release translation"), self.__releaseSelected ) self.tsMenuActions.append(act) self.qmprocMenuActions.append(act) - if self.hooks["releaseAll"] is not None: act = self.menu.addAction( - self.hooksMenuEntries.get( - "releaseAll", self.tr("Release all translations") - ), - self.__releaseAll, + self.tr("Release all translations"), self.__releaseAll ) self.qmprocMenuActions.append(act) - self.menu.addSeparator() + self.menu.addSeparator() + act = self.menu.addAction( + self.tr("Preview translation"), self.__TRPreview + ) + self.qmMenuActions.append(act) + act = self.menu.addAction( + self.tr("Preview all translations"), self.__TRPreviewAll + ) + self.menu.addSeparator() + else: + if FileSystemUtilities.isRemoteFileName(self.project.getProjectPath()): + act = self.menu.addAction( + self.tr("Open in Editor"), self.__openFileInEditor + ) + self.tsMenuActions.append(act) + self.menu.addSeparator() + else: + if self.hooks["extractMessages"] is not None: + act = self.menu.addAction( + self.hooksMenuEntries.get( + "extractMessages", self.tr("Extract messages") + ), + self.__extractMessages, + ) + self.menuActions.append(act) + self.menu.addSeparator() + if self.hooks["generateSelected"] is not None: + act = self.menu.addAction( + self.hooksMenuEntries.get( + "generateSelected", self.tr("Generate translation") + ), + self.__generateSelected, + ) + self.tsMenuActions.append(act) + self.tsprocMenuActions.append(act) + if self.hooks["generateSelectedWithObsolete"] is not None: + act = self.menu.addAction( + self.hooksMenuEntries.get( + "generateSelectedWithObsolete", + self.tr("Generate translation (with obsolete)"), + ), + self.__generateObsoleteSelected, + ) + self.tsMenuActions.append(act) + self.tsprocMenuActions.append(act) + if self.hooks["generateAll"] is not None: + act = self.menu.addAction( + self.hooksMenuEntries.get( + "generateAll", self.tr("Generate all translations") + ), + self.__generateAll, + ) + self.tsprocMenuActions.append(act) + if self.hooks["generateAllWithObsolete"] is not None: + act = self.menu.addAction( + self.hooksMenuEntries.get( + "generateAllWithObsolete", + self.tr("Generate all translations (with obsolete)"), + ), + self.__generateObsoleteAll, + ) + self.tsprocMenuActions.append(act) + self.menu.addSeparator() + if self.hooks["open"] is not None: + act = self.menu.addAction( + self.hooksMenuEntries.get("open", self.tr("Open")), + self._openItem, + ) + self.tsMenuActions.append(act) + act = self.menu.addAction( + self.tr("Open in Editor"), self.__openFileInEditor + ) + self.tsMenuActions.append(act) + self.menu.addSeparator() + if self.hooks["releaseSelected"] is not None: + act = self.menu.addAction( + self.hooksMenuEntries.get( + "releaseSelected", self.tr("Release translation") + ), + self.__releaseSelected, + ) + self.tsMenuActions.append(act) + self.qmprocMenuActions.append(act) + if self.hooks["releaseAll"] is not None: + act = self.menu.addAction( + self.hooksMenuEntries.get( + "releaseAll", self.tr("Release all translations") + ), + self.__releaseAll, + ) + self.qmprocMenuActions.append(act) + self.menu.addSeparator() act = self.menu.addAction( self.tr("Remove from project"), self.__removeLanguageFile ) @@ -312,75 +329,79 @@ self.tr("Add translation files..."), self.__addTranslationFiles ) self.menu.addSeparator() - self.menu.addAction(self.tr("Show in File Manager"), self._showInFileManager) + if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): + self.menu.addAction( + self.tr("Show in File Manager"), self._showInFileManager + ) self.menu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard) self.menu.addSeparator() self.menu.addAction(self.tr("Configure..."), self._configure) self.backMenu = QMenu(self) - if self.project.getProjectType() in [ - "PyQt5", - "PyQt5C", - "PyQt6", - "PyQt6C", - "E7Plugin", - "PySide2", - "PySide2C", - "PySide6", - "PySide6C", - ]: - act = self.backMenu.addAction( - self.tr("Generate all translations"), self.__generateAll - ) - self.tsprocBackMenuActions.append(act) - act = self.backMenu.addAction( - self.tr("Generate all translations (with obsolete)"), - self.__generateObsoleteAll, - ) - self.tsprocBackMenuActions.append(act) - act = self.backMenu.addAction( - self.tr("Release all translations"), self.__releaseAll - ) - self.qmprocBackMenuActions.append(act) - self.backMenu.addSeparator() - act = self.backMenu.addAction( - self.tr("Preview all translations"), self.__TRPreview - ) - else: - if self.hooks["extractMessages"] is not None: + if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): + if self.project.getProjectType() in [ + "PyQt5", + "PyQt5C", + "PyQt6", + "PyQt6C", + "E7Plugin", + "PySide2", + "PySide2C", + "PySide6", + "PySide6C", + ]: act = self.backMenu.addAction( - self.hooksMenuEntries.get( - "extractMessages", self.tr("Extract messages") - ), - self.__extractMessages, - ) - self.backMenu.addSeparator() - if self.hooks["generateAll"] is not None: - act = self.backMenu.addAction( - self.hooksMenuEntries.get( - "generateAll", self.tr("Generate all translations") - ), - self.__generateAll, + self.tr("Generate all translations"), self.__generateAll ) self.tsprocBackMenuActions.append(act) - if self.hooks["generateAllWithObsolete"] is not None: act = self.backMenu.addAction( - self.hooksMenuEntries.get( - "generateAllWithObsolete", - self.tr("Generate all translations (with obsolete)"), - ), + self.tr("Generate all translations (with obsolete)"), self.__generateObsoleteAll, ) self.tsprocBackMenuActions.append(act) - if self.hooks["releaseAll"] is not None: act = self.backMenu.addAction( - self.hooksMenuEntries.get( - "releaseAll", self.tr("Release all translations") - ), - self.__releaseAll, + self.tr("Release all translations"), self.__releaseAll ) self.qmprocBackMenuActions.append(act) - self.backMenu.addSeparator() + self.backMenu.addSeparator() + act = self.backMenu.addAction( + self.tr("Preview all translations"), self.__TRPreview + ) + else: + if self.hooks["extractMessages"] is not None: + act = self.backMenu.addAction( + self.hooksMenuEntries.get( + "extractMessages", self.tr("Extract messages") + ), + self.__extractMessages, + ) + self.backMenu.addSeparator() + if self.hooks["generateAll"] is not None: + act = self.backMenu.addAction( + self.hooksMenuEntries.get( + "generateAll", self.tr("Generate all translations") + ), + self.__generateAll, + ) + self.tsprocBackMenuActions.append(act) + if self.hooks["generateAllWithObsolete"] is not None: + act = self.backMenu.addAction( + self.hooksMenuEntries.get( + "generateAllWithObsolete", + self.tr("Generate all translations (with obsolete)"), + ), + self.__generateObsoleteAll, + ) + self.tsprocBackMenuActions.append(act) + if self.hooks["releaseAll"] is not None: + act = self.backMenu.addAction( + self.hooksMenuEntries.get( + "releaseAll", self.tr("Release all translations") + ), + self.__releaseAll, + ) + self.qmprocBackMenuActions.append(act) + self.backMenu.addSeparator() self.__addTranslationBackAct = self.backMenu.addAction( self.tr("New translation..."), self.project.addLanguage ) @@ -408,86 +429,101 @@ "PySide6", "PySide6C", ]: - act = self.multiMenu.addAction( - self.tr("Generate translations"), self.__generateSelected - ) - self.tsMultiMenuActions.append(act) - self.tsprocMultiMenuActions.append(act) - act = self.multiMenu.addAction( - self.tr("Generate translations (with obsolete)"), - self.__generateObsoleteSelected, - ) - self.tsMultiMenuActions.append(act) - self.tsprocMultiMenuActions.append(act) - self.multiMenu.addSeparator() - self.__qtLinguistMultiAct = self.multiMenu.addAction( - self.tr("Open in Qt-Linguist"), self._openItem - ) - self.tsMultiMenuActions.append(self.__qtLinguistMultiAct) - act = self.multiMenu.addAction( - self.tr("Open in Editor"), self.__openFileInEditor - ) - self.tsMultiMenuActions.append(act) - self.multiMenu.addSeparator() - act = self.multiMenu.addAction( - self.tr("Release translations"), self.__releaseSelected - ) - self.tsMultiMenuActions.append(act) - self.qmprocMultiMenuActions.append(act) - self.multiMenu.addSeparator() - act = self.multiMenu.addAction( - self.tr("Preview translations"), self.__TRPreview - ) - self.qmMultiMenuActions.append(act) - else: - if self.hooks["extractMessages"] is not None: + if FileSystemUtilities.isRemoteFileName(self.project.getProjectPath()): act = self.multiMenu.addAction( - self.hooksMenuEntries.get( - "extractMessages", self.tr("Extract messages") - ), - self.__extractMessages, + self.tr("Open in Editor"), self.__openFileInEditor ) - self.multiMenuActions.append(act) + self.tsMultiMenuActions.append(act) self.multiMenu.addSeparator() - if self.hooks["generateSelected"] is not None: + else: act = self.multiMenu.addAction( - self.hooksMenuEntries.get( - "generateSelected", self.tr("Generate translations") - ), - self.__generateSelected, + self.tr("Generate translations"), self.__generateSelected ) self.tsMultiMenuActions.append(act) self.tsprocMultiMenuActions.append(act) - if self.hooks["generateSelectedWithObsolete"] is not None: act = self.multiMenu.addAction( - self.hooksMenuEntries.get( - "generateSelectedWithObsolete", - self.tr("Generate translations (with obsolete)"), - ), + self.tr("Generate translations (with obsolete)"), self.__generateObsoleteSelected, ) self.tsMultiMenuActions.append(act) self.tsprocMultiMenuActions.append(act) - self.multiMenu.addSeparator() - if self.hooks["open"] is not None: + self.multiMenu.addSeparator() + self.__qtLinguistMultiAct = self.multiMenu.addAction( + self.tr("Open in Qt-Linguist"), self._openItem + ) + self.tsMultiMenuActions.append(self.__qtLinguistMultiAct) act = self.multiMenu.addAction( - self.hooksMenuEntries.get("open", self.tr("Open")), self._openItem + self.tr("Open in Editor"), self.__openFileInEditor ) self.tsMultiMenuActions.append(act) - act = self.multiMenu.addAction( - self.tr("Open in Editor"), self.__openFileInEditor - ) - self.tsMultiMenuActions.append(act) - self.multiMenu.addSeparator() - if self.hooks["releaseSelected"] is not None: + self.multiMenu.addSeparator() act = self.multiMenu.addAction( - self.hooksMenuEntries.get( - "releaseSelected", self.tr("Release translations") - ), - self.__releaseSelected, + self.tr("Release translations"), self.__releaseSelected ) self.tsMultiMenuActions.append(act) self.qmprocMultiMenuActions.append(act) + self.multiMenu.addSeparator() + act = self.multiMenu.addAction( + self.tr("Preview translations"), self.__TRPreview + ) + self.qmMultiMenuActions.append(act) + else: + if FileSystemUtilities.isRemoteFileName(self.project.getProjectPath()): + act = self.multiMenu.addAction( + self.tr("Open in Editor"), self.__openFileInEditor + ) + self.tsMultiMenuActions.append(act) + self.multiMenu.addSeparator() + else: + if self.hooks["extractMessages"] is not None: + act = self.multiMenu.addAction( + self.hooksMenuEntries.get( + "extractMessages", self.tr("Extract messages") + ), + self.__extractMessages, + ) + self.multiMenuActions.append(act) + self.multiMenu.addSeparator() + if self.hooks["generateSelected"] is not None: + act = self.multiMenu.addAction( + self.hooksMenuEntries.get( + "generateSelected", self.tr("Generate translations") + ), + self.__generateSelected, + ) + self.tsMultiMenuActions.append(act) + self.tsprocMultiMenuActions.append(act) + if self.hooks["generateSelectedWithObsolete"] is not None: + act = self.multiMenu.addAction( + self.hooksMenuEntries.get( + "generateSelectedWithObsolete", + self.tr("Generate translations (with obsolete)"), + ), + self.__generateObsoleteSelected, + ) + self.tsMultiMenuActions.append(act) + self.tsprocMultiMenuActions.append(act) + self.multiMenu.addSeparator() + if self.hooks["open"] is not None: + act = self.multiMenu.addAction( + self.hooksMenuEntries.get("open", self.tr("Open")), + self._openItem, + ) + self.tsMultiMenuActions.append(act) + act = self.multiMenu.addAction( + self.tr("Open in Editor"), self.__openFileInEditor + ) + self.tsMultiMenuActions.append(act) + self.multiMenu.addSeparator() + if self.hooks["releaseSelected"] is not None: + act = self.multiMenu.addAction( + self.hooksMenuEntries.get( + "releaseSelected", self.tr("Release translations") + ), + self.__releaseSelected, + ) + self.tsMultiMenuActions.append(act) + self.qmprocMultiMenuActions.append(act) self.multiMenu.addSeparator() act = self.multiMenu.addAction( self.tr("Remove from project"), self.__removeLanguageFile @@ -499,81 +535,85 @@ self.multiMenu.addAction(self.tr("Configure..."), self._configure) self.dirMenu = QMenu(self) - if self.project.getProjectType() in [ - "PyQt5", - "PyQt5C", - "PyQt6", - "PyQt6C", - "E7Plugin", - "PySide2", - "PySide2C", - "PySide6", - "PySide6C", - ]: - act = self.dirMenu.addAction( - self.tr("Generate all translations"), self.__generateAll - ) - self.tsprocDirMenuActions.append(act) - act = self.dirMenu.addAction( - self.tr("Generate all translations (with obsolete)"), - self.__generateObsoleteAll, - ) - self.tsprocDirMenuActions.append(act) - act = self.dirMenu.addAction( - self.tr("Release all translations"), self.__releaseAll - ) - self.qmprocDirMenuActions.append(act) - self.dirMenu.addSeparator() - act = self.dirMenu.addAction( - self.tr("Preview all translations"), self.__TRPreview - ) - else: - if self.hooks["extractMessages"] is not None: + if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): + if self.project.getProjectType() in [ + "PyQt5", + "PyQt5C", + "PyQt6", + "PyQt6C", + "E7Plugin", + "PySide2", + "PySide2C", + "PySide6", + "PySide6C", + ]: act = self.dirMenu.addAction( - self.hooksMenuEntries.get( - "extractMessages", self.tr("Extract messages") - ), - self.__extractMessages, - ) - self.dirMenuActions.append(act) - self.dirMenu.addSeparator() - if self.hooks["generateAll"] is not None: - act = self.dirMenu.addAction( - self.hooksMenuEntries.get( - "generateAll", self.tr("Generate all translations") - ), - self.__generateAll, + self.tr("Generate all translations"), self.__generateAll ) self.tsprocDirMenuActions.append(act) - if self.hooks["generateAllWithObsolete"] is not None: act = self.dirMenu.addAction( - self.hooksMenuEntries.get( - "generateAllWithObsolete", - self.tr("Generate all translations (with obsolete)"), - ), + self.tr("Generate all translations (with obsolete)"), self.__generateObsoleteAll, ) self.tsprocDirMenuActions.append(act) - if self.hooks["releaseAll"] is not None: act = self.dirMenu.addAction( - self.hooksMenuEntries.get( - "releaseAll", self.tr("Release all translations") - ), - self.__releaseAll, + self.tr("Release all translations"), self.__releaseAll ) self.qmprocDirMenuActions.append(act) + self.dirMenu.addSeparator() + act = self.dirMenu.addAction( + self.tr("Preview all translations"), self.__TRPreview + ) + else: + if self.hooks["extractMessages"] is not None: + act = self.dirMenu.addAction( + self.hooksMenuEntries.get( + "extractMessages", self.tr("Extract messages") + ), + self.__extractMessages, + ) + self.dirMenuActions.append(act) + self.dirMenu.addSeparator() + if self.hooks["generateAll"] is not None: + act = self.dirMenu.addAction( + self.hooksMenuEntries.get( + "generateAll", self.tr("Generate all translations") + ), + self.__generateAll, + ) + self.tsprocDirMenuActions.append(act) + if self.hooks["generateAllWithObsolete"] is not None: + act = self.dirMenu.addAction( + self.hooksMenuEntries.get( + "generateAllWithObsolete", + self.tr("Generate all translations (with obsolete)"), + ), + self.__generateObsoleteAll, + ) + self.tsprocDirMenuActions.append(act) + if self.hooks["releaseAll"] is not None: + act = self.dirMenu.addAction( + self.hooksMenuEntries.get( + "releaseAll", self.tr("Release all translations") + ), + self.__releaseAll, + ) + self.qmprocDirMenuActions.append(act) self.dirMenu.addSeparator() act = self.dirMenu.addAction(self.tr("Delete"), self._deleteDirectory) self.dirMenuActions.append(act) self.dirMenu.addSeparator() - self.__addTranslationDirAct = self.dirMenu.addAction( - self.tr("New translation..."), self.project.addLanguage - ) - self.dirMenu.addAction( - self.tr("Add translation files..."), self.__addTranslationFiles - ) - self.dirMenu.addSeparator() - self.dirMenu.addAction(self.tr("Show in File Manager"), self._showInFileManager) + if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): + self.__addTranslationDirAct = self.dirMenu.addAction( + self.tr("New translation..."), self.project.addLanguage + ) + self.dirMenu.addAction( + self.tr("Add translation files..."), self.__addTranslationFiles + ) + self.dirMenu.addSeparator() + self.dirMenu.addAction( + self.tr("Show in File Manager"), self._showInFileManager + ) self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard) self.dirMenu.addSeparator() self.dirMenu.addAction(self.tr("Configure..."), self._configure) @@ -655,8 +695,9 @@ elif tsFiles > 0: for act in self.tsMenuActions: act.setEnabled(True) - self.__qtLinguistAct.setEnabled(QtUtilities.hasQtLinguist()) - self.__qtLinguistMultiAct.setEnabled(QtUtilities.hasQtLinguist()) + if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): + self.__qtLinguistAct.setEnabled(QtUtilities.hasQtLinguist()) + self.__qtLinguistMultiAct.setEnabled(QtUtilities.hasQtLinguist()) for act in self.qmMenuActions: act.setEnabled(False) elif qmFiles > 0: @@ -727,17 +768,20 @@ """ Private slot called by the dirMenu aboutToShow signal. """ - if self.project.getProjectType() in [ - "PyQt5", - "PyQt5C", - "PyQt6", - "PyQt6C", - "E7Plugin", - "PySide2", - "PySide2C", - "PySide6", - "PySide6C", - ]: + if ( + FileSystemUtilities.isPlainFileName(self.project.getProjectPath()) + and self.project.getProjectType() in [ + "PyQt5", + "PyQt5C", + "PyQt6", + "PyQt6C", + "E7Plugin", + "PySide2", + "PySide2C", + "PySide6", + "PySide6C", + ] + ): if self.pylupdateProcRunning: for act in self.tsprocDirMenuActions: act.setEnabled(False) @@ -756,17 +800,20 @@ """ Private slot called by the backMenu aboutToShow signal. """ - if self.project.getProjectType() in [ - "PyQt5", - "PyQt5C", - "PyQt6", - "PyQt6C", - "E7Plugin", - "PySide2", - "PySide2C", - "PySide6", - "PySide6C", - ]: + if ( + FileSystemUtilities.isPlainFileName(self.project.getProjectPath()) + and self.project.getProjectType() in [ + "PyQt5", + "PyQt5C", + "PyQt6", + "PyQt6C", + "E7Plugin", + "PySide2", + "PySide2C", + "PySide6", + "PySide6C", + ] + ): if self.pylupdateProcRunning: for act in self.tsprocBackMenuActions: act.setEnabled(False) @@ -795,7 +842,10 @@ # hook support if self.hooks["open"] is not None: self.hooks["open"](itm.fileName()) - elif itm.isLinguistFile(): + elif ( + itm.isLinguistFile() + and FileSystemUtilities.isPlainFileName(itm.fileName()) + ): if itm.fileExt() == ".ts": self.linguistFile.emit(itm.fileName()) else: