240 if not isinstance(categoryItem, FileCategoryRepositoryItem): |
240 if not isinstance(categoryItem, FileCategoryRepositoryItem): |
241 raise TypeError( |
241 raise TypeError( |
242 "'categoryItem' must be an instance of 'FileCategoryRepositoryItem'." |
242 "'categoryItem' must be an instance of 'FileCategoryRepositoryItem'." |
243 ) |
243 ) |
244 |
244 |
|
245 category = category.upper() |
245 if category in self.__fileCategoriesRepository: |
246 if category in self.__fileCategoriesRepository: |
246 EricMessageBox.critical( |
247 EricMessageBox.critical( |
247 self.ui, |
248 self.ui, |
248 self.tr("Add File Category"), |
249 self.tr("Add File Category"), |
249 self.tr( |
250 self.tr( |
265 |
266 |
266 @param category file category |
267 @param category file category |
267 @type str |
268 @type str |
268 """ |
269 """ |
269 with contextlib.suppress(KeyError): |
270 with contextlib.suppress(KeyError): |
270 del self.__fileCategoriesRepository[category] |
271 del self.__fileCategoriesRepository[category.upper()] |
271 |
272 |
272 def __sourceExtensions(self, language): |
273 def __sourceExtensions(self, language): |
273 """ |
274 """ |
274 Private method to get the source extensions of a programming language. |
275 Private method to get the source extensions of a programming language. |
275 |
276 |
743 |
744 |
744 filters = [] |
745 filters = [] |
745 for filetype in patterns: |
746 for filetype in patterns: |
746 filters.append( |
747 filters.append( |
747 self.__fileCategoriesRepository[ |
748 self.__fileCategoriesRepository[ |
748 filetype |
749 filetype.upper() |
749 ].fileCategoryFilterTemplate.format( |
750 ].fileCategoryFilterTemplate.format( |
750 " ".join(sorted(patterns[filetype])) |
751 " ".join(sorted(patterns[filetype])) |
751 ) |
752 ) |
752 ) |
753 ) |
753 filterString = ";;".join(sorted(filters)) |
754 filterString = ";;".join(sorted(filters)) |
763 @param category file type category |
764 @param category file type category |
764 @type str |
765 @type str |
765 @return user string for the category |
766 @return user string for the category |
766 @rtype str |
767 @rtype str |
767 """ |
768 """ |
768 return self.__fileCategoriesRepository[category].fileCategoryUserString |
769 return self.__fileCategoriesRepository[category.upper()].fileCategoryUserString |
769 |
770 |
770 def getFileCategoryType(self, category): |
771 def getFileCategoryType(self, category): |
771 """ |
772 """ |
772 Public method to get a user type string for the given category. |
773 Public method to get a user type string for the given category. |
773 |
774 |
774 @param category file type category |
775 @param category file type category |
775 @type str |
776 @type str |
776 @return user type string for the category |
777 @return user type string for the category |
777 @rtype str |
778 @rtype str |
778 """ |
779 """ |
779 return self.__fileCategoriesRepository[category].fileCategoryTyeString |
780 return self.__fileCategoriesRepository[category.upper()].fileCategoryTyeString |
780 |
781 |
781 def getFileCategoryExtension(self, category, reverse=False): |
782 def getFileCategoryExtension(self, category, reverse=False): |
782 """ |
783 """ |
783 Public method to get a list of default file extensions for the given category. |
784 Public method to get a list of default file extensions for the given category. |
784 |
785 |
795 for cat, item in self.__fileCategoriesRepository.items(): |
796 for cat, item in self.__fileCategoriesRepository.items(): |
796 if cat != category: |
797 if cat != category: |
797 extensions += item.fileCategoryExtensions[:] |
798 extensions += item.fileCategoryExtensions[:] |
798 return extensions |
799 return extensions |
799 else: |
800 else: |
800 return self.__fileCategoriesRepository[category].fileCategoryExtensions[:] |
801 return self.__fileCategoriesRepository[ |
|
802 category.upper() |
|
803 ].fileCategoryExtensions[:] |
801 |
804 |
802 def initFileTypes(self): |
805 def initFileTypes(self): |
803 """ |
806 """ |
804 Public method to initialize the file type associations with default |
807 Public method to initialize the file type associations with default |
805 values. |
808 values. |
889 f |
892 f |
890 for f in self.__fileCategoriesRepository.keys() |
893 for f in self.__fileCategoriesRepository.keys() |
891 if f not in ["SOURCES", "FORMS", "RESOURCES", "TRANSLATIONS", "OTHERS"] |
894 if f not in ["SOURCES", "FORMS", "RESOURCES", "TRANSLATIONS", "OTHERS"] |
892 ]: |
895 ]: |
893 for ext in self.__fileCategoriesRepository[ |
896 for ext in self.__fileCategoriesRepository[ |
894 fileCategory |
897 fileCategory.upper() |
895 ].fileCategoryExtensions: |
898 ].fileCategoryExtensions: |
896 fileTypesDict[ext] = fileCategory |
899 fileTypesDict[ext] = fileCategory |
897 # Project type specific ones |
900 # Project type specific ones |
898 with contextlib.suppress(KeyError): |
901 with contextlib.suppress(KeyError): |
899 if self.__fileTypeCallbacks[projectType] is not None: |
902 if self.__fileTypeCallbacks[projectType] is not None: |
1892 def addFiles(self, fileTypeFilter=None, startdir=None): |
1895 def addFiles(self, fileTypeFilter=None, startdir=None): |
1893 """ |
1896 """ |
1894 Public slot used to add files to the project. |
1897 Public slot used to add files to the project. |
1895 |
1898 |
1896 @param fileTypeFilter filter to be used by the add file dialog |
1899 @param fileTypeFilter filter to be used by the add file dialog |
1897 @type str out of source, form, resource, interface, protocol, others |
1900 @type str |
1898 @param startdir start directory for the selection dialog |
1901 @param startdir start directory for the selection dialog |
1899 @type str |
1902 @type str |
1900 """ |
1903 """ |
1901 from .AddFileDialog import AddFileDialog |
1904 from .AddFileDialog import AddFileDialog |
1902 |
1905 |
2070 def addDirectory(self, fileTypeFilter=None, startdir=None): |
2073 def addDirectory(self, fileTypeFilter=None, startdir=None): |
2071 """ |
2074 """ |
2072 Public method used to add all files of a directory to the project. |
2075 Public method used to add all files of a directory to the project. |
2073 |
2076 |
2074 @param fileTypeFilter filter to be used by the add directory dialog |
2077 @param fileTypeFilter filter to be used by the add directory dialog |
2075 @type str out of source, form, resource, interface, protocol, others |
2078 @type str |
2076 @param startdir start directory for the selection dialog |
2079 @param startdir start directory for the selection dialog |
2077 @type str |
2080 @type str |
2078 """ |
2081 """ |
2079 from .AddDirectoryDialog import AddDirectoryDialog |
2082 from .AddDirectoryDialog import AddDirectoryDialog |
2080 |
2083 |