eric6/Project/ProjectTranslationsBrowser.py

changeset 7635
0cdead130a81
parent 7628
f904d0eef264
child 7759
51aa6c6b66f7
equal deleted inserted replaced
7634:8c3d033e5044 7635:0cdead130a81
100 self.tsprocBackMenuActions = [] 100 self.tsprocBackMenuActions = []
101 self.qmprocBackMenuActions = [] 101 self.qmprocBackMenuActions = []
102 102
103 self.menu = QMenu(self) 103 self.menu = QMenu(self)
104 if self.project.getProjectType() in [ 104 if self.project.getProjectType() in [
105 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", 105 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C"
106 "PySide", "PySideC", "PySide2", "PySideC2"
107 ]: 106 ]:
108 act = self.menu.addAction( 107 act = self.menu.addAction(
109 self.tr('Generate translation'), self.__generateSelected) 108 self.tr('Generate translation'), self.__generateSelected)
110 self.tsMenuActions.append(act) 109 self.tsMenuActions.append(act)
111 self.tsprocMenuActions.append(act) 110 self.tsprocMenuActions.append(act)
228 self.menu.addSeparator() 227 self.menu.addSeparator()
229 self.menu.addAction(self.tr('Configure...'), self._configure) 228 self.menu.addAction(self.tr('Configure...'), self._configure)
230 229
231 self.backMenu = QMenu(self) 230 self.backMenu = QMenu(self)
232 if self.project.getProjectType() in [ 231 if self.project.getProjectType() in [
233 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", 232 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C"
234 "PySide", "PySideC", "PySide2", "PySideC2"
235 ]: 233 ]:
236 act = self.backMenu.addAction( 234 act = self.backMenu.addAction(
237 self.tr('Generate all translations'), 235 self.tr('Generate all translations'),
238 self.__generateAll) 236 self.__generateAll)
239 self.tsprocBackMenuActions.append(act) 237 self.tsprocBackMenuActions.append(act)
290 self.backMenu.setEnabled(False) 288 self.backMenu.setEnabled(False)
291 289
292 # create the menu for multiple selected files 290 # create the menu for multiple selected files
293 self.multiMenu = QMenu(self) 291 self.multiMenu = QMenu(self)
294 if self.project.getProjectType() in [ 292 if self.project.getProjectType() in [
295 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", 293 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C"
296 "PySide", "PySideC", "PySide2", "PySideC2"
297 ]: 294 ]:
298 act = self.multiMenu.addAction( 295 act = self.multiMenu.addAction(
299 self.tr('Generate translations'), 296 self.tr('Generate translations'),
300 self.__generateSelected) 297 self.__generateSelected)
301 self.tsMultiMenuActions.append(act) 298 self.tsMultiMenuActions.append(act)
375 self.multiMenu.addSeparator() 372 self.multiMenu.addSeparator()
376 self.multiMenu.addAction(self.tr('Configure...'), self._configure) 373 self.multiMenu.addAction(self.tr('Configure...'), self._configure)
377 374
378 self.dirMenu = QMenu(self) 375 self.dirMenu = QMenu(self)
379 if self.project.getProjectType() in [ 376 if self.project.getProjectType() in [
380 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", 377 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C"
381 "PySide", "PySideC", "PySide2", "PySideC2"
382 ]: 378 ]:
383 act = self.dirMenu.addAction( 379 act = self.dirMenu.addAction(
384 self.tr('Generate all translations'), 380 self.tr('Generate all translations'),
385 self.__generateAll) 381 self.__generateAll)
386 self.tsprocDirMenuActions.append(act) 382 self.tsprocDirMenuActions.append(act)
494 def __showContextMenu(self): 490 def __showContextMenu(self):
495 """ 491 """
496 Private slot called by the menu aboutToShow signal. 492 Private slot called by the menu aboutToShow signal.
497 """ 493 """
498 if self.project.getProjectType() in [ 494 if self.project.getProjectType() in [
499 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", 495 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C"
500 "PySide", "PySideC", "PySide2", "PySideC2"
501 ]: 496 ]:
502 tsFiles = 0 497 tsFiles = 0
503 qmFiles = 0 498 qmFiles = 0
504 itmList = self.getSelectedItems() 499 itmList = self.getSelectedItems()
505 for itm in itmList[:]: 500 for itm in itmList[:]:
539 def __showContextMenuMulti(self): 534 def __showContextMenuMulti(self):
540 """ 535 """
541 Private slot called by the multiMenu aboutToShow signal. 536 Private slot called by the multiMenu aboutToShow signal.
542 """ 537 """
543 if self.project.getProjectType() in [ 538 if self.project.getProjectType() in [
544 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", 539 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C"
545 "PySide", "PySideC", "PySide2", "PySideC2"
546 ]: 540 ]:
547 tsFiles = 0 541 tsFiles = 0
548 qmFiles = 0 542 qmFiles = 0
549 itmList = self.getSelectedItems() 543 itmList = self.getSelectedItems()
550 for itm in itmList[:]: 544 for itm in itmList[:]:
582 def __showContextMenuDir(self): 576 def __showContextMenuDir(self):
583 """ 577 """
584 Private slot called by the dirMenu aboutToShow signal. 578 Private slot called by the dirMenu aboutToShow signal.
585 """ 579 """
586 if self.project.getProjectType() in [ 580 if self.project.getProjectType() in [
587 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", 581 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C"
588 "PySide", "PySideC", "PySide2", "PySideC2"
589 ]: 582 ]:
590 if self.pylupdateProcRunning: 583 if self.pylupdateProcRunning:
591 for act in self.tsprocDirMenuActions: 584 for act in self.tsprocDirMenuActions:
592 act.setEnabled(False) 585 act.setEnabled(False)
593 if self.lreleaseProcRunning: 586 if self.lreleaseProcRunning:
603 def __showContextMenuBack(self): 596 def __showContextMenuBack(self):
604 """ 597 """
605 Private slot called by the backMenu aboutToShow signal. 598 Private slot called by the backMenu aboutToShow signal.
606 """ 599 """
607 if self.project.getProjectType() in [ 600 if self.project.getProjectType() in [
608 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", 601 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C"
609 "PySide", "PySideC", "PySide2", "PySideC2"
610 ]: 602 ]:
611 if self.pylupdateProcRunning: 603 if self.pylupdateProcRunning:
612 for act in self.tsprocBackMenuActions: 604 for act in self.tsprocBackMenuActions:
613 act.setEnabled(False) 605 act.setEnabled(False)
614 if self.lreleaseProcRunning: 606 if self.lreleaseProcRunning:
878 self.appendStdout.emit(s) 870 self.appendStdout.emit(s)
879 871
880 def __readStderrLupdate(self, proc): 872 def __readStderrLupdate(self, proc):
881 """ 873 """
882 Private slot to handle the readyReadStandardError signal of the 874 Private slot to handle the readyReadStandardError signal of the
883 pylupdate4/pylupdate5/pyside-lupdate/pyside2-lupdate process. 875 pylupdate5/pyside2-lupdate process.
884 876
885 @param proc reference to the process 877 @param proc reference to the process
886 @type QProcess 878 @type QProcess
887 """ 879 """
888 self.__readStderr(proc, '{0}: '.format(self.pylupdate)) 880 self.__readStderr(proc, '{0}: '.format(self.pylupdate))
977 # all done 969 # all done
978 self.pylupdateProcRunning = False 970 self.pylupdateProcRunning = False
979 971
980 def __generateTSFile(self, noobsolete=False, generateAll=True): 972 def __generateTSFile(self, noobsolete=False, generateAll=True):
981 """ 973 """
982 Private method used to run pylupdate4/pylupdate5/pyside-lupdate to 974 Private method used to run pylupdate5/pyside2-lupdate to
983 generate the .ts files. 975 generate the .ts files.
984 976
985 @param noobsolete flag indicating whether obsolete entries should be 977 @param noobsolete flag indicating whether obsolete entries should be
986 kept (boolean) 978 kept (boolean)
987 @param generateAll flag indicating whether all translations should be 979 @param generateAll flag indicating whether all translations should be
1019 return 1011 return
1020 1012
1021 # generate a minimal temporary projectfile suitable for pylupdate 1013 # generate a minimal temporary projectfile suitable for pylupdate
1022 self.__tmpProjects = [] 1014 self.__tmpProjects = []
1023 if self.project.getProjectLanguage() in [ 1015 if self.project.getProjectLanguage() in [
1024 "Python", "Python2", "Python3" 1016 "Python", "Python3"
1025 ]: 1017 ]:
1026 ok = self.__writeTempProjectFile(langs, [".py"]) 1018 ok = self.__writeTempProjectFile(langs, [".py"])
1027 else: 1019 else:
1028 ok = False 1020 ok = False
1029 if not ok: 1021 if not ok:
1030 return 1022 return
1031 1023
1032 if self.project.getProjectType() in ["Qt4", "Qt4C"]: 1024 if self.project.getProjectType() in ["PyQt5", "PyQt5C"]:
1033 self.pylupdate = Utilities.generatePyQtToolPath('pylupdate4')
1034 elif self.project.getProjectType() in ["PyQt5", "PyQt5C"]:
1035 self.pylupdate = Utilities.generatePyQtToolPath('pylupdate5') 1025 self.pylupdate = Utilities.generatePyQtToolPath('pylupdate5')
1036 elif self.project.getProjectType() in ["E6Plugin"]: 1026 elif self.project.getProjectType() in ["E6Plugin"]:
1037 self.pylupdate = Utilities.generatePyQtToolPath('pylupdate5') 1027 self.pylupdate = Utilities.generatePyQtToolPath('pylupdate5')
1038 elif self.project.getProjectType() in ["PySide", "PySideC"]:
1039 self.pylupdate = Utilities.generatePySideToolPath(
1040 'pyside-lupdate', "1")
1041 elif self.project.getProjectType() in ["PySide2", "PySide2C"]: 1028 elif self.project.getProjectType() in ["PySide2", "PySide2C"]:
1042 self.pylupdate = Utilities.generatePySideToolPath( 1029 self.pylupdate = Utilities.generatePySideToolPath(
1043 'pyside2-lupdate', "2") 1030 'pyside2-lupdate')
1044 else: 1031 else:
1045 return 1032 return
1046 1033
1047 self.__pylupdateProcesses = [] 1034 self.__pylupdateProcesses = []
1048 for tempProjectFile in self.__tmpProjects[:]: 1035 for tempProjectFile in self.__tmpProjects[:]:
1195 for lang in langs] 1182 for lang in langs]
1196 self.hooks["releaseSelected"](li) 1183 self.hooks["releaseSelected"](li)
1197 return 1184 return
1198 1185
1199 if self.project.getProjectType() in [ 1186 if self.project.getProjectType() in [
1200 "Qt4", "Qt4C", "PyQt5", "PyQt5C", "E6Plugin", 1187 "PyQt5", "PyQt5C", "E6Plugin", "PySide2", "PySide2C"
1201 "PySide", "PySideC", "PySide2", "PySideC2"
1202 ]: 1188 ]:
1203 lrelease = os.path.join( 1189 lrelease = os.path.join(
1204 Utilities.getQtBinariesPath(), 1190 Utilities.getQtBinariesPath(),
1205 Utilities.generateQtToolName("lrelease")) 1191 Utilities.generateQtToolName("lrelease"))
1206 else: 1192 else:

eric ide

mercurial