diff --git a/src/calibre/gui2/actions/store.py b/src/calibre/gui2/actions/store.py index 92cf398f84..2493a617ac 100644 --- a/src/calibre/gui2/actions/store.py +++ b/src/calibre/gui2/actions/store.py @@ -52,16 +52,23 @@ class StoreAction(InterfaceAction): return rows[0].row() def _get_author(self, row): - author = '' + authors = [] + if self.gui.current_view() is self.gui.library_view: - author = self.gui.library_view.model().authors(row) - if author: - author = author.replace('|', ' ') + a = self.gui.library_view.model().authors(row) + authors = a.split(',') else: mi = self.gui.current_view().model().get_book_display_info(row) - author = ' & '.join(mi.authors) + authors = mi.authors - return author + corrected_authors = [] + for x in authors: + a = x.split('|') + a.reverse() + a = ' '.join(a) + corrected_authors.append(a) + + return ' & '.join(corrected_authors) def search_author(self): row = self._get_selected_row() diff --git a/src/calibre/gui2/store/bewrite_plugin.py b/src/calibre/gui2/store/bewrite_plugin.py index 80f3b2d54e..bfd543db49 100644 --- a/src/calibre/gui2/store/bewrite_plugin.py +++ b/src/calibre/gui2/store/bewrite_plugin.py @@ -26,14 +26,9 @@ class BeWriteStore(BasicStoreConfig, StorePlugin): url = 'http://www.bewrite.net/mm5/merchant.mvc?Screen=SFNT' if external or self.config.get('open_external', False): - if detail_item: - url = url + detail_item - open_url(QUrl(url_slash_cleaner(url))) + open_url(QUrl(url_slash_cleaner(detail_item if detail_item else url))) else: - detail_url = None - if detail_item: - detail_url = url + detail_item - d = WebStoreDialog(self.gui, url, parent, detail_url) + d = WebStoreDialog(self.gui, url, parent, detail_item) d.setWindowTitle(self.name) d.set_tags(self.config.get('tags', '')) d.exec_() diff --git a/src/calibre/gui2/store/mobileread/store_dialog.py b/src/calibre/gui2/store/mobileread/store_dialog.py index af300565aa..7a7b27837d 100644 --- a/src/calibre/gui2/store/mobileread/store_dialog.py +++ b/src/calibre/gui2/store/mobileread/store_dialog.py @@ -20,6 +20,7 @@ class MobeReadStoreDialog(QDialog, Ui_Dialog): self.setupUi(self) self.plugin = plugin + self.search_query.initialize('store_mobileread_search') self.adv_search_button.setIcon(QIcon(I('search.png'))) diff --git a/src/calibre/gui2/store/mobileread/store_dialog.ui b/src/calibre/gui2/store/mobileread/store_dialog.ui index 6d31efab6d..b698352dfd 100644 --- a/src/calibre/gui2/store/mobileread/store_dialog.ui +++ b/src/calibre/gui2/store/mobileread/store_dialog.ui @@ -34,7 +34,14 @@ - + + + + 0 + 0 + + + @@ -107,6 +114,13 @@ + + + HistoryLineEdit + QLineEdit +
widgets.h
+
+
diff --git a/src/calibre/gui2/store/search/search.py b/src/calibre/gui2/store/search/search.py index eea1a692de..e9c9c149a7 100644 --- a/src/calibre/gui2/store/search/search.py +++ b/src/calibre/gui2/store/search/search.py @@ -28,6 +28,8 @@ class SearchDialog(QDialog, Ui_Dialog): self.setupUi(self) self.config = JSONConfig('store/search') + + self.search_edit.initialize('store_search_search') # We keep a cache of store plugins and reference them by name. self.store_plugins = istores diff --git a/src/calibre/gui2/store/search/search.ui b/src/calibre/gui2/store/search/search.ui index fe5aaceda4..8dd423baec 100644 --- a/src/calibre/gui2/store/search/search.ui +++ b/src/calibre/gui2/store/search/search.ui @@ -38,7 +38,14 @@ - + + + + 0 + 0 + + + @@ -201,6 +208,11 @@ QTreeView
results_view.h
+ + HistoryLineEdit + QLineEdit +
widgets.h
+