312 break |
312 break |
313 if childFound: |
313 if childFound: |
314 continue |
314 continue |
315 |
315 |
316 cnt = itm.childCount() |
316 cnt = itm.childCount() |
317 self.beginInsertRows(self.createIndex(itm.row(), 0, itm), |
317 self.beginInsertRows( |
318 cnt, cnt) |
318 self.createIndex(itm.row(), 0, itm), cnt, cnt) |
319 if f.isDir(): |
319 if f.isDir(): |
320 node = BrowserDirectoryItem(itm, |
320 node = BrowserDirectoryItem( |
|
321 itm, |
321 Utilities.toNativeSeparators(f.absoluteFilePath()), |
322 Utilities.toNativeSeparators(f.absoluteFilePath()), |
322 False) |
323 False) |
323 else: |
324 else: |
324 node = BrowserFileItem(itm, |
325 node = BrowserFileItem( |
|
326 itm, |
325 Utilities.toNativeSeparators(f.absoluteFilePath())) |
327 Utilities.toNativeSeparators(f.absoluteFilePath())) |
326 self._addItem(node, itm) |
328 self._addItem(node, itm) |
327 self.endInsertRows() |
329 self.endInsertRows() |
328 |
330 |
329 # step 2: check for removed entries |
331 # step 2: check for removed entries |
339 break |
341 break |
340 if entryFound: |
342 if entryFound: |
341 continue |
343 continue |
342 |
344 |
343 self._removeWatchedItem(child) |
345 self._removeWatchedItem(child) |
344 self.beginRemoveRows(self.createIndex(itm.row(), 0, itm), |
346 self.beginRemoveRows( |
345 row, row) |
347 self.createIndex(itm.row(), 0, itm), row, row) |
346 itm.removeChild(child) |
348 itm.removeChild(child) |
347 self.endRemoveRows() |
349 self.endRemoveRows() |
348 |
350 |
349 def __populateModel(self): |
351 def __populateModel(self): |
350 """ |
352 """ |
421 |
423 |
422 def saveToplevelDirs(self): |
424 def saveToplevelDirs(self): |
423 """ |
425 """ |
424 Public slot to save the toplevel directories. |
426 Public slot to save the toplevel directories. |
425 """ |
427 """ |
426 Preferences.Prefs.settings.setValue('BrowserModel/ToplevelDirs', |
428 Preferences.Prefs.settings.setValue( |
427 self.toplevelDirs) |
429 'BrowserModel/ToplevelDirs', self.toplevelDirs) |
428 |
430 |
429 def _addItem(self, itm, parentItem): |
431 def _addItem(self, itm, parentItem): |
430 """ |
432 """ |
431 Protected slot to add an item. |
433 Protected slot to add an item. |
432 |
434 |
494 self.beginInsertRows( |
496 self.beginInsertRows( |
495 self.createIndex(parentItem.row(), 0, parentItem), |
497 self.createIndex(parentItem.row(), 0, parentItem), |
496 0, len(entryInfoList) - 1) |
498 0, len(entryInfoList) - 1) |
497 for f in entryInfoList: |
499 for f in entryInfoList: |
498 if f.isDir(): |
500 if f.isDir(): |
499 node = BrowserDirectoryItem(parentItem, |
501 node = BrowserDirectoryItem( |
|
502 parentItem, |
500 Utilities.toNativeSeparators(f.absoluteFilePath()), |
503 Utilities.toNativeSeparators(f.absoluteFilePath()), |
501 False) |
504 False) |
502 else: |
505 else: |
503 fileFilters = \ |
506 fileFilters = \ |
504 Preferences.getUI("BrowsersFileFilters").split(";") |
507 Preferences.getUI("BrowsersFileFilters").split(";") |
505 if fileFilters: |
508 if fileFilters: |
506 fn = f.fileName() |
509 fn = f.fileName() |
507 if any([fnmatch.fnmatch(fn, ff.strip()) |
510 if any([fnmatch.fnmatch(fn, ff.strip()) |
508 for ff in fileFilters]): |
511 for ff in fileFilters]): |
509 continue |
512 continue |
510 node = BrowserFileItem(parentItem, |
513 node = BrowserFileItem( |
|
514 parentItem, |
511 Utilities.toNativeSeparators(f.absoluteFilePath())) |
515 Utilities.toNativeSeparators(f.absoluteFilePath())) |
512 self._addItem(node, parentItem) |
516 self._addItem(node, parentItem) |
513 if repopulate: |
517 if repopulate: |
514 self.endInsertRows() |
518 self.endInsertRows() |
515 |
519 |
567 node = BrowserClassItem(parentItem, cl, fileName) |
571 node = BrowserClassItem(parentItem, cl, fileName) |
568 self._addItem(node, parentItem) |
572 self._addItem(node, parentItem) |
569 except AttributeError: |
573 except AttributeError: |
570 pass |
574 pass |
571 if "@@Coding@@" in keys: |
575 if "@@Coding@@" in keys: |
572 node = BrowserCodingItem(parentItem, |
576 node = BrowserCodingItem( |
|
577 parentItem, |
573 QApplication.translate("BrowserModel", "Coding: {0}")\ |
578 QApplication.translate("BrowserModel", "Coding: {0}")\ |
574 .format(dict["@@Coding@@"].coding)) |
579 .format(dict["@@Coding@@"].coding)) |
575 self._addItem(node, parentItem) |
580 self._addItem(node, parentItem) |
576 if "@@Globals@@" in keys: |
581 if "@@Globals@@" in keys: |
577 node = BrowserClassAttributesItem(parentItem, |
582 node = BrowserClassAttributesItem( |
|
583 parentItem, |
578 dict["@@Globals@@"].globals, |
584 dict["@@Globals@@"].globals, |
579 QApplication.translate("BrowserModel", "Globals")) |
585 QApplication.translate("BrowserModel", "Globals")) |
580 self._addItem(node, parentItem) |
586 self._addItem(node, parentItem) |
581 if repopulate: |
587 if repopulate: |
582 self.endInsertRows() |
588 self.endInsertRows() |
619 if len(cl.attributes): |
625 if len(cl.attributes): |
620 node = BrowserClassAttributesItem( |
626 node = BrowserClassAttributesItem( |
621 parentItem, cl.attributes, |
627 parentItem, cl.attributes, |
622 QApplication.translate("BrowserModel", "Attributes")) |
628 QApplication.translate("BrowserModel", "Attributes")) |
623 if repopulate: |
629 if repopulate: |
624 self.addItem(node, |
630 self.addItem( |
625 self.createIndex(parentItem.row(), 0, parentItem)) |
631 node, self.createIndex(parentItem.row(), 0, parentItem)) |
626 else: |
632 else: |
627 self._addItem(node, parentItem) |
633 self._addItem(node, parentItem) |
628 |
634 |
629 if len(cl.globals): |
635 if len(cl.globals): |
630 node = BrowserClassAttributesItem( |
636 node = BrowserClassAttributesItem( |
631 parentItem, cl.globals, |
637 parentItem, cl.globals, |
632 QApplication.translate("BrowserModel", "Class Attributes"), |
638 QApplication.translate("BrowserModel", "Class Attributes"), |
633 True) |
639 True) |
634 if repopulate: |
640 if repopulate: |
635 self.addItem(node, |
641 self.addItem( |
636 self.createIndex(parentItem.row(), 0, parentItem)) |
642 node, self.createIndex(parentItem.row(), 0, parentItem)) |
637 else: |
643 else: |
638 self._addItem(node, parentItem) |
644 self._addItem(node, parentItem) |
639 |
645 |
640 def populateMethodItem(self, parentItem, repopulate=False): |
646 def populateMethodItem(self, parentItem, repopulate=False): |
641 """ |
647 """ |