From 44366b2c97f4153d4efd4d329a9765144785246d Mon Sep 17 00:00:00 2001 From: John Schember Date: Sat, 21 May 2011 19:09:14 -0400 Subject: [PATCH] Store: Show number of results. --- src/calibre/gui2/store/search/models.py | 7 ++++++- src/calibre/gui2/store/search/search.py | 7 +++++++ src/calibre/gui2/store/search/search.ui | 6 +++--- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/store/search/models.py b/src/calibre/gui2/store/search/models.py index 059c1d73ed..d7941480cc 100644 --- a/src/calibre/gui2/store/search/models.py +++ b/src/calibre/gui2/store/search/models.py @@ -9,7 +9,8 @@ __docformat__ = 'restructuredtext en' import re from operator import attrgetter -from PyQt4.Qt import (Qt, QAbstractItemModel, QVariant, QPixmap, QModelIndex, QSize) +from PyQt4.Qt import (Qt, QAbstractItemModel, QVariant, QPixmap, QModelIndex, QSize, + pyqtSignal) from calibre.gui2 import NONE from calibre.gui2.store.search_result import SearchResult @@ -30,6 +31,8 @@ def comparable_price(text): class Matches(QAbstractItemModel): + total_changed = pyqtSignal(int) + HEADERS = [_('Cover'), _('Title'), _('Price'), _('DRM'), _('Store')] HTML_COLS = (1, 4) @@ -69,6 +72,7 @@ class Matches(QAbstractItemModel): self.query = '' self.cover_pool.abort() self.details_pool.abort() + self.total_changed.emit(self.rowCount()) self.reset() def add_result(self, result, store_plugin): @@ -101,6 +105,7 @@ class Matches(QAbstractItemModel): self.matches = list(self.search_filter.parse(self.query)) else: self.matches = list(self.search_filter.universal_set()) + self.total_changed.emit(self.rowCount()) self.sort(self.sort_col, self.sort_order, False) self.layoutChanged.emit() diff --git a/src/calibre/gui2/store/search/search.py b/src/calibre/gui2/store/search/search.py index e76f15c58e..18ea50f125 100644 --- a/src/calibre/gui2/store/search/search.py +++ b/src/calibre/gui2/store/search/search.py @@ -78,9 +78,11 @@ class SearchDialog(QDialog, Ui_Dialog): self.checker.timeout.connect(self.get_results) self.progress_checker.timeout.connect(self.check_progress) self.results_view.activated.connect(self.open_store) + self.results_view.model().total_changed.connect(self.update_book_total) self.select_all_stores.clicked.connect(self.stores_select_all) self.select_invert_stores.clicked.connect(self.stores_select_invert) self.select_none_stores.clicked.connect(self.stores_select_none) + self.configure.clicked.connect(self.do_config) self.finished.connect(self.dialog_closed) self.progress_checker.start(100) @@ -221,6 +223,9 @@ class SearchDialog(QDialog, Ui_Dialog): self.cover_thread_count = self.config.get('cover_thread_count', 2) self.details_thread_count = self.config.get('details_thread_count', 4) + def do_config(self): + pass + def config_finished(self): self.load_settings() @@ -249,6 +254,8 @@ class SearchDialog(QDialog, Ui_Dialog): if not self.search_pool.threads_running() and not self.results_view.model().has_results(): info_dialog(self, _('No matches'), _('Couldn\'t find any books matching your query.'), show=True, show_copy_button=False) + def update_book_total(self, total): + self.total.setText('%s' % total) def open_store(self, index): result = self.results_view.model().get_result(index) diff --git a/src/calibre/gui2/store/search/search.ui b/src/calibre/gui2/store/search/search.ui index 42f91de735..905620f688 100644 --- a/src/calibre/gui2/store/search/search.ui +++ b/src/calibre/gui2/store/search/search.ui @@ -82,8 +82,8 @@ 0 0 - 207 - 130 + 102 + 129 @@ -209,7 +209,7 @@ - + 0