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
+
+
+
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
+
+ HistoryLineEdit
+ QLineEdit
+
+