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