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