12 import re |
12 import re |
13 |
13 |
14 from PyQt5.QtCore import QDir, QModelIndex, pyqtSignal, QFileSystemWatcher, Qt |
14 from PyQt5.QtCore import QDir, QModelIndex, pyqtSignal, QFileSystemWatcher, Qt |
15 from PyQt5.QtGui import QColor |
15 from PyQt5.QtGui import QColor |
16 |
16 |
17 from UI.BrowserModel import BrowserModel, BrowserItem, BrowserDirectoryItem, \ |
17 from UI.BrowserModel import ( |
18 BrowserFileItem |
18 BrowserModel, BrowserItem, BrowserDirectoryItem, BrowserFileItem |
|
19 ) |
19 |
20 |
20 import UI.PixmapCache |
21 import UI.PixmapCache |
21 import Preferences |
22 import Preferences |
22 import Utilities |
23 import Utilities |
23 |
24 |
274 "R": Preferences.getProjectBrowserColour(self.colorNames["R"]), |
275 "R": Preferences.getProjectBrowserColour(self.colorNames["R"]), |
275 "U": Preferences.getProjectBrowserColour(self.colorNames["U"]), |
276 "U": Preferences.getProjectBrowserColour(self.colorNames["U"]), |
276 "Z": Preferences.getProjectBrowserColour(self.colorNames["Z"]), |
277 "Z": Preferences.getProjectBrowserColour(self.colorNames["Z"]), |
277 } |
278 } |
278 |
279 |
279 self.highLightColor = \ |
280 self.highLightColor = Preferences.getProjectBrowserColour( |
280 Preferences.getProjectBrowserColour("Highlighted") |
281 "Highlighted") |
281 # needed by preferencesChanged() |
282 # needed by preferencesChanged() |
282 |
283 |
283 self.vcsStatusReport = {} |
284 self.vcsStatusReport = {} |
284 |
285 |
285 def data(self, index, role): |
286 def data(self, index, role): |
374 parentItem, |
375 parentItem, |
375 Utilities.toNativeSeparators(f.absoluteFilePath()), |
376 Utilities.toNativeSeparators(f.absoluteFilePath()), |
376 parentItem.getProjectTypes()[0]) |
377 parentItem.getProjectTypes()[0]) |
377 if self.project.vcs is not None: |
378 if self.project.vcs is not None: |
378 fname = f.absoluteFilePath() |
379 fname = f.absoluteFilePath() |
379 if states[os.path.normcase(fname)] == \ |
380 if ( |
380 self.project.vcs.canBeCommitted: |
381 states[os.path.normcase(fname)] == |
|
382 self.project.vcs.canBeCommitted |
|
383 ): |
381 node.addVcsStatus(self.project.vcs.vcsName()) |
384 node.addVcsStatus(self.project.vcs.vcsName()) |
382 self.project.clearStatusMonitorCachedState( |
385 self.project.clearStatusMonitorCachedState( |
383 f.absoluteFilePath()) |
386 f.absoluteFilePath()) |
384 else: |
387 else: |
385 node.addVcsStatus(self.tr("local")) |
388 node.addVcsStatus(self.tr("local")) |
452 itm = ProjectBrowserFileItem( |
455 itm = ProjectBrowserFileItem( |
453 parentItem, fname, self.projectBrowserTypes[key], |
456 parentItem, fname, self.projectBrowserTypes[key], |
454 False, bold, sourceLanguage=sourceLanguage) |
457 False, bold, sourceLanguage=sourceLanguage) |
455 self._addItem(itm, parentItem) |
458 self._addItem(itm, parentItem) |
456 if self.project.vcs is not None: |
459 if self.project.vcs is not None: |
457 if states[os.path.normcase(fname)] == \ |
460 if ( |
458 self.project.vcs.canBeCommitted: |
461 states[os.path.normcase(fname)] == |
|
462 self.project.vcs.canBeCommitted |
|
463 ): |
459 itm.addVcsStatus(self.project.vcs.vcsName()) |
464 itm.addVcsStatus(self.project.vcs.vcsName()) |
460 else: |
465 else: |
461 itm.addVcsStatus(self.tr("local")) |
466 itm.addVcsStatus(self.tr("local")) |
462 else: |
467 else: |
463 itm.addVcsStatus("") |
468 itm.addVcsStatus("") |
631 @param lineno one based line number of the item (integer) |
636 @param lineno one based line number of the item (integer) |
632 @return index of the item found (QModelIndex) |
637 @return index of the item found (QModelIndex) |
633 """ |
638 """ |
634 index = QModelIndex() |
639 index = QModelIndex() |
635 itm = self.findItem(name) |
640 itm = self.findItem(name) |
636 if itm is not None and \ |
641 if ( |
637 isinstance(itm, ProjectBrowserFileItem): |
642 itm is not None and |
|
643 isinstance(itm, ProjectBrowserFileItem) |
|
644 ): |
638 olditem = itm |
645 olditem = itm |
639 autoPopulate = Preferences.getProject("AutoPopulateItems") |
646 autoPopulate = Preferences.getProject("AutoPopulateItems") |
640 while itm is not None: |
647 while itm is not None: |
641 if not itm.isPopulated(): |
648 if not itm.isPopulated(): |
642 if itm.isLazyPopulated() and autoPopulate: |
649 if itm.isLazyPopulated() and autoPopulate: |