344 @param itm item to be removed |
344 @param itm item to be removed |
345 @type BrowserDirectoryItem |
345 @type BrowserDirectoryItem |
346 """ |
346 """ |
347 if isinstance(itm, BrowserDirectoryItem): |
347 if isinstance(itm, BrowserDirectoryItem): |
348 dirName = itm.dirName() |
348 dirName = itm.dirName() |
349 if dirName in self.watchedItems: |
349 with contextlib.suppress(KeyError): |
350 if itm in self.watchedItems[dirName]: |
350 with contextlib.suppress(ValueError): |
351 self.watchedItems[dirName].remove(itm) |
351 self.watchedItems[dirName].remove(itm) |
352 if len(self.watchedItems[dirName]) == 0: |
352 if len(self.watchedItems[dirName]) == 0: |
353 del self.watchedItems[dirName] |
353 del self.watchedItems[dirName] |
354 self.watcher.removePath(dirName) |
354 self.watcher.removePath(dirName) |
355 |
355 |
531 item = index.internalPointer() |
531 item = index.internalPointer() |
532 self.beginRemoveRows(index.parent(), index.row(), index.row()) |
532 self.beginRemoveRows(index.parent(), index.row(), index.row()) |
533 self.rootItem.removeChild(item) |
533 self.rootItem.removeChild(item) |
534 self.endRemoveRows() |
534 self.endRemoveRows() |
535 |
535 |
536 self.toplevelDirs.remove(item.dirName()) |
536 with contextlib.suppress(ValueError): |
|
537 self.toplevelDirs.remove(item.dirName()) |
537 self._removeWatchedItem(item) |
538 self._removeWatchedItem(item) |
538 |
539 |
539 def saveToplevelDirs(self): |
540 def saveToplevelDirs(self): |
540 """ |
541 """ |
541 Public slot to save the toplevel directories. |
542 Public slot to save the toplevel directories. |