diff --git a/weboob/applications/qcookboob/main_window.py b/weboob/applications/qcookboob/main_window.py
index 7b8832b8..96a92b0c 100644
--- a/weboob/applications/qcookboob/main_window.py
+++ b/weboob/applications/qcookboob/main_window.py
@@ -55,6 +55,7 @@ class MainWindow(QtMainWindow):
self.ui.backButton.hide()
self.connect(self.ui.searchEdit, SIGNAL("returnPressed()"), self.search)
+ self.connect(self.ui.idEdit, SIGNAL("returnPressed()"), self.searchId)
self.connect(self.ui.actionBackends, SIGNAL("triggered()"), self.backendsConfig)
self.connect(self.ui.actionQuit, SIGNAL("triggered()"), self.close)
@@ -190,6 +191,24 @@ class MainWindow(QtMainWindow):
self.current_info_widget = wrecipe
QApplication.restoreOverrideCursor()
+ def searchId(self):
+ QApplication.setOverrideCursor(Qt.WaitCursor)
+ id = unicode(self.ui.idEdit.text())
+ if '@' in id:
+ backend_name = id.split('@')[1]
+ id = id.split('@')[0]
+ else:
+ backend_name = None
+ fail = True
+ for backend in self.weboob.iter_backends():
+ if (backend_name != None and backend.name == backend_name) or backend_name == None:
+ recipe = backend.get_recipe(id)
+ if recipe:
+ fail = False
+ self.doAction('Details of recipe "%s"' %
+ recipe.title, self.displayRecipe, [recipe, backend])
+ QApplication.restoreOverrideCursor()
+
def closeEvent(self, ev):
self.config.set('settings', 'backend', str(self.ui.backendEdit.itemData(
self.ui.backendEdit.currentIndex()).toString()))
diff --git a/weboob/applications/qcookboob/ui/main_window.ui b/weboob/applications/qcookboob/ui/main_window.ui
index 05f3f013..7c3a69da 100644
--- a/weboob/applications/qcookboob/ui/main_window.ui
+++ b/weboob/applications/qcookboob/ui/main_window.ui
@@ -140,7 +140,7 @@
0
0
708
- 292
+ 261
@@ -161,8 +161,8 @@
0
0
- 96
- 26
+ 63
+ 18
@@ -173,6 +173,20 @@
+ -
+
+
-
+
+
+ search by ID:
+
+
+
+ -
+
+
+
+