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: |