6 """ |
6 """ |
7 Module implementing a class used to display the parts of the project, that |
7 Module implementing a class used to display the parts of the project, that |
8 don't fit the other categories. |
8 don't fit the other categories. |
9 """ |
9 """ |
10 |
10 |
11 import mimetypes |
|
12 |
|
13 from PyQt4.QtCore import QModelIndex, pyqtSignal, QUrl |
11 from PyQt4.QtCore import QModelIndex, pyqtSignal, QUrl |
14 from PyQt4.QtGui import QDesktopServices, QDialog, QMenu |
12 from PyQt4.QtGui import QDesktopServices, QDialog, QMenu |
15 |
13 |
16 from .ProjectBrowserModel import ProjectBrowserFileItem, \ |
14 from .ProjectBrowserModel import ProjectBrowserFileItem, \ |
17 ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem, \ |
15 ProjectBrowserSimpleDirectoryItem, ProjectBrowserDirectoryItem, \ |
18 ProjectBrowserOthersType |
16 ProjectBrowserOthersType |
19 from .ProjectBaseBrowser import ProjectBaseBrowser |
17 from .ProjectBaseBrowser import ProjectBaseBrowser |
|
18 |
|
19 import Utilities.mimetypes |
20 |
20 |
21 |
21 |
22 class ProjectOthersBrowser(ProjectBaseBrowser): |
22 class ProjectOthersBrowser(ProjectBaseBrowser): |
23 """ |
23 """ |
24 A class used to display the parts of the project, that don't fit the |
24 A class used to display the parts of the project, that don't fit the |
232 if itm.isPixmapFile(): |
232 if itm.isPixmapFile(): |
233 self.pixmapFile.emit(itm.fileName()) |
233 self.pixmapFile.emit(itm.fileName()) |
234 elif itm.isSvgFile(): |
234 elif itm.isSvgFile(): |
235 self.svgFile.emit(itm.fileName()) |
235 self.svgFile.emit(itm.fileName()) |
236 else: |
236 else: |
237 type_ = mimetypes.guess_type(itm.fileName())[0] |
237 if Utilities.mimetypes.isTextFile(itm.fileName()): |
238 if type_ is None or type_.split("/")[0] == "text": |
|
239 self.sourceFile.emit(itm.fileName()) |
238 self.sourceFile.emit(itm.fileName()) |
240 else: |
239 else: |
241 QDesktopServices.openUrl(QUrl(itm.fileName())) |
240 QDesktopServices.openUrl(QUrl(itm.fileName())) |
242 |
241 |
243 def __removeItem(self): |
242 def __removeItem(self): |