eric6/Project/ProjectBrowserModel.py

changeset 7266
d001bc703c29
parent 7229
53054eb5b15a
child 7360
9190402e4505
equal deleted inserted replaced
7265:0665c4d509c9 7266:d001bc703c29
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:

eric ide

mercurial