298 if path not in self.watchedItems: |
298 if path not in self.watchedItems: |
299 # just ignore the situation we don't have a reference to the item |
299 # just ignore the situation we don't have a reference to the item |
300 return |
300 return |
301 |
301 |
302 if Preferences.getUI("BrowsersListHiddenFiles"): |
302 if Preferences.getUI("BrowsersListHiddenFiles"): |
303 filter = QDir.Filters( |
303 dirFilter = QDir.Filters( |
304 QDir.AllEntries | QDir.Hidden | QDir.NoDotAndDotDot) |
304 QDir.AllEntries | QDir.Hidden | QDir.NoDotAndDotDot) |
305 else: |
305 else: |
306 filter = QDir.Filters(QDir.AllEntries | QDir.NoDot | QDir.NoDotDot) |
306 dirFilter = QDir.Filters( |
|
307 QDir.AllEntries | QDir.NoDot | QDir.NoDotDot) |
307 |
308 |
308 for itm in self.watchedItems[path]: |
309 for itm in self.watchedItems[path]: |
309 oldCnt = itm.childCount() |
310 oldCnt = itm.childCount() |
310 |
311 |
311 qdir = QDir(itm.dirName()) |
312 qdir = QDir(itm.dirName()) |
312 |
313 |
313 entryInfoList = qdir.entryInfoList(filter) |
314 entryInfoList = qdir.entryInfoList(dirFilter) |
314 |
315 |
315 # step 1: check for new entries |
316 # step 1: check for new entries |
316 children = itm.children() |
317 children = itm.children() |
317 for f in entryInfoList: |
318 for f in entryInfoList: |
318 fpath = Utilities.toNativeSeparators(f.absoluteFilePath()) |
319 fpath = Utilities.toNativeSeparators(f.absoluteFilePath()) |
529 self._addWatchedItem(parentItem) |
530 self._addWatchedItem(parentItem) |
530 |
531 |
531 qdir = QDir(parentItem.dirName()) |
532 qdir = QDir(parentItem.dirName()) |
532 |
533 |
533 if Preferences.getUI("BrowsersListHiddenFiles"): |
534 if Preferences.getUI("BrowsersListHiddenFiles"): |
534 filter = QDir.Filters( |
535 dirFilter = QDir.Filters( |
535 QDir.AllEntries | QDir.Hidden | QDir.NoDotAndDotDot) |
536 QDir.AllEntries | QDir.Hidden | QDir.NoDotAndDotDot) |
536 else: |
537 else: |
537 filter = QDir.Filters(QDir.AllEntries | QDir.NoDot | QDir.NoDotDot) |
538 dirFilter = QDir.Filters( |
538 entryInfoList = qdir.entryInfoList(filter) |
539 QDir.AllEntries | QDir.NoDot | QDir.NoDotDot) |
|
540 entryInfoList = qdir.entryInfoList(dirFilter) |
539 if len(entryInfoList) > 0: |
541 if len(entryInfoList) > 0: |
540 if repopulate: |
542 if repopulate: |
541 self.beginInsertRows( |
543 self.beginInsertRows( |
542 self.createIndex(parentItem.row(), 0, parentItem), |
544 self.createIndex(parentItem.row(), 0, parentItem), |
543 0, len(entryInfoList) - 1) |
545 0, len(entryInfoList) - 1) |
604 """ |
606 """ |
605 import Utilities.ClassBrowsers |
607 import Utilities.ClassBrowsers |
606 moduleName = parentItem.moduleName() |
608 moduleName = parentItem.moduleName() |
607 fileName = parentItem.fileName() |
609 fileName = parentItem.fileName() |
608 try: |
610 try: |
609 dict = Utilities.ClassBrowsers.readmodule( |
611 dictionary = Utilities.ClassBrowsers.readmodule( |
610 moduleName, [parentItem.dirName()], |
612 moduleName, [parentItem.dirName()], |
611 parentItem.isPython2File() or parentItem.isPython3File()) |
613 parentItem.isPython2File() or parentItem.isPython3File()) |
612 except ImportError: |
614 except ImportError: |
613 return |
615 return |
614 |
616 |
615 keys = list(dict.keys()) |
617 keys = list(dictionary.keys()) |
616 if len(keys) > 0: |
618 if len(keys) > 0: |
617 if repopulate: |
619 if repopulate: |
618 self.beginInsertRows( |
620 self.beginInsertRows( |
619 self.createIndex(parentItem.row(), 0, parentItem), |
621 self.createIndex(parentItem.row(), 0, parentItem), |
620 0, len(keys) - 1) |
622 0, len(keys) - 1) |
621 for key in keys: |
623 for key in keys: |
622 if key.startswith("@@"): |
624 if key.startswith("@@"): |
623 # special treatment done later |
625 # special treatment done later |
624 continue |
626 continue |
625 cl = dict[key] |
627 cl = dictionary[key] |
626 try: |
628 try: |
627 if cl.module == moduleName: |
629 if cl.module == moduleName: |
628 node = BrowserClassItem(parentItem, cl, fileName) |
630 node = BrowserClassItem(parentItem, cl, fileName) |
629 self._addItem(node, parentItem) |
631 self._addItem(node, parentItem) |
630 except AttributeError: |
632 except AttributeError: |
631 pass |
633 pass |
632 if "@@Coding@@" in keys: |
634 if "@@Coding@@" in keys: |
633 node = BrowserCodingItem( |
635 node = BrowserCodingItem( |
634 parentItem, |
636 parentItem, |
635 QCoreApplication.translate("BrowserModel", "Coding: {0}") |
637 QCoreApplication.translate("BrowserModel", "Coding: {0}") |
636 .format(dict["@@Coding@@"].coding)) |
638 .format(dictionary["@@Coding@@"].coding)) |
637 self._addItem(node, parentItem) |
639 self._addItem(node, parentItem) |
638 if "@@Globals@@" in keys: |
640 if "@@Globals@@" in keys: |
639 node = BrowserGlobalsItem( |
641 node = BrowserGlobalsItem( |
640 parentItem, |
642 parentItem, |
641 dict["@@Globals@@"].globals, |
643 dictionary["@@Globals@@"].globals, |
642 QCoreApplication.translate("BrowserModel", "Globals")) |
644 QCoreApplication.translate("BrowserModel", "Globals")) |
643 self._addItem(node, parentItem) |
645 self._addItem(node, parentItem) |
644 if "@@Import@@" in keys or "@@ImportFrom@@" in keys: |
646 if "@@Import@@" in keys or "@@ImportFrom@@" in keys: |
645 node = BrowserImportsItem( |
647 node = BrowserImportsItem( |
646 parentItem, |
648 parentItem, |
647 QCoreApplication.translate("BrowserModel", "Imports")) |
649 QCoreApplication.translate("BrowserModel", "Imports")) |
648 self._addItem(node, parentItem) |
650 self._addItem(node, parentItem) |
649 if "@@Import@@" in keys: |
651 if "@@Import@@" in keys: |
650 for importedModule in \ |
652 for importedModule in \ |
651 dict["@@Import@@"].getImports().values(): |
653 dictionary["@@Import@@"].getImports().values(): |
652 m_node = BrowserImportItem( |
654 m_node = BrowserImportItem( |
653 node, |
655 node, |
654 importedModule.importedModuleName, |
656 importedModule.importedModuleName, |
655 importedModule.file, |
657 importedModule.file, |
656 importedModule.linenos) |
658 importedModule.linenos) |