eric7/Project/Project.py

branch
eric7
changeset 8336
d566c2970f39
parent 8322
b422b4e77d19
child 8351
7d13e08ddb3f
equal deleted inserted replaced
8335:9fa339ca2a91 8336:d566c2970f39
280 self.__projectTypes = { 280 self.__projectTypes = {
281 "PyQt5": self.tr("PyQt5 GUI"), 281 "PyQt5": self.tr("PyQt5 GUI"),
282 "PyQt5C": self.tr("PyQt5 Console"), 282 "PyQt5C": self.tr("PyQt5 Console"),
283 "PyQt6": self.tr("PyQt6 GUI"), 283 "PyQt6": self.tr("PyQt6 GUI"),
284 "PyQt6C": self.tr("PyQt6 Console"), 284 "PyQt6C": self.tr("PyQt6 Console"),
285 "E6Plugin": self.tr("Eric6 Plugin"), 285 "E7Plugin": self.tr("Eric7 Plugin"),
286 "Console": self.tr("Console"), 286 "Console": self.tr("Console"),
287 "Other": self.tr("Other"), 287 "Other": self.tr("Other"),
288 } 288 }
289 289
290 self.__projectProgLanguages = { 290 self.__projectProgLanguages = {
291 "Python3": ["PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 291 "Python3": ["PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E7Plugin",
292 "Console", "Other"], 292 "Console", "Other"],
293 "MicroPython": ["Console", "Other"], 293 "MicroPython": ["Console", "Other"],
294 "Ruby": ["Console", "Other"], 294 "Ruby": ["Console", "Other"],
295 "JavaScript": ["Other"], 295 "JavaScript": ["Other"],
296 } 296 }
358 @param progLanguages programming languages supported by the 358 @param progLanguages programming languages supported by the
359 project type (list of string) 359 project type (list of string)
360 """ 360 """
361 if progLanguages: 361 if progLanguages:
362 for progLanguage in progLanguages: 362 for progLanguage in progLanguages:
363 if progLanguage in ["Python", "Python2"]:
364 # ignore that silently for Python2
365 return
366
367 if progLanguage not in self.__projectProgLanguages: 363 if progLanguage not in self.__projectProgLanguages:
368 E5MessageBox.critical( 364 E5MessageBox.critical(
369 self.ui, 365 self.ui,
370 self.tr("Registering Project Type"), 366 self.tr("Registering Project Type"),
371 self.tr( 367 self.tr(
620 616
621 # Protobuf Files 617 # Protobuf Files
622 self.pdata["FILETYPES"]["*.proto"] = "PROTOCOLS" 618 self.pdata["FILETYPES"]["*.proto"] = "PROTOCOLS"
623 619
624 # Forms 620 # Forms
625 if self.pdata["PROJECTTYPE"] in ["E6Plugin", 621 if self.pdata["PROJECTTYPE"] in ["E7Plugin",
626 "PyQt5", 622 "PyQt5",
627 "PyQt6", 623 "PyQt6",
628 "PySide2", 624 "PySide2",
629 "PySide6"]: 625 "PySide6"]:
630 self.pdata["FILETYPES"]["*.ui"] = "FORMS" 626 self.pdata["FILETYPES"]["*.ui"] = "FORMS"
631 627
632 # Resources 628 # Resources
633 if self.pdata["PROJECTTYPE"] in ["E6Plugin", 629 if self.pdata["PROJECTTYPE"] in ["PyQt5", "PyQt5C",
634 "PyQt5", "PyQt5C",
635 "PySide2", "PySide2C", 630 "PySide2", "PySide2C",
636 "PySide6", "PySide6C"]: 631 "PySide6", "PySide6C"]:
637 self.pdata["FILETYPES"]["*.qrc"] = "RESOURCES" 632 self.pdata["FILETYPES"]["*.qrc"] = "RESOURCES"
638 633
639 # Translations 634 # Translations
640 if self.pdata["PROJECTTYPE"] in ["E6Plugin", 635 if self.pdata["PROJECTTYPE"] in ["E7Plugin",
641 "PyQt5", "PyQt5C", 636 "PyQt5", "PyQt5C",
642 "PyQt6", "PyQt6C", 637 "PyQt6", "PyQt6C",
643 "PySide2", "PySide2C", 638 "PySide2", "PySide2C",
644 "PySide6", "PySide6C"]: 639 "PySide6", "PySide6C"]:
645 self.pdata["FILETYPES"]["*.ts"] = "TRANSLATIONS" 640 self.pdata["FILETYPES"]["*.ts"] = "TRANSLATIONS"
657 def updateFileTypes(self): 652 def updateFileTypes(self):
658 """ 653 """
659 Public method to update the filetype associations with new default 654 Public method to update the filetype associations with new default
660 values. 655 values.
661 """ 656 """
662 if self.pdata["PROJECTTYPE"] in ["E6Plugin", 657 if self.pdata["PROJECTTYPE"] in ["E7Plugin",
663 "PyQt5", "PyQt5C", 658 "PyQt5", "PyQt5C",
664 "PyQt6", "PyQt6C", 659 "PyQt6", "PyQt6C",
665 "PySide2", "PySide2C", 660 "PySide2", "PySide2C",
666 "PySide6", "PySide6C"]: 661 "PySide6", "PySide6C"]:
667 if "*.ts" not in self.pdata["FILETYPES"]: 662 if "*.ts" not in self.pdata["FILETYPES"]:
1425 from .AddLanguageDialog import AddLanguageDialog 1420 from .AddLanguageDialog import AddLanguageDialog
1426 dlg = AddLanguageDialog(self.parent()) 1421 dlg = AddLanguageDialog(self.parent())
1427 if dlg.exec() == QDialog.DialogCode.Accepted: 1422 if dlg.exec() == QDialog.DialogCode.Accepted:
1428 lang = dlg.getSelectedLanguage() 1423 lang = dlg.getSelectedLanguage()
1429 if self.pdata["PROJECTTYPE"] in [ 1424 if self.pdata["PROJECTTYPE"] in [
1430 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E6Plugin", 1425 "PyQt5", "PyQt5C", "PyQt6", "PyQt6C", "E7Plugin",
1431 "PySide2", "PySide2C", "PySide6", "PySide6C" 1426 "PySide2", "PySide2C", "PySide6", "PySide6C"
1432 ]: 1427 ]:
1433 langFile = self.pdata["TRANSLATIONPATTERN"].replace( 1428 langFile = self.pdata["TRANSLATIONPATTERN"].replace(
1434 "%language%", lang) 1429 "%language%", lang)
1435 self.appendFile(langFile) 1430 self.appendFile(langFile)
2345 self.menuShowAct.setEnabled(True) 2340 self.menuShowAct.setEnabled(True)
2346 self.menuDiagramAct.setEnabled(True) 2341 self.menuDiagramAct.setEnabled(True)
2347 self.menuApidocAct.setEnabled(True) 2342 self.menuApidocAct.setEnabled(True)
2348 self.menuPackagersAct.setEnabled(True) 2343 self.menuPackagersAct.setEnabled(True)
2349 self.pluginGrp.setEnabled( 2344 self.pluginGrp.setEnabled(
2350 self.pdata["PROJECTTYPE"] in ["E6Plugin"]) 2345 self.pdata["PROJECTTYPE"] in ["E7Plugin"])
2351 self.addLanguageAct.setEnabled( 2346 self.addLanguageAct.setEnabled(
2352 bool(self.pdata["TRANSLATIONPATTERN"])) 2347 bool(self.pdata["TRANSLATIONPATTERN"]))
2353 self.makeGrp.setEnabled( 2348 self.makeGrp.setEnabled(
2354 self.pdata["MAKEPARAMS"]["MakeEnabled"]) 2349 self.pdata["MAKEPARAMS"]["MakeEnabled"])
2355 self.menuMakeAct.setEnabled( 2350 self.menuMakeAct.setEnabled(
2806 os.makedirs(tp) 2801 os.makedirs(tp)
2807 if tp != self.ppath and tp not in self.subdirs: 2802 if tp != self.ppath and tp not in self.subdirs:
2808 self.subdirs.append(tp) 2803 self.subdirs.append(tp)
2809 2804
2810 self.pluginGrp.setEnabled( 2805 self.pluginGrp.setEnabled(
2811 self.pdata["PROJECTTYPE"] in ["E6Plugin"]) 2806 self.pdata["PROJECTTYPE"] in ["E7Plugin"])
2812 2807
2813 self.__model.projectPropertiesChanged() 2808 self.__model.projectPropertiesChanged()
2814 self.projectPropertiesChanged.emit() 2809 self.projectPropertiesChanged.emit()
2815 2810
2816 if self.pdata["PROJECTTYPE"] != projectType: 2811 if self.pdata["PROJECTTYPE"] != projectType:
3037 self.menuShowAct.setEnabled(True) 3032 self.menuShowAct.setEnabled(True)
3038 self.menuDiagramAct.setEnabled(True) 3033 self.menuDiagramAct.setEnabled(True)
3039 self.menuApidocAct.setEnabled(True) 3034 self.menuApidocAct.setEnabled(True)
3040 self.menuPackagersAct.setEnabled(True) 3035 self.menuPackagersAct.setEnabled(True)
3041 self.pluginGrp.setEnabled( 3036 self.pluginGrp.setEnabled(
3042 self.pdata["PROJECTTYPE"] in ["E6Plugin"]) 3037 self.pdata["PROJECTTYPE"] in ["E7Plugin"])
3043 self.addLanguageAct.setEnabled( 3038 self.addLanguageAct.setEnabled(
3044 bool(self.pdata["TRANSLATIONPATTERN"])) 3039 bool(self.pdata["TRANSLATIONPATTERN"]))
3045 self.makeGrp.setEnabled( 3040 self.makeGrp.setEnabled(
3046 self.pdata["MAKEPARAMS"]["MakeEnabled"]) 3041 self.pdata["MAKEPARAMS"]["MakeEnabled"])
3047 self.menuMakeAct.setEnabled( 3042 self.menuMakeAct.setEnabled(
3582 """ 3577 """
3583 Public method to get the path of the management directory. 3578 Public method to get the path of the management directory.
3584 3579
3585 @return path of the management directory (string) 3580 @return path of the management directory (string)
3586 """ 3581 """
3587 if Utilities.isWindowsPlatform():
3588 # migrate the old project management directory ( < v18.06)
3589 oldDir = os.path.join(self.ppath, "_eric6project")
3590 if os.path.exists(oldDir):
3591 os.rename(
3592 oldDir,
3593 os.path.join(self.ppath, ".eric6project")
3594 )
3595
3596 return os.path.join(self.ppath, ".eric7project") 3582 return os.path.join(self.ppath, ".eric7project")
3597 3583
3598 def createProjectManagementDir(self): 3584 def createProjectManagementDir(self):
3599 """ 3585 """
3600 Public method to create the project management directory. 3586 Public method to create the project management directory.
3601 3587
3602 It does nothing, if it already exists. 3588 It does nothing, if it already exists.

eric ide

mercurial