13 |
13 |
14 from PyQt6.QtCore import QModelIndex, pyqtSignal, QUrl |
14 from PyQt6.QtCore import QModelIndex, pyqtSignal, QUrl |
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 EricWidgets import EricMessageBox |
18 from eric7.EricWidgets import EricMessageBox |
19 |
19 |
20 from .ProjectBrowserModel import ( |
20 from .ProjectBrowserModel import ( |
21 ProjectBrowserFileItem, |
21 ProjectBrowserFileItem, |
22 ProjectBrowserSimpleDirectoryItem, |
22 ProjectBrowserSimpleDirectoryItem, |
23 ProjectBrowserDirectoryItem, |
23 ProjectBrowserDirectoryItem, |
24 ProjectBrowserOthersType, |
24 ProjectBrowserOthersType, |
25 ) |
25 ) |
26 from .ProjectBaseBrowser import ProjectBaseBrowser |
26 from .ProjectBaseBrowser import ProjectBaseBrowser |
27 |
27 |
28 import Utilities.MimeTypes |
28 from eric7.Utilities import MimeTypes |
29 import Preferences |
29 from eric7 import Preferences |
30 |
30 |
31 |
31 |
32 class ProjectOthersBrowser(ProjectBaseBrowser): |
32 class ProjectOthersBrowser(ProjectBaseBrowser): |
33 """ |
33 """ |
34 A class used to display the parts of the project, that don't fit the |
34 A class used to display the parts of the project, that don't fit the |
299 elif itm.isPixmapFile(): |
299 elif itm.isPixmapFile(): |
300 self.pixmapFile.emit(itm.fileName()) |
300 self.pixmapFile.emit(itm.fileName()) |
301 elif itm.isEricGraphicsFile(): |
301 elif itm.isEricGraphicsFile(): |
302 self.umlFile.emit(itm.fileName()) |
302 self.umlFile.emit(itm.fileName()) |
303 else: |
303 else: |
304 if Utilities.MimeTypes.isTextFile(itm.fileName()): |
304 if MimeTypes.isTextFile(itm.fileName()): |
305 self.sourceFile.emit(itm.fileName()) |
305 self.sourceFile.emit(itm.fileName()) |
306 else: |
306 else: |
307 QDesktopServices.openUrl(QUrl(itm.fileName())) |
307 QDesktopServices.openUrl(QUrl(itm.fileName())) |
308 |
308 |
309 def _openFileInEditor(self): |
309 def _openFileInEditor(self): |
311 Protected slot to handle the Open in Editor menu action. |
311 Protected slot to handle the Open in Editor menu action. |
312 """ |
312 """ |
313 itmList = self.getSelectedItems() |
313 itmList = self.getSelectedItems() |
314 |
314 |
315 for itm in itmList: |
315 for itm in itmList: |
316 if isinstance( |
316 if isinstance(itm, ProjectBrowserFileItem) and MimeTypes.isTextFile( |
317 itm, ProjectBrowserFileItem |
317 itm.fileName() |
318 ) and Utilities.MimeTypes.isTextFile(itm.fileName()): |
318 ): |
319 self.sourceFile.emit(itm.fileName()) |
319 self.sourceFile.emit(itm.fileName()) |
320 |
320 |
321 def __showMimeType(self): |
321 def __showMimeType(self): |
322 """ |
322 """ |
323 Private slot to show the mime type of the selected entry. |
323 Private slot to show the mime type of the selected entry. |
324 """ |
324 """ |
325 itmList = self.getSelectedItems() |
325 itmList = self.getSelectedItems() |
326 if itmList: |
326 if itmList: |
327 mimetype = Utilities.MimeTypes.mimeType(itmList[0].fileName()) |
327 mimetype = MimeTypes.mimeType(itmList[0].fileName()) |
328 if mimetype is None: |
328 if mimetype is None: |
329 EricMessageBox.warning( |
329 EricMessageBox.warning( |
330 self, |
330 self, |
331 self.tr("Show Mime-Type"), |
331 self.tr("Show Mime-Type"), |
332 self.tr( |
332 self.tr( |
442 names.extend(dirNames) |
442 names.extend(dirNames) |
443 del itmList |
443 del itmList |
444 del dirFullNames |
444 del dirFullNames |
445 del dirNames |
445 del dirNames |
446 |
446 |
447 from UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog |
447 from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog |
448 |
448 |
449 dlg = DeleteFilesConfirmationDialog( |
449 dlg = DeleteFilesConfirmationDialog( |
450 self.parent(), |
450 self.parent(), |
451 self.tr("Delete files/directories"), |
451 self.tr("Delete files/directories"), |
452 self.tr("Do you really want to delete these entries from the" " project?"), |
452 self.tr("Do you really want to delete these entries from the" " project?"), |