UI/BrowserModel.py

changeset 3030
4a0a82ddd9d2
parent 3012
d177226027e2
child 3034
7ce719013078
child 3058
0a02c433f52d
equal deleted inserted replaced
3029:4055a15ce0f2 3030:4a0a82ddd9d2
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 """

eric ide

mercurial