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 """ |