22 from PyQt6.QtWidgets import QAbstractItemView, QApplication, QDialog, QMenu, QTreeView |
22 from PyQt6.QtWidgets import QAbstractItemView, QApplication, QDialog, QMenu, QTreeView |
23 |
23 |
24 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor |
24 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor |
25 from eric7.EricWidgets import EricMessageBox |
25 from eric7.EricWidgets import EricMessageBox |
26 from eric7.EricWidgets.EricApplication import ericApp |
26 from eric7.EricWidgets.EricApplication import ericApp |
|
27 from eric7.SystemUtilities import FileSystemUtilities |
27 from eric7.UI.Browser import Browser |
28 from eric7.UI.Browser import Browser |
28 from eric7.UI.BrowserModel import ( |
29 from eric7.UI.BrowserModel import ( |
29 BrowserClassItem, |
30 BrowserClassItem, |
30 BrowserDirectoryItem, |
31 BrowserDirectoryItem, |
31 BrowserFileItem, |
32 BrowserFileItem, |
226 |
227 |
227 @param parent parent index of inserted rows (QModelIndex) |
228 @param parent parent index of inserted rows (QModelIndex) |
228 @param start start row number (integer) |
229 @param start start row number (integer) |
229 @param end end row number (integer) |
230 @param end end row number (integer) |
230 """ |
231 """ |
231 self._resizeColumns(parent) |
232 self._resizeColumns() |
232 |
233 |
233 def _projectClosed(self): |
234 def _projectClosed(self): |
234 """ |
235 """ |
235 Protected slot to handle the projectClosed signal. |
236 Protected slot to handle the projectClosed signal. |
236 """ |
237 """ |
380 if sindex.isValid(): |
381 if sindex.isValid(): |
381 index = self.model().mapFromSource(sindex) |
382 index = self.model().mapFromSource(sindex) |
382 if index.isValid(): |
383 if index.isValid(): |
383 self._selectSingleItem(index) |
384 self._selectSingleItem(index) |
384 self.scrollTo(index) |
385 self.scrollTo(index) |
|
386 |
|
387 def _showProjectInFileManager(self): |
|
388 """ |
|
389 Protected slot to show the path of the project in a file manager application. |
|
390 """ |
|
391 if not self.project.isOpen(): |
|
392 EricMessageBox.warning( |
|
393 self, |
|
394 self.tr("Show in File Manager"), |
|
395 self.tr("""A project must be opened first."""), |
|
396 ) |
|
397 return |
|
398 |
|
399 directory = self.project.getProjectPath() |
|
400 ok = FileSystemUtilities.startfile(directory) |
|
401 |
|
402 if not ok: |
|
403 EricMessageBox.warning( |
|
404 self, |
|
405 self.tr("Show in File Manager"), |
|
406 self.tr( |
|
407 "<p>The directory of the current project (<b>{0}</b>) cannot be" |
|
408 " shown in a file manager application.</p>" |
|
409 ).format(directory), |
|
410 ) |
385 |
411 |
386 def _expandAllDirs(self): |
412 def _expandAllDirs(self): |
387 """ |
413 """ |
388 Protected slot to handle the 'Expand all directories' menu action. |
414 Protected slot to handle the 'Expand all directories' menu action. |
389 """ |
415 """ |