mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Store: Show number of results.
This commit is contained in:
parent
4610ea2e72
commit
44366b2c97
@ -9,7 +9,8 @@ __docformat__ = 'restructuredtext en'
|
|||||||
import re
|
import re
|
||||||
from operator import attrgetter
|
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 import NONE
|
||||||
from calibre.gui2.store.search_result import SearchResult
|
from calibre.gui2.store.search_result import SearchResult
|
||||||
@ -30,6 +31,8 @@ def comparable_price(text):
|
|||||||
|
|
||||||
class Matches(QAbstractItemModel):
|
class Matches(QAbstractItemModel):
|
||||||
|
|
||||||
|
total_changed = pyqtSignal(int)
|
||||||
|
|
||||||
HEADERS = [_('Cover'), _('Title'), _('Price'), _('DRM'), _('Store')]
|
HEADERS = [_('Cover'), _('Title'), _('Price'), _('DRM'), _('Store')]
|
||||||
HTML_COLS = (1, 4)
|
HTML_COLS = (1, 4)
|
||||||
|
|
||||||
@ -69,6 +72,7 @@ class Matches(QAbstractItemModel):
|
|||||||
self.query = ''
|
self.query = ''
|
||||||
self.cover_pool.abort()
|
self.cover_pool.abort()
|
||||||
self.details_pool.abort()
|
self.details_pool.abort()
|
||||||
|
self.total_changed.emit(self.rowCount())
|
||||||
self.reset()
|
self.reset()
|
||||||
|
|
||||||
def add_result(self, result, store_plugin):
|
def add_result(self, result, store_plugin):
|
||||||
@ -101,6 +105,7 @@ class Matches(QAbstractItemModel):
|
|||||||
self.matches = list(self.search_filter.parse(self.query))
|
self.matches = list(self.search_filter.parse(self.query))
|
||||||
else:
|
else:
|
||||||
self.matches = list(self.search_filter.universal_set())
|
self.matches = list(self.search_filter.universal_set())
|
||||||
|
self.total_changed.emit(self.rowCount())
|
||||||
self.sort(self.sort_col, self.sort_order, False)
|
self.sort(self.sort_col, self.sort_order, False)
|
||||||
self.layoutChanged.emit()
|
self.layoutChanged.emit()
|
||||||
|
|
||||||
|
@ -78,9 +78,11 @@ class SearchDialog(QDialog, Ui_Dialog):
|
|||||||
self.checker.timeout.connect(self.get_results)
|
self.checker.timeout.connect(self.get_results)
|
||||||
self.progress_checker.timeout.connect(self.check_progress)
|
self.progress_checker.timeout.connect(self.check_progress)
|
||||||
self.results_view.activated.connect(self.open_store)
|
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_all_stores.clicked.connect(self.stores_select_all)
|
||||||
self.select_invert_stores.clicked.connect(self.stores_select_invert)
|
self.select_invert_stores.clicked.connect(self.stores_select_invert)
|
||||||
self.select_none_stores.clicked.connect(self.stores_select_none)
|
self.select_none_stores.clicked.connect(self.stores_select_none)
|
||||||
|
self.configure.clicked.connect(self.do_config)
|
||||||
self.finished.connect(self.dialog_closed)
|
self.finished.connect(self.dialog_closed)
|
||||||
|
|
||||||
self.progress_checker.start(100)
|
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.cover_thread_count = self.config.get('cover_thread_count', 2)
|
||||||
self.details_thread_count = self.config.get('details_thread_count', 4)
|
self.details_thread_count = self.config.get('details_thread_count', 4)
|
||||||
|
|
||||||
|
def do_config(self):
|
||||||
|
pass
|
||||||
|
|
||||||
def config_finished(self):
|
def config_finished(self):
|
||||||
self.load_settings()
|
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():
|
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)
|
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):
|
def open_store(self, index):
|
||||||
result = self.results_view.model().get_result(index)
|
result = self.results_view.model().get_result(index)
|
||||||
|
@ -82,8 +82,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>207</width>
|
<width>102</width>
|
||||||
<height>130</height>
|
<height>129</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
@ -209,7 +209,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="book_count">
|
<widget class="QLabel" name="total">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>0</string>
|
<string>0</string>
|
||||||
</property>
|
</property>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user