14 from PyQt6.QtCore import QModelIndex, QUrl, pyqtSignal |
14 from PyQt6.QtCore import QModelIndex, QUrl, pyqtSignal |
15 from PyQt6.QtGui import QDesktopServices |
15 from PyQt6.QtGui import QDesktopServices |
16 from PyQt6.QtWidgets import QDialog, QMenu |
16 from PyQt6.QtWidgets import QDialog, QMenu |
17 |
17 |
18 from eric7 import Preferences |
18 from eric7 import Preferences |
|
19 from eric7.EricGui import EricPixmapCache |
19 from eric7.EricWidgets import EricMessageBox |
20 from eric7.EricWidgets import EricMessageBox |
20 from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog |
21 from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog |
21 from eric7.Utilities import MimeTypes |
22 from eric7.Utilities import MimeTypes |
22 |
23 |
23 from .FileCategoryRepositoryItem import FileCategoryRepositoryItem |
24 from .FileCategoryRepositoryItem import FileCategoryRepositoryItem |
26 ProjectBrowserDirectoryItem, |
27 ProjectBrowserDirectoryItem, |
27 ProjectBrowserFileItem, |
28 ProjectBrowserFileItem, |
28 ProjectBrowserOthersType, |
29 ProjectBrowserOthersType, |
29 ProjectBrowserSimpleDirectoryItem, |
30 ProjectBrowserSimpleDirectoryItem, |
30 ) |
31 ) |
|
32 from .ProjectBrowserRepositoryItem import ProjectBrowserRepositoryItem |
31 |
33 |
32 |
34 |
33 class ProjectOthersBrowser(ProjectBaseBrowser): |
35 class ProjectOthersBrowser(ProjectBaseBrowser): |
34 """ |
36 """ |
35 A class used to display the parts of the project, that don't fit the |
37 A class used to display the parts of the project, that don't fit the |
78 fileCategoryTyeString=self.tr("Others"), |
80 fileCategoryTyeString=self.tr("Others"), |
79 fileCategoryExtensions=[], |
81 fileCategoryExtensions=[], |
80 ), |
82 ), |
81 ) |
83 ) |
82 |
84 |
|
85 # Add the project browser type to the browser type repository. |
|
86 projectBrowser.addTypedProjectBrowser( |
|
87 "others", |
|
88 ProjectBrowserRepositoryItem( |
|
89 projectBrowser=self, |
|
90 projectBrowserUserString=self.tr("Others Browser"), |
|
91 fileCategory="OTHERS", |
|
92 getIcon=self.getIcon, |
|
93 ), |
|
94 ) |
|
95 |
83 # Connect signals of Project. |
96 # Connect signals of Project. |
84 project.prepareRepopulateItem.connect(self._prepareRepopulateItem) |
97 project.prepareRepopulateItem.connect(self._prepareRepopulateItem) |
85 project.completeRepopulateItem.connect(self._completeRepopulateItem) |
98 project.completeRepopulateItem.connect(self._completeRepopulateItem) |
86 project.projectClosed.connect(self._projectClosed) |
99 project.projectClosed.connect(self._projectClosed) |
87 project.projectOpened.connect(self._projectOpened) |
100 project.projectOpened.connect(self._projectOpened) |
98 self.pixmapEditFile.connect(projectBrowser.pixmapEditFile) |
111 self.pixmapEditFile.connect(projectBrowser.pixmapEditFile) |
99 self.pixmapFile.connect(projectBrowser.pixmapFile) |
112 self.pixmapFile.connect(projectBrowser.pixmapFile) |
100 self.svgFile.connect(projectBrowser.svgFile) |
113 self.svgFile.connect(projectBrowser.svgFile) |
101 self.umlFile.connect(projectBrowser.umlFile) |
114 self.umlFile.connect(projectBrowser.umlFile) |
102 self.binaryFile.connect(projectBrowser.binaryFile) |
115 self.binaryFile.connect(projectBrowser.binaryFile) |
|
116 |
|
117 def getIcon(self): |
|
118 """ |
|
119 Public method to get an icon for the project browser. |
|
120 |
|
121 @return icon for the browser |
|
122 @rtype QIcon |
|
123 """ |
|
124 return EricPixmapCache.getIcon("projectOthers") |
103 |
125 |
104 def _createPopupMenus(self): |
126 def _createPopupMenus(self): |
105 """ |
127 """ |
106 Protected overloaded method to generate the popup menu. |
128 Protected overloaded method to generate the popup menu. |
107 """ |
129 """ |