Project/Project.py

changeset 2739
7360f4e732cd
parent 2737
dbe5497851fa
child 2771
281c9b30dd91
equal deleted inserted replaced
2738:c4db4c761753 2739:7360f4e732cd
225 self.__lexerAssociationCallbacks = {} 225 self.__lexerAssociationCallbacks = {}
226 self.__binaryTranslationsCallbacks = {} 226 self.__binaryTranslationsCallbacks = {}
227 227
228 self.__projectTypes["Qt4"] = self.trUtf8("Qt GUI") 228 self.__projectTypes["Qt4"] = self.trUtf8("Qt GUI")
229 self.__projectTypes["Qt4C"] = self.trUtf8("Qt Console") 229 self.__projectTypes["Qt4C"] = self.trUtf8("Qt Console")
230 # TODO: add PyQt5 230 self.__projectTypes["PyQt5"] = self.trUtf8("PyQt5 GUI")
231 self.__projectTypes["PyQt5C"] = self.trUtf8("PyQt5 Console")
231 self.__projectTypes["E4Plugin"] = self.trUtf8("Eric Plugin") 232 self.__projectTypes["E4Plugin"] = self.trUtf8("Eric Plugin")
232 self.__projectTypes["Console"] = self.trUtf8("Console") 233 self.__projectTypes["Console"] = self.trUtf8("Console")
233 self.__projectTypes["Other"] = self.trUtf8("Other") 234 self.__projectTypes["Other"] = self.trUtf8("Other")
234 235
235 self.__projectProgLanguages = { 236 self.__projectProgLanguages = {
236 # TODO: add PyQt5 237 "Python2": ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "Console", "Other"],
237 "Python2": ["Qt4", "Qt4C", "E4Plugin", "Console", "Other"], 238 "Python3": ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "Console", "Other"],
238 "Python3": ["Qt4", "Qt4C", "E4Plugin", "Console", "Other"],
239 "Ruby": ["Qt4", "Qt4C", "Console", "Other"], 239 "Ruby": ["Qt4", "Qt4C", "Console", "Other"],
240 } 240 }
241 241
242 pyside2, pyside3 = Utilities.checkPyside() 242 pyside2, pyside3 = Utilities.checkPyside()
243 if pyside2 or pyside3: 243 if pyside2 or pyside3:
470 else: 470 else:
471 sourceKey = self.pdata["PROGLANGUAGE"][0] 471 sourceKey = self.pdata["PROGLANGUAGE"][0]
472 for ext in self.sourceExtensions[sourceKey]: 472 for ext in self.sourceExtensions[sourceKey]:
473 self.pdata["FILETYPES"]["*{0}".format(ext)] = "SOURCES" 473 self.pdata["FILETYPES"]["*{0}".format(ext)] = "SOURCES"
474 self.pdata["FILETYPES"]["*.idl"] = "INTERFACES" 474 self.pdata["FILETYPES"]["*.idl"] = "INTERFACES"
475 if self.pdata["PROJECTTYPE"][0] in ["Qt4", "E4Plugin", "PySide"]: 475 if self.pdata["PROJECTTYPE"][0] in ["Qt4", "PyQt5", "E4Plugin", "PySide"]:
476 # TODO: add PyQt5
477 self.pdata["FILETYPES"]["*.ui"] = "FORMS" 476 self.pdata["FILETYPES"]["*.ui"] = "FORMS"
478 self.pdata["FILETYPES"]["*.ui.h"] = "FORMS" 477 self.pdata["FILETYPES"]["*.ui.h"] = "FORMS"
479 if self.pdata["PROJECTTYPE"][0] in ["Qt4", "Qt4C", "E4Plugin", 478 if self.pdata["PROJECTTYPE"][0] in ["Qt4", "Qt4C", "E4Plugin",
479 "PyQt5", "PyQt5C",
480 "PySide", "PySideC"]: 480 "PySide", "PySideC"]:
481 # TODO: add PyQt5
482 self.pdata["FILETYPES"]["*.qrc"] = "RESOURCES" 481 self.pdata["FILETYPES"]["*.qrc"] = "RESOURCES"
483 if self.pdata["PROJECTTYPE"][0] in ["Qt4", "Qt4C", "E4Plugin", 482 if self.pdata["PROJECTTYPE"][0] in ["Qt4", "Qt4C", "E4Plugin",
483 "PyQt5", "PyQt5C",
484 "PySide", "PySideC"]: 484 "PySide", "PySideC"]:
485 # TODO: add PyQt5
486 self.pdata["FILETYPES"]["*.ts"] = "TRANSLATIONS" 485 self.pdata["FILETYPES"]["*.ts"] = "TRANSLATIONS"
487 self.pdata["FILETYPES"]["*.qm"] = "TRANSLATIONS" 486 self.pdata["FILETYPES"]["*.qm"] = "TRANSLATIONS"
488 try: 487 try:
489 if self.__fileTypeCallbacks[self.pdata["PROJECTTYPE"][0]] is not None: 488 if self.__fileTypeCallbacks[self.pdata["PROJECTTYPE"][0]] is not None:
490 ftypes = self.__fileTypeCallbacks[self.pdata["PROJECTTYPE"][0]]() 489 ftypes = self.__fileTypeCallbacks[self.pdata["PROJECTTYPE"][0]]()
496 def updateFileTypes(self): 495 def updateFileTypes(self):
497 """ 496 """
498 Public method to update the filetype associations with new default values. 497 Public method to update the filetype associations with new default values.
499 """ 498 """
500 if self.pdata["PROJECTTYPE"][0] in ["Qt4", "Qt4C", "E4Plugin", 499 if self.pdata["PROJECTTYPE"][0] in ["Qt4", "Qt4C", "E4Plugin",
500 "PyQt5", "PyQt5C",
501 "PySide", "PySideC"]: 501 "PySide", "PySideC"]:
502 # TODO: add PyQt5
503 if "*.ts" not in self.pdata["FILETYPES"]: 502 if "*.ts" not in self.pdata["FILETYPES"]:
504 self.pdata["FILETYPES"]["*.ts"] = "TRANSLATIONS" 503 self.pdata["FILETYPES"]["*.ts"] = "TRANSLATIONS"
505 if "*.qm" not in self.pdata["FILETYPES"]: 504 if "*.qm" not in self.pdata["FILETYPES"]:
506 self.pdata["FILETYPES"]["*.qm"] = "TRANSLATIONS" 505 self.pdata["FILETYPES"]["*.qm"] = "TRANSLATIONS"
507 try: 506 try:
1138 from .AddLanguageDialog import AddLanguageDialog 1137 from .AddLanguageDialog import AddLanguageDialog
1139 dlg = AddLanguageDialog(self.parent()) 1138 dlg = AddLanguageDialog(self.parent())
1140 if dlg.exec_() == QDialog.Accepted: 1139 if dlg.exec_() == QDialog.Accepted:
1141 lang = dlg.getSelectedLanguage() 1140 lang = dlg.getSelectedLanguage()
1142 if self.pdata["PROJECTTYPE"][0] in \ 1141 if self.pdata["PROJECTTYPE"][0] in \
1143 ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]: 1142 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", "PySide", "PySideC"]:
1144 # TODO: add PyQt5
1145 langFile = self.pdata["TRANSLATIONPATTERN"][0].replace("%language%", lang) 1143 langFile = self.pdata["TRANSLATIONPATTERN"][0].replace("%language%", lang)
1146 self.appendFile(langFile) 1144 self.appendFile(langFile)
1147 self.projectLanguageAddedByCode.emit(lang) 1145 self.projectLanguageAddedByCode.emit(lang)
1148 1146
1149 def __binaryTranslationFile(self, langFile): 1147 def __binaryTranslationFile(self, langFile):

eric ide

mercurial