diff --git a/src/calibre/gui2/dialogs/scheduler.py b/src/calibre/gui2/dialogs/scheduler.py
index b25d66979d..7d1d87b472 100644
--- a/src/calibre/gui2/dialogs/scheduler.py
+++ b/src/calibre/gui2/dialogs/scheduler.py
@@ -207,8 +207,9 @@ class SchedulerDialog(QDialog, Ui_Dialog):
self.recipe_model.searched.connect(self.search.search_done,
type=Qt.QueuedConnection)
self.recipe_model.searched.connect(self.search_done)
- self.search.setFocus(Qt.OtherFocusReason)
+ self.recipes.setFocus(Qt.OtherFocusReason)
self.commit_on_change = True
+ self.previous_urn = None
self.recipes.setModel(self.recipe_model)
self.detail_box.setVisible(False)
@@ -228,6 +229,9 @@ class SchedulerDialog(QDialog, Ui_Dialog):
self.old_news.setValue(gconf['oldest_news'])
+ self.go_button.clicked.connect(self.search.do_search)
+ self.clear_search_button.clicked.connect(self.search.clear_clicked)
+
def set_pw_echo_mode(self, state):
self.password.setEchoMode(self.password.Normal
if state == Qt.Checked else self.password.Password)
@@ -265,14 +269,9 @@ class SchedulerDialog(QDialog, Ui_Dialog):
self.last_downloaded.setVisible(enabled)
def current_changed(self, current, previous):
- if self.commit_on_change:
- if previous.isValid():
- if not self.commit(urn=getattr(previous.internalPointer(),
- 'urn', None)):
- self.commit_on_change = False
- self.recipes.setCurrentIndex(previous)
- else:
- self.commit_on_change = True
+ if self.previous_urn is not None:
+ self.commit(urn=self.previous_urn)
+ self.previous_urn = None
urn = self.current_urn
if urn is not None:
@@ -332,6 +331,7 @@ class SchedulerDialog(QDialog, Ui_Dialog):
return True
def initialize_detail_box(self, urn):
+ self.previous_urn = urn
self.detail_box.setVisible(True)
self.download_button.setVisible(True)
self.detail_box.setCurrentIndex(0)
diff --git a/src/calibre/gui2/dialogs/scheduler.ui b/src/calibre/gui2/dialogs/scheduler.ui
index f26bfc7285..6acbb01dd8 100644
--- a/src/calibre/gui2/dialogs/scheduler.ui
+++ b/src/calibre/gui2/dialogs/scheduler.ui
@@ -17,21 +17,30 @@
:/images/scheduler.png:/images/scheduler.png
-
+
-
-
-
- &Search:
-
-
- search
-
-
+
+
-
+
+
+ -
+
+
+ Go
+
+
+
+ -
+
+
+
+ :/images/clear_left.png:/images/clear_left.png
+
+
+
+
- -
-
-
- -
+
-
QFrame::NoFrame
@@ -44,7 +53,7 @@
0
0
- 486
+ 524
504
@@ -320,7 +329,7 @@
- -
+
-
@@ -345,7 +354,17 @@
- -
+
-
+
+
+
+
+
+ Qt::AlignCenter
+
+
+
+ -
-
@@ -376,17 +395,7 @@
- -
-
-
- Qt::Horizontal
-
-
- QDialogButtonBox::Save
-
-
-
- -
+
-
Download all scheduled news sources at once
@@ -394,15 +403,19 @@
Download &all scheduled
+
+
+ :/images/news.png:/images/news.png
+
- -
-
-
-
+
-
+
+
+ Qt::Horizontal
-
- Qt::AlignCenter
+
+ QDialogButtonBox::Save