349 @param itm item to be removed |
349 @param itm item to be removed |
350 @type BrowserDirectoryItem |
350 @type BrowserDirectoryItem |
351 """ |
351 """ |
352 if isinstance(itm, BrowserDirectoryItem): |
352 if isinstance(itm, BrowserDirectoryItem): |
353 dirName = itm.dirName() |
353 dirName = itm.dirName() |
354 if dirName in self.watchedItems: |
354 with contextlib.suppress(KeyError): |
355 if itm in self.watchedItems[dirName]: |
355 with contextlib.suppress(ValueError): |
356 self.watchedItems[dirName].remove(itm) |
356 self.watchedItems[dirName].remove(itm) |
357 if len(self.watchedItems[dirName]) == 0: |
357 if len(self.watchedItems[dirName]) == 0: |
358 del self.watchedItems[dirName] |
358 del self.watchedItems[dirName] |
359 self.watcher.removePath(dirName) |
359 self.watcher.removePath(dirName) |
360 |
360 |
542 item = index.internalPointer() |
542 item = index.internalPointer() |
543 self.beginRemoveRows(index.parent(), index.row(), index.row()) |
543 self.beginRemoveRows(index.parent(), index.row(), index.row()) |
544 self.rootItem.removeChild(item) |
544 self.rootItem.removeChild(item) |
545 self.endRemoveRows() |
545 self.endRemoveRows() |
546 |
546 |
547 self.toplevelDirs.remove(item.dirName()) |
547 with contextlib.suppress(ValueError): |
|
548 self.toplevelDirs.remove(item.dirName()) |
548 self._removeWatchedItem(item) |
549 self._removeWatchedItem(item) |
549 |
550 |
550 def saveToplevelDirs(self): |
551 def saveToplevelDirs(self): |
551 """ |
552 """ |
552 Public slot to save the toplevel directories. |
553 Public slot to save the toplevel directories. |