343 """ |
343 """ |
344 self._addWatchedItem(parentItem) |
344 self._addWatchedItem(parentItem) |
345 |
345 |
346 qdir = QDir(parentItem.dirName()) |
346 qdir = QDir(parentItem.dirName()) |
347 |
347 |
348 if Preferences.getProject("BrowsersListHiddenFiles"): |
348 fileFilter = ( |
349 fileFilter = QDir.Filters( |
349 QDir.Filters( |
350 QDir.Filter.AllEntries | |
350 QDir.Filter.AllEntries | |
351 QDir.Filter.Hidden | |
351 QDir.Filter.Hidden | |
352 QDir.Filter.NoDotAndDotDot |
352 QDir.Filter.NoDotAndDotDot |
353 ) |
353 ) |
354 else: |
354 if Preferences.getProject("BrowsersListHiddenFiles") else |
355 fileFilter = QDir.Filters( |
355 QDir.Filters(QDir.Filter.AllEntries | QDir.Filter.NoDotAndDotDot) |
356 QDir.Filter.AllEntries | QDir.Filter.NoDotAndDotDot) |
356 ) |
357 entryInfoList = qdir.entryInfoList(fileFilter) |
357 entryInfoList = qdir.entryInfoList(fileFilter) |
358 |
358 |
359 if len(entryInfoList) > 0: |
359 if len(entryInfoList) > 0: |
360 if repopulate: |
360 if repopulate: |
361 self.beginInsertRows(self.createIndex( |
361 self.beginInsertRows(self.createIndex( |
369 dname = parentItem.dirName() |
369 dname = parentItem.dirName() |
370 self.project.vcs.clearStatusCache() |
370 self.project.vcs.clearStatusCache() |
371 states = self.project.vcs.vcsAllRegisteredStates(states, dname) |
371 states = self.project.vcs.vcsAllRegisteredStates(states, dname) |
372 |
372 |
373 for f in entryInfoList: |
373 for f in entryInfoList: |
374 if f.isDir(): |
374 node = ( |
375 node = ProjectBrowserDirectoryItem( |
375 ProjectBrowserDirectoryItem( |
376 parentItem, |
376 parentItem, |
377 Utilities.toNativeSeparators(f.absoluteFilePath()), |
377 Utilities.toNativeSeparators(f.absoluteFilePath()), |
378 parentItem.getProjectTypes()[0], False) |
378 parentItem.getProjectTypes()[0], False) |
379 else: |
379 if f.isDir() else |
380 node = ProjectBrowserFileItem( |
380 ProjectBrowserFileItem( |
381 parentItem, |
381 parentItem, |
382 Utilities.toNativeSeparators(f.absoluteFilePath()), |
382 Utilities.toNativeSeparators(f.absoluteFilePath()), |
383 parentItem.getProjectTypes()[0]) |
383 parentItem.getProjectTypes()[0]) |
|
384 ) |
384 if self.project.vcs is not None: |
385 if self.project.vcs is not None: |
385 fname = f.absoluteFilePath() |
386 fname = f.absoluteFilePath() |
386 if ( |
387 if ( |
387 states[os.path.normcase(fname)] == |
388 states[os.path.normcase(fname)] == |
388 self.project.vcs.canBeCommitted |
389 self.project.vcs.canBeCommitted |
446 |
447 |
447 for fn in self.project.pdata[key]: |
448 for fn in self.project.pdata[key]: |
448 fname = os.path.join(self.project.ppath, fn) |
449 fname = os.path.join(self.project.ppath, fn) |
449 parentItem, dt = self.findParentItemByName( |
450 parentItem, dt = self.findParentItemByName( |
450 self.projectBrowserTypes[key], fn) |
451 self.projectBrowserTypes[key], fn) |
451 if os.path.isdir(fname): |
452 itm = ( |
452 itm = ProjectBrowserDirectoryItem( |
453 ProjectBrowserDirectoryItem( |
453 parentItem, fname, self.projectBrowserTypes[key], |
454 parentItem, fname, self.projectBrowserTypes[key], |
454 False, bold) |
455 False, bold) |
455 else: |
456 if os.path.isdir(fname) else |
456 itm = ProjectBrowserFileItem( |
457 ProjectBrowserFileItem( |
457 parentItem, fname, self.projectBrowserTypes[key], |
458 parentItem, fname, self.projectBrowserTypes[key], |
458 False, bold, sourceLanguage=sourceLanguage) |
459 False, bold, sourceLanguage=sourceLanguage) |
|
460 ) |
459 self._addItem(itm, parentItem) |
461 self._addItem(itm, parentItem) |
460 if self.project.vcs is not None: |
462 if self.project.vcs is not None: |
461 if ( |
463 if ( |
462 states[os.path.normcase(fname)] == |
464 states[os.path.normcase(fname)] == |
463 self.project.vcs.canBeCommitted |
465 self.project.vcs.canBeCommitted |
550 bold = typeString == "OTHERS" |
552 bold = typeString == "OTHERS" |
551 |
553 |
552 fname = os.path.join(self.project.ppath, name) |
554 fname = os.path.join(self.project.ppath, name) |
553 parentItem, dt = self.findParentItemByName( |
555 parentItem, dt = self.findParentItemByName( |
554 self.projectBrowserTypes[typeString], name) |
556 self.projectBrowserTypes[typeString], name) |
555 if parentItem == self.rootItem: |
557 parentIndex = ( |
556 parentIndex = QModelIndex() |
558 QModelIndex() |
557 else: |
559 if parentItem == self.rootItem else |
558 parentIndex = self.createIndex(parentItem.row(), 0, parentItem) |
560 self.createIndex(parentItem.row(), 0, parentItem) |
|
561 ) |
559 if os.path.isdir(fname): |
562 if os.path.isdir(fname): |
560 itm = ProjectBrowserDirectoryItem( |
563 itm = ProjectBrowserDirectoryItem( |
561 parentItem, fname, self.projectBrowserTypes[typeString], |
564 parentItem, fname, self.projectBrowserTypes[typeString], |
562 False, bold) |
565 False, bold) |
563 else: |
566 else: |
684 |
687 |
685 if path not in self.watchedItems: |
688 if path not in self.watchedItems: |
686 # just ignore the situation we don't have a reference to the item |
689 # just ignore the situation we don't have a reference to the item |
687 return |
690 return |
688 |
691 |
689 if Preferences.getProject("BrowsersListHiddenFiles"): |
692 fileFilter = ( |
690 fileFilter = QDir.Filters( |
693 QDir.Filters( |
691 QDir.Filter.AllEntries | |
694 QDir.Filter.AllEntries | |
692 QDir.Filter.Hidden | |
695 QDir.Filter.Hidden | |
693 QDir.Filter.NoDotAndDotDot |
696 QDir.Filter.NoDotAndDotDot |
694 ) |
697 ) |
695 else: |
698 if Preferences.getProject("BrowsersListHiddenFiles") else |
696 fileFilter = QDir.Filters( |
699 QDir.Filters(QDir.Filter.AllEntries | QDir.Filter.NoDotAndDotDot) |
697 QDir.Filter.AllEntries | QDir.Filter.NoDotAndDotDot) |
700 ) |
698 |
701 |
699 for itm in self.watchedItems[path]: |
702 for itm in self.watchedItems[path]: |
700 oldCnt = itm.childCount() |
703 oldCnt = itm.childCount() |
701 |
704 |
702 qdir = QDir(itm.dirName()) |
705 qdir = QDir(itm.dirName()) |
717 continue |
720 continue |
718 |
721 |
719 cnt = itm.childCount() |
722 cnt = itm.childCount() |
720 self.beginInsertRows( |
723 self.beginInsertRows( |
721 self.createIndex(itm.row(), 0, itm), cnt, cnt) |
724 self.createIndex(itm.row(), 0, itm), cnt, cnt) |
722 if f.isDir(): |
725 node = ( |
723 node = ProjectBrowserDirectoryItem( |
726 ProjectBrowserDirectoryItem( |
724 itm, |
727 itm, |
725 Utilities.toNativeSeparators(f.absoluteFilePath()), |
728 Utilities.toNativeSeparators(f.absoluteFilePath()), |
726 itm.getProjectTypes()[0], |
729 itm.getProjectTypes()[0], |
727 False) |
730 False) |
728 else: |
731 if f.isDir() else |
729 node = ProjectBrowserFileItem( |
732 ProjectBrowserFileItem( |
730 itm, |
733 itm, |
731 Utilities.toNativeSeparators(f.absoluteFilePath()), |
734 Utilities.toNativeSeparators(f.absoluteFilePath()), |
732 itm.getProjectTypes()[0]) |
735 itm.getProjectTypes()[0]) |
|
736 ) |
733 self._addItem(node, itm) |
737 self._addItem(node, itm) |
734 if self.project.vcs is not None: |
738 if self.project.vcs is not None: |
735 self.project.vcs.clearStatusCache() |
739 self.project.vcs.clearStatusCache() |
736 state = self.project.vcs.vcsRegisteredState(node.name()) |
740 state = self.project.vcs.vcsRegisteredState(node.name()) |
737 if state == self.project.vcs.canBeCommitted: |
741 if state == self.project.vcs.canBeCommitted: |
819 |
823 |
820 @param name file or directory name of the item (string). |
824 @param name file or directory name of the item (string). |
821 """ |
825 """ |
822 fname = os.path.basename(name) |
826 fname = os.path.basename(name) |
823 parentItem = self.findParentItemByName(0, name)[0] |
827 parentItem = self.findParentItemByName(0, name)[0] |
824 if parentItem == self.rootItem: |
828 parentIndex = ( |
825 parentIndex = QModelIndex() |
829 QModelIndex() |
826 else: |
830 if parentItem == self.rootItem else |
827 parentIndex = self.createIndex(parentItem.row(), 0, parentItem) |
831 self.createIndex(parentItem.row(), 0, parentItem) |
|
832 ) |
828 childItem = self.findChildItem(fname, 0, parentItem) |
833 childItem = self.findChildItem(fname, 0, parentItem) |
829 if childItem is not None: |
834 if childItem is not None: |
830 self.beginRemoveRows(parentIndex, childItem.row(), childItem.row()) |
835 self.beginRemoveRows(parentIndex, childItem.row(), childItem.row()) |
831 parentItem.removeChild(childItem) |
836 parentItem.removeChild(childItem) |
832 self.endRemoveRows() |
837 self.endRemoveRows() |