Project/ProjectBrowserModel.py

branch
Py2 comp.
changeset 3058
0a02c433f52d
parent 3057
10516539f238
parent 3030
4a0a82ddd9d2
child 3060
5883ce99ee12
equal deleted inserted replaced
3057:10516539f238 3058:0a02c433f52d
354 self.project.vcs.clearStatusCache() 354 self.project.vcs.clearStatusCache()
355 states = self.project.vcs.vcsAllRegisteredStates(states, dname) 355 states = self.project.vcs.vcsAllRegisteredStates(states, dname)
356 356
357 for f in entryInfoList: 357 for f in entryInfoList:
358 if f.isDir(): 358 if f.isDir():
359 node = ProjectBrowserDirectoryItem(parentItem, 359 node = ProjectBrowserDirectoryItem(
360 parentItem,
360 Utilities.toNativeSeparators(f.absoluteFilePath()), 361 Utilities.toNativeSeparators(f.absoluteFilePath()),
361 parentItem.getProjectTypes()[0], False) 362 parentItem.getProjectTypes()[0], False)
362 else: 363 else:
363 node = ProjectBrowserFileItem(parentItem, 364 node = ProjectBrowserFileItem(
365 parentItem,
364 Utilities.toNativeSeparators(f.absoluteFilePath()), 366 Utilities.toNativeSeparators(f.absoluteFilePath()),
365 parentItem.getProjectTypes()[0]) 367 parentItem.getProjectTypes()[0])
366 if self.project.vcs is not None: 368 if self.project.vcs is not None:
367 fname = f.absoluteFilePath() 369 fname = f.absoluteFilePath()
368 if states[os.path.normcase(fname)] == \ 370 if states[os.path.normcase(fname)] == \
429 for fn in self.project.pdata[key]: 431 for fn in self.project.pdata[key]:
430 fname = os.path.join(self.project.ppath, fn) 432 fname = os.path.join(self.project.ppath, fn)
431 parentItem, dt = self.findParentItemByName( 433 parentItem, dt = self.findParentItemByName(
432 self.projectBrowserTypes[key], fn) 434 self.projectBrowserTypes[key], fn)
433 if os.path.isdir(fname): 435 if os.path.isdir(fname):
434 itm = ProjectBrowserDirectoryItem(parentItem, fname, 436 itm = ProjectBrowserDirectoryItem(
435 self.projectBrowserTypes[key], False, bold) 437 parentItem, fname, self.projectBrowserTypes[key],
438 False, bold)
436 else: 439 else:
437 itm = ProjectBrowserFileItem(parentItem, fname, 440 itm = ProjectBrowserFileItem(
438 self.projectBrowserTypes[key], False, bold, 441 parentItem, fname, self.projectBrowserTypes[key],
439 sourceLanguage=sourceLanguage) 442 False, bold, sourceLanguage=sourceLanguage)
440 self._addItem(itm, parentItem) 443 self._addItem(itm, parentItem)
441 if self.project.vcs is not None: 444 if self.project.vcs is not None:
442 if states[os.path.normcase(fname)] == \ 445 if states[os.path.normcase(fname)] == \
443 self.project.vcs.canBeCommitted: 446 self.project.vcs.canBeCommitted:
444 itm.addVcsStatus(self.project.vcs.vcsName()) 447 itm.addVcsStatus(self.project.vcs.vcsName())
536 if parentItem == self.rootItem: 539 if parentItem == self.rootItem:
537 parentIndex = QModelIndex() 540 parentIndex = QModelIndex()
538 else: 541 else:
539 parentIndex = self.createIndex(parentItem.row(), 0, parentItem) 542 parentIndex = self.createIndex(parentItem.row(), 0, parentItem)
540 if os.path.isdir(fname): 543 if os.path.isdir(fname):
541 itm = ProjectBrowserDirectoryItem(parentItem, fname, 544 itm = ProjectBrowserDirectoryItem(
542 self.projectBrowserTypes[typeString], False, bold) 545 parentItem, fname, self.projectBrowserTypes[typeString],
546 False, bold)
543 else: 547 else:
544 if typeString == "SOURCES": 548 if typeString == "SOURCES":
545 sourceLanguage = self.project.pdata["PROGLANGUAGE"][0] 549 sourceLanguage = self.project.pdata["PROGLANGUAGE"][0]
546 else: 550 else:
547 sourceLanguage = "" 551 sourceLanguage = ""
548 itm = ProjectBrowserFileItem(parentItem, fname, 552 itm = ProjectBrowserFileItem(
549 self.projectBrowserTypes[typeString], False, bold, 553 parentItem, fname, self.projectBrowserTypes[typeString],
550 sourceLanguage=sourceLanguage) 554 False, bold, sourceLanguage=sourceLanguage)
551 self.__addVCSStatus(itm, fname) 555 self.__addVCSStatus(itm, fname)
552 if additionalTypeStrings: 556 if additionalTypeStrings:
553 for additionalTypeString in additionalTypeStrings: 557 for additionalTypeString in additionalTypeStrings:
554 type_ = self.projectBrowserTypes[additionalTypeString] 558 type_ = self.projectBrowserTypes[additionalTypeString]
555 itm.addProjectType(type_) 559 itm.addProjectType(type_)
680 break 684 break
681 if childFound: 685 if childFound:
682 continue 686 continue
683 687
684 cnt = itm.childCount() 688 cnt = itm.childCount()
685 self.beginInsertRows(self.createIndex(itm.row(), 0, itm), 689 self.beginInsertRows(
686 cnt, cnt) 690 self.createIndex(itm.row(), 0, itm), cnt, cnt)
687 if f.isDir(): 691 if f.isDir():
688 node = ProjectBrowserDirectoryItem(itm, 692 node = ProjectBrowserDirectoryItem(
693 itm,
689 Utilities.toNativeSeparators(f.absoluteFilePath()), 694 Utilities.toNativeSeparators(f.absoluteFilePath()),
690 itm.getProjectTypes()[0], 695 itm.getProjectTypes()[0],
691 False) 696 False)
692 else: 697 else:
693 node = ProjectBrowserFileItem(itm, 698 node = ProjectBrowserFileItem(
699 itm,
694 Utilities.toNativeSeparators(f.absoluteFilePath()), 700 Utilities.toNativeSeparators(f.absoluteFilePath()),
695 itm.getProjectTypes()[0]) 701 itm.getProjectTypes()[0])
696 self._addItem(node, itm) 702 self._addItem(node, itm)
697 if self.project.vcs is not None: 703 if self.project.vcs is not None:
698 self.project.vcs.clearStatusCache() 704 self.project.vcs.clearStatusCache()
716 break 722 break
717 if entryFound: 723 if entryFound:
718 continue 724 continue
719 725
720 self._removeWatchedItem(child) 726 self._removeWatchedItem(child)
721 self.beginRemoveRows(self.createIndex(itm.row(), 0, itm), 727 self.beginRemoveRows(
722 row, row) 728 self.createIndex(itm.row(), 0, itm), row, row)
723 itm.removeChild(child) 729 itm.removeChild(child)
724 self.endRemoveRows() 730 self.endRemoveRows()
725 731
726 def __addVCSStatus(self, item, name): 732 def __addVCSStatus(self, item, name):
727 """ 733 """
868 if itm: 874 if itm:
869 itemCache[name] = itm 875 itemCache[name] = itm
870 if itm: 876 if itm:
871 itm.setVcsState(state) 877 itm.setVcsState(state)
872 index1 = self.createIndex(itm.row(), 0, itm) 878 index1 = self.createIndex(itm.row(), 0, itm)
873 index2 = self.createIndex(itm.row(), 879 index2 = self.createIndex(
874 self.rootItem.columnCount(), itm) 880 itm.row(), self.rootItem.columnCount(), itm)
875 self.dataChanged.emit(index1, index2) 881 self.dataChanged.emit(index1, index2)
876 882
877 head, tail = os.path.split(name) 883 head, tail = os.path.split(name)
878 if head != lastHead: 884 if head != lastHead:
879 if lastHead: 885 if lastHead:
908 if state < id_.vcsState: 914 if state < id_.vcsState:
909 state = id_.vcsState 915 state = id_.vcsState
910 if state != itm.vcsState: 916 if state != itm.vcsState:
911 itm.setVcsState(state) 917 itm.setVcsState(state)
912 index1 = self.createIndex(itm.row(), 0, itm) 918 index1 = self.createIndex(itm.row(), 0, itm)
913 index2 = self.createIndex(itm.row(), 919 index2 = self.createIndex(
914 self.rootItem.columnCount(), itm) 920 itm.row(), self.rootItem.columnCount(), itm)
915 self.dataChanged.emit(index1, index2) 921 self.dataChanged.emit(index1, index2)
916 path, tail = os.path.split(path) 922 path, tail = os.path.split(path)
917 923
918 def preferencesChanged(self): 924 def preferencesChanged(self):
919 """ 925 """

eric ide

mercurial