diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index 0a1f8a2ae4..19e77d211c 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -1503,6 +1503,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.search.clear_to_help() self.status_bar.reset_info() self.library_view.sortByColumn(3, Qt.DescendingOrder) + self.library_view.model().count_changed() ############################################################################ diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index 2e8bf3c910..9adbb5aad6 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -93,7 +93,7 @@ class TagsModel(QStandardItemModel): QIcon(':/images/minus.svg')] QStandardItemModel.__init__(self) self.db = db - self.ignore_next_search = False + self.ignore_next_search = 0 self._data = {} self.bold_font = QFont() self.bold_font.setBold(True) @@ -129,19 +129,20 @@ class TagsModel(QStandardItemModel): self.refresh() def reinit(self, *args, **kwargs): - if not self.ignore_next_search: + if self.ignore_next_search == 0: for category in self._data.values(): for tag in category: tag.state = 0 self.reset() - self.ignore_next_search = False + else: + self.ignore_next_search -= 1 def toggle(self, index): if index.parent().isValid(): category = self.row_map[index.parent().row()] tag = self._data[category][index.row()] self.invisibleRootItem().child(index.parent().row()).child(index.row()).toggle() - self.ignore_next_search = True + self.ignore_next_search = 2 self.emit(SIGNAL('dataChanged(QModelIndex,QModelIndex)'), index, index) return True return False