UI/Browser.py

branch
5_4_x
changeset 3567
d739e8de1b4f
parent 3160
209a07d7e401
equal deleted inserted replaced
3561:1a14a490c0a2 3567:d739e8de1b4f
6 """ 6 """
7 Module implementing a browser with class browsing capabilities. 7 Module implementing a browser with class browsing capabilities.
8 """ 8 """
9 9
10 import os 10 import os
11 import mimetypes
12 11
13 from PyQt4.QtCore import QModelIndex, pyqtSignal, QUrl, Qt, qVersion 12 from PyQt4.QtCore import QModelIndex, pyqtSignal, QUrl, Qt, qVersion
14 from PyQt4.QtGui import QTreeView, QDesktopServices, QItemSelectionModel, \ 13 from PyQt4.QtGui import QTreeView, QDesktopServices, QItemSelectionModel, \
15 QApplication, QMenu, QAbstractItemView 14 QApplication, QMenu, QAbstractItemView
16 15
23 from .BrowserSortFilterProxyModel import BrowserSortFilterProxyModel 22 from .BrowserSortFilterProxyModel import BrowserSortFilterProxyModel
24 23
25 import UI.PixmapCache 24 import UI.PixmapCache
26 import Preferences 25 import Preferences
27 import Utilities 26 import Utilities
27 import Utilities.mimetypes
28 28
29 29
30 class Browser(QTreeView): 30 class Browser(QTreeView):
31 """ 31 """
32 Class used to display a file system tree. 32 Class used to display a file system tree.
419 elif itm.isSvgFile(): 419 elif itm.isSvgFile():
420 self.svgFile.emit(itm.fileName()) 420 self.svgFile.emit(itm.fileName())
421 elif itm.isPixmapFile(): 421 elif itm.isPixmapFile():
422 self.pixmapFile.emit(itm.fileName()) 422 self.pixmapFile.emit(itm.fileName())
423 else: 423 else:
424 type_ = mimetypes.guess_type(itm.fileName())[0] 424 if Utilities.mimetypes.isTextFile(itm.fileName()):
425 if type_ is None or type_.split("/")[0] == "text":
426 self.sourceFile[str].emit(itm.fileName()) 425 self.sourceFile[str].emit(itm.fileName())
427 else: 426 else:
428 QDesktopServices.openUrl(QUrl(itm.fileName())) 427 QDesktopServices.openUrl(QUrl(itm.fileName()))
429 elif isinstance(itm, BrowserClassItem): 428 elif isinstance(itm, BrowserClassItem):
430 self.sourceFile[str, int].emit( 429 self.sourceFile[str, int].emit(

eric ide

mercurial