eric6/Project/ProjectTranslationsBrowser.py

changeset 7911
4621c9082a43
parent 7907
7991ea245c20
child 7923
91e843545d9a
equal deleted inserted replaced
7910:2eeec6bc49e6 7911:4621c9082a43
100 self.qmprocBackMenuActions = [] 100 self.qmprocBackMenuActions = []
101 101
102 self.menu = QMenu(self) 102 self.menu = QMenu(self)
103 if self.project.getProjectType() in [ 103 if self.project.getProjectType() in [
104 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 104 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin",
105 "PySide2", "PySide2C" 105 "PySide2", "PySide2C", "PySide6", "PySide6C"
106 ]: 106 ]:
107 act = self.menu.addAction( 107 act = self.menu.addAction(
108 self.tr('Generate translation'), self.__generateSelected) 108 self.tr('Generate translation'), self.__generateSelected)
109 self.tsMenuActions.append(act) 109 self.tsMenuActions.append(act)
110 self.tsprocMenuActions.append(act) 110 self.tsprocMenuActions.append(act)
228 self.menu.addAction(self.tr('Configure...'), self._configure) 228 self.menu.addAction(self.tr('Configure...'), self._configure)
229 229
230 self.backMenu = QMenu(self) 230 self.backMenu = QMenu(self)
231 if self.project.getProjectType() in [ 231 if self.project.getProjectType() in [
232 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 232 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin",
233 "PySide2", "PySide2C" 233 "PySide2", "PySide2C", "PySide6", "PySide6C"
234 ]: 234 ]:
235 act = self.backMenu.addAction( 235 act = self.backMenu.addAction(
236 self.tr('Generate all translations'), 236 self.tr('Generate all translations'),
237 self.__generateAll) 237 self.__generateAll)
238 self.tsprocBackMenuActions.append(act) 238 self.tsprocBackMenuActions.append(act)
290 290
291 # create the menu for multiple selected files 291 # create the menu for multiple selected files
292 self.multiMenu = QMenu(self) 292 self.multiMenu = QMenu(self)
293 if self.project.getProjectType() in [ 293 if self.project.getProjectType() in [
294 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 294 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin",
295 "PySide2", "PySide2C" 295 "PySide2", "PySide2C", "PySide6", "PySide6C"
296 ]: 296 ]:
297 act = self.multiMenu.addAction( 297 act = self.multiMenu.addAction(
298 self.tr('Generate translations'), 298 self.tr('Generate translations'),
299 self.__generateSelected) 299 self.__generateSelected)
300 self.tsMultiMenuActions.append(act) 300 self.tsMultiMenuActions.append(act)
375 self.multiMenu.addAction(self.tr('Configure...'), self._configure) 375 self.multiMenu.addAction(self.tr('Configure...'), self._configure)
376 376
377 self.dirMenu = QMenu(self) 377 self.dirMenu = QMenu(self)
378 if self.project.getProjectType() in [ 378 if self.project.getProjectType() in [
379 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 379 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin",
380 "PySide2", "PySide2C" 380 "PySide2", "PySide2C", "PySide6", "PySide6C"
381 ]: 381 ]:
382 act = self.dirMenu.addAction( 382 act = self.dirMenu.addAction(
383 self.tr('Generate all translations'), 383 self.tr('Generate all translations'),
384 self.__generateAll) 384 self.__generateAll)
385 self.tsprocDirMenuActions.append(act) 385 self.tsprocDirMenuActions.append(act)
494 """ 494 """
495 Private slot called by the menu aboutToShow signal. 495 Private slot called by the menu aboutToShow signal.
496 """ 496 """
497 if self.project.getProjectType() in [ 497 if self.project.getProjectType() in [
498 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 498 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin",
499 "PySide2", "PySide2C" 499 "PySide2", "PySide2C", "PySide6", "PySide6C"
500 ]: 500 ]:
501 tsFiles = 0 501 tsFiles = 0
502 qmFiles = 0 502 qmFiles = 0
503 itmList = self.getSelectedItems() 503 itmList = self.getSelectedItems()
504 for itm in itmList[:]: 504 for itm in itmList[:]:
539 """ 539 """
540 Private slot called by the multiMenu aboutToShow signal. 540 Private slot called by the multiMenu aboutToShow signal.
541 """ 541 """
542 if self.project.getProjectType() in [ 542 if self.project.getProjectType() in [
543 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 543 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin",
544 "PySide2", "PySide2C" 544 "PySide2", "PySide2C", "PySide6", "PySide6C"
545 ]: 545 ]:
546 tsFiles = 0 546 tsFiles = 0
547 qmFiles = 0 547 qmFiles = 0
548 itmList = self.getSelectedItems() 548 itmList = self.getSelectedItems()
549 for itm in itmList[:]: 549 for itm in itmList[:]:
582 """ 582 """
583 Private slot called by the dirMenu aboutToShow signal. 583 Private slot called by the dirMenu aboutToShow signal.
584 """ 584 """
585 if self.project.getProjectType() in [ 585 if self.project.getProjectType() in [
586 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 586 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin",
587 "PySide2", "PySide2C" 587 "PySide2", "PySide2C", "PySide6", "PySide6C"
588 ]: 588 ]:
589 if self.pylupdateProcRunning: 589 if self.pylupdateProcRunning:
590 for act in self.tsprocDirMenuActions: 590 for act in self.tsprocDirMenuActions:
591 act.setEnabled(False) 591 act.setEnabled(False)
592 if self.lreleaseProcRunning: 592 if self.lreleaseProcRunning:
603 """ 603 """
604 Private slot called by the backMenu aboutToShow signal. 604 Private slot called by the backMenu aboutToShow signal.
605 """ 605 """
606 if self.project.getProjectType() in [ 606 if self.project.getProjectType() in [
607 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 607 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin",
608 "PySide2", "PySide2C" 608 "PySide2", "PySide2C", "PySide6", "PySide6C"
609 ]: 609 ]:
610 if self.pylupdateProcRunning: 610 if self.pylupdateProcRunning:
611 for act in self.tsprocBackMenuActions: 611 for act in self.tsprocBackMenuActions:
612 act.setEnabled(False) 612 act.setEnabled(False)
613 if self.lreleaseProcRunning: 613 if self.lreleaseProcRunning:
876 self.appendStdout.emit(s) 876 self.appendStdout.emit(s)
877 877
878 def __readStderrLupdate(self, proc): 878 def __readStderrLupdate(self, proc):
879 """ 879 """
880 Private slot to handle the readyReadStandardError signal of the 880 Private slot to handle the readyReadStandardError signal of the
881 pylupdate5/pyside2-lupdate process. 881 pylupdate5 / pylupdate6 / pyside2-lupdate / pyside6-lupdate process.
882 882
883 @param proc reference to the process 883 @param proc reference to the process
884 @type QProcess 884 @type QProcess
885 """ 885 """
886 self.__readStderr(proc, '{0}: '.format(self.pylupdate)) 886 self.__readStderr(proc, '{0}: '.format(self.pylupdate))
977 # all done 977 # all done
978 self.pylupdateProcRunning = False 978 self.pylupdateProcRunning = False
979 979
980 def __generateTSFile(self, noobsolete=False, generateAll=True): 980 def __generateTSFile(self, noobsolete=False, generateAll=True):
981 """ 981 """
982 Private method used to run pylupdate5/pyside2-lupdate to 982 Private method used to run pylupdate5 / pylupdate6 / pyside2-lupdate /
983 generate the .ts files. 983 pyside6-lupdate to generate the .ts files.
984 984
985 @param noobsolete flag indicating whether obsolete entries should be 985 @param noobsolete flag indicating whether obsolete entries should be
986 kept (boolean) 986 kept (boolean)
987 @param generateAll flag indicating whether all translations should be 987 @param generateAll flag indicating whether all translations should be
988 generated (boolean) 988 generated (boolean)
1036 self.pylupdate = Utilities.generatePyQtToolPath('pylupdate6') 1036 self.pylupdate = Utilities.generatePyQtToolPath('pylupdate6')
1037 elif self.project.getProjectType() in ["E6Plugin"]: 1037 elif self.project.getProjectType() in ["E6Plugin"]:
1038 self.pylupdate = Utilities.generatePyQtToolPath('pylupdate5') 1038 self.pylupdate = Utilities.generatePyQtToolPath('pylupdate5')
1039 elif self.project.getProjectType() in ["PySide2", "PySide2C"]: 1039 elif self.project.getProjectType() in ["PySide2", "PySide2C"]:
1040 self.pylupdate = Utilities.generatePySideToolPath( 1040 self.pylupdate = Utilities.generatePySideToolPath(
1041 'pyside2-lupdate') 1041 'pyside2-lupdate', variant=2)
1042 elif self.project.getProjectType() in ["PySide6", "PySide6C"]:
1043 self.pylupdate = Utilities.generatePySideToolPath(
1044 'pyside6-lupdate', variant=6)
1042 else: 1045 else:
1043 return 1046 return
1044 1047
1045 self.__pylupdateProcesses = [] 1048 self.__pylupdateProcesses = []
1046 if self.project.getProjectType() in ["PyQt6", "PyQt6C"]: 1049 if self.project.getProjectType() in ["PyQt6", "PyQt6C"]:
1247 self.hooks["releaseSelected"](li) 1250 self.hooks["releaseSelected"](li)
1248 return 1251 return
1249 1252
1250 if self.project.getProjectType() in [ 1253 if self.project.getProjectType() in [
1251 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 1254 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin",
1252 "PySide2", "PySide2C" 1255 "PySide2", "PySide2C", "PySide6", "PySide6C"
1253 ]: 1256 ]:
1254 lrelease = os.path.join( 1257 lrelease = os.path.join(
1255 Utilities.getQtBinariesPath(), 1258 Utilities.getQtBinariesPath(),
1256 Utilities.generateQtToolName("lrelease")) 1259 Utilities.generateQtToolName("lrelease"))
1257 else: 1260 else:

eric ide

mercurial