102 """ |
102 """ |
103 ProjectBaseBrowser._createPopupMenus(self) |
103 ProjectBaseBrowser._createPopupMenus(self) |
104 self.sourceMenuActions = {} |
104 self.sourceMenuActions = {} |
105 |
105 |
106 if self.project.pdata["PROGLANGUAGE"][0] in \ |
106 if self.project.pdata["PROGLANGUAGE"][0] in \ |
107 ["Python", "Python2", "Python3"]: |
107 ["Python", "Python2", "Python3"]: |
108 self.__createPythonPopupMenus() |
108 self.__createPythonPopupMenus() |
109 elif self.project.pdata["PROGLANGUAGE"][0] == "Ruby": |
109 elif self.project.pdata["PROGLANGUAGE"][0] == "Ruby": |
110 self.__createRubyPopupMenus() |
110 self.__createRubyPopupMenus() |
111 |
111 |
112 def __createPythonPopupMenus(self): |
112 def __createPythonPopupMenus(self): |
458 BrowserClassAttributeItem]) |
458 BrowserClassAttributeItem]) |
459 cnt = categories["sum"] |
459 cnt = categories["sum"] |
460 |
460 |
461 bfcnt = categories[str(ProjectBrowserFileItem)] |
461 bfcnt = categories[str(ProjectBrowserFileItem)] |
462 cmcnt = categories[str(BrowserClassItem)] + \ |
462 cmcnt = categories[str(BrowserClassItem)] + \ |
463 categories[str(BrowserMethodItem)] + \ |
463 categories[str(BrowserMethodItem)] + \ |
464 categories[str(BrowserClassAttributeItem)] |
464 categories[str(BrowserClassAttributeItem)] |
465 sdcnt = categories[str(ProjectBrowserSimpleDirectoryItem)] |
465 sdcnt = categories[str(ProjectBrowserSimpleDirectoryItem)] |
466 if cnt > 1 and cnt == bfcnt: |
466 if cnt > 1 and cnt == bfcnt: |
467 self.multiMenu.popup(self.mapToGlobal(coord)) |
467 self.multiMenu.popup(self.mapToGlobal(coord)) |
468 elif cnt > 1 and cnt == sdcnt: |
468 elif cnt > 1 and cnt == sdcnt: |
469 self.dirMultiMenu.popup(self.mapToGlobal(coord)) |
469 self.dirMultiMenu.popup(self.mapToGlobal(coord)) |
638 if isinstance(itm, ProjectBrowserFileItem) or \ |
638 if isinstance(itm, ProjectBrowserFileItem) or \ |
639 isinstance(itm, BrowserClassItem) or \ |
639 isinstance(itm, BrowserClassItem) or \ |
640 isinstance(itm, BrowserMethodItem): |
640 isinstance(itm, BrowserMethodItem): |
641 dn = os.path.dirname(itm.fileName()) |
641 dn = os.path.dirname(itm.fileName()) |
642 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
642 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
643 isinstance(itm, ProjectBrowserDirectoryItem): |
643 isinstance(itm, ProjectBrowserDirectoryItem): |
644 dn = itm.dirName() |
644 dn = itm.dirName() |
645 else: |
645 else: |
646 dn = "" |
646 dn = "" |
647 |
647 |
648 dn = self.project.getRelativePath(dn) |
648 dn = self.project.getRelativePath(dn) |
666 self.trUtf8("Add new Python package"), |
666 self.trUtf8("Add new Python package"), |
667 self.trUtf8( |
667 self.trUtf8( |
668 """<p>The package directory <b>{0}</b> could""" |
668 """<p>The package directory <b>{0}</b> could""" |
669 """ not be created. Aborting...</p>""" |
669 """ not be created. Aborting...</p>""" |
670 """<p>Reason: {1}</p>""") |
670 """<p>Reason: {1}</p>""") |
671 .format(packagePath, str(err))) |
671 .format(packagePath, str(err))) |
672 return |
672 return |
673 packageFile = os.path.join(packagePath, "__init__.py") |
673 packageFile = os.path.join(packagePath, "__init__.py") |
674 if not os.path.exists(packageFile): |
674 if not os.path.exists(packageFile): |
675 try: |
675 try: |
676 f = open(packageFile, "w", encoding="utf-8") |
676 f = open(packageFile, "w", encoding="utf-8") |
681 self.trUtf8("Add new Python package"), |
681 self.trUtf8("Add new Python package"), |
682 self.trUtf8( |
682 self.trUtf8( |
683 """<p>The package file <b>{0}</b> could""" |
683 """<p>The package file <b>{0}</b> could""" |
684 """ not be created. Aborting...</p>""" |
684 """ not be created. Aborting...</p>""" |
685 """<p>Reason: {1}</p>""") |
685 """<p>Reason: {1}</p>""") |
686 .format(packageFile, str(err))) |
686 .format(packageFile, str(err))) |
687 return |
687 return |
688 self.project.appendFile(packageFile) |
688 self.project.appendFile(packageFile) |
689 if packageFile: |
689 if packageFile: |
690 self.sourceFile[str].emit(packageFile) |
690 self.sourceFile[str].emit(packageFile) |
691 |
691 |
697 if isinstance(itm, ProjectBrowserFileItem) or \ |
697 if isinstance(itm, ProjectBrowserFileItem) or \ |
698 isinstance(itm, BrowserClassItem) or \ |
698 isinstance(itm, BrowserClassItem) or \ |
699 isinstance(itm, BrowserMethodItem): |
699 isinstance(itm, BrowserMethodItem): |
700 dn = os.path.dirname(itm.fileName()) |
700 dn = os.path.dirname(itm.fileName()) |
701 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
701 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
702 isinstance(itm, ProjectBrowserDirectoryItem): |
702 isinstance(itm, ProjectBrowserDirectoryItem): |
703 dn = itm.dirName() |
703 dn = itm.dirName() |
704 else: |
704 else: |
705 dn = None |
705 dn = None |
706 self.project.addFiles('source', dn) |
706 self.project.addFiles('source', dn) |
707 |
707 |
713 if isinstance(itm, ProjectBrowserFileItem) or \ |
713 if isinstance(itm, ProjectBrowserFileItem) or \ |
714 isinstance(itm, BrowserClassItem) or \ |
714 isinstance(itm, BrowserClassItem) or \ |
715 isinstance(itm, BrowserMethodItem): |
715 isinstance(itm, BrowserMethodItem): |
716 dn = os.path.dirname(itm.fileName()) |
716 dn = os.path.dirname(itm.fileName()) |
717 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
717 elif isinstance(itm, ProjectBrowserSimpleDirectoryItem) or \ |
718 isinstance(itm, ProjectBrowserDirectoryItem): |
718 isinstance(itm, ProjectBrowserDirectoryItem): |
719 dn = itm.dirName() |
719 dn = itm.dirName() |
720 else: |
720 else: |
721 dn = None |
721 dn = None |
722 self.project.addDirectory('source', dn) |
722 self.project.addDirectory('source', dn) |
723 |
723 |