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 |
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( |