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