diff --git a/src/calibre/gui2/dialogs/custom_recipes.py b/src/calibre/gui2/dialogs/custom_recipes.py index 5cc786e2c7..830bc45975 100644 --- a/src/calibre/gui2/dialogs/custom_recipes.py +++ b/src/calibre/gui2/dialogs/custom_recipes.py @@ -144,7 +144,7 @@ def options_to_recipe_source(title, oldest_article, max_articles_per_feed, feeds max_articles_per_feed=max_articles_per_feed, base='AutomaticNewsRecipe') return src -class RecipeList(QWidget): +class RecipeList(QWidget): # {{{ edit_recipe = pyqtSignal(object) @@ -179,17 +179,22 @@ class RecipeList(QWidget): b.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) b.clicked.connect(self.edit_requested) l.addWidget(b) - # TODO: Implement this button self.remove_button = b = QPushButton(QIcon(I('list_remove.png')), _('&Remove this recipe'), w) + b.clicked.connect(self.remove) b.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) l.addWidget(b) + self.select_first() + v.selectionModel().currentRowChanged.connect(self.recipe_selected) + + def select_first(self): + v = self.view if v.model().rowCount() > 0: idx = v.model().index(0) if idx.isValid(): v.selectionModel().select(idx, v.selectionModel().ClearAndSelect) - self.recipe_selected(v.currentIndex()) - v.selectionModel().currentRowChanged.connect(self.recipe_selected) + v.setCurrentIndex(idx) + self.recipe_selected(idx) @property def model(self): @@ -199,6 +204,8 @@ class RecipeList(QWidget): if cur.isValid(): self.stacks.setCurrentIndex(1) self.title.setText('