Allow for recipies to be navigated via keyboard.

This commit is contained in:
John Schember 2009-01-31 08:40:35 -05:00
parent 7d5019b645
commit 9e1b7d135e
3 changed files with 26 additions and 5 deletions

View File

@ -0,0 +1,16 @@
__license__ = 'GPL v3'
__copyright__ = '2009, John Schember john@nachtimwald.com'
'''
List View for showing recipies. Allows for keyboad events when selecting new
items.
'''
from PyQt4.Qt import QListView, SIGNAL
class RecipeListView(QListView):
def __init__(self, *args):
QListView.__init__(self, *args)
def selectionChanged(self, selected, deselected):
self.emit(SIGNAL('itemChanged(QModelIndex)'), selected.indexes()[0])

View File

@ -241,8 +241,7 @@ class SchedulerDialog(QDialog, Ui_Dialog):
self._model = RecipeModel(db) self._model = RecipeModel(db)
self.current_recipe = None self.current_recipe = None
self.recipes.setModel(self._model) self.recipes.setModel(self._model)
self.connect(self.recipes, SIGNAL('activated(QModelIndex)'), self.show_recipe) self.connect(self.recipes, SIGNAL('itemChanged(QModelIndex)'), self.show_recipe)
self.connect(self.recipes, SIGNAL('clicked(QModelIndex)'), self.show_recipe)
self.connect(self.username, SIGNAL('textEdited(QString)'), self.set_account_info) self.connect(self.username, SIGNAL('textEdited(QString)'), self.set_account_info)
self.connect(self.password, SIGNAL('textEdited(QString)'), self.set_account_info) self.connect(self.password, SIGNAL('textEdited(QString)'), self.set_account_info)
self.connect(self.schedule, SIGNAL('stateChanged(int)'), self.do_schedule) self.connect(self.schedule, SIGNAL('stateChanged(int)'), self.do_schedule)
@ -359,7 +358,6 @@ class SchedulerDialog(QDialog, Ui_Dialog):
else: else:
self.last_downloaded.setText(_('Last downloaded: never')) self.last_downloaded.setText(_('Last downloaded: never'))
class Scheduler(QObject): class Scheduler(QObject):
INTERVAL = 1 # minutes INTERVAL = 1 # minutes
@ -515,4 +513,4 @@ def main(args=sys.argv):
return 0 return 0
if __name__ == '__main__': if __name__ == '__main__':
sys.exit(main()) sys.exit(main())

View File

@ -24,7 +24,7 @@
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout" > <layout class="QVBoxLayout" name="verticalLayout" >
<item> <item>
<widget class="QListView" name="recipes" > <widget class="RecipeListView" name="recipes" >
<property name="alternatingRowColors" > <property name="alternatingRowColors" >
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -321,6 +321,13 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<customwidgets>
<customwidget>
<class>RecipeListView</class>
<extends>QListView</extends>
<header>recipelistview.h</header>
</customwidget>
</customwidgets>
<resources> <resources>
<include location="../images.qrc" /> <include location="../images.qrc" />
</resources> </resources>