forked from openlp/openlp
Added Extra key events to SlideController
This commit is contained in:
parent
b5a4178ca7
commit
1164ab9beb
|
@ -227,6 +227,8 @@ class ServiceManager(QtGui.QWidget):
|
||||||
QtCore.SIGNAL(u'remote_edit_clear'), self.onRemoteEditClear)
|
QtCore.SIGNAL(u'remote_edit_clear'), self.onRemoteEditClear)
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
QtCore.SIGNAL(u'presentation types'), self.onPresentationTypes)
|
QtCore.SIGNAL(u'presentation types'), self.onPresentationTypes)
|
||||||
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
|
QtCore.SIGNAL(u'servicemanager_next_item'), self.nextItem)
|
||||||
# Last little bits of setting up
|
# Last little bits of setting up
|
||||||
self.config = PluginConfig(u'ServiceManager')
|
self.config = PluginConfig(u'ServiceManager')
|
||||||
self.servicePath = self.config.get_data_path()
|
self.servicePath = self.config.get_data_path()
|
||||||
|
@ -236,12 +238,29 @@ class ServiceManager(QtGui.QWidget):
|
||||||
def onPresentationTypes(self, presentation_types):
|
def onPresentationTypes(self, presentation_types):
|
||||||
self.presentation_types = presentation_types
|
self.presentation_types = presentation_types
|
||||||
|
|
||||||
|
def nextItem(self):
|
||||||
|
"""
|
||||||
|
Called by the SlideController to select the
|
||||||
|
next service item
|
||||||
|
"""
|
||||||
|
selected = self.ServiceManagerList.selectedItems()[0]
|
||||||
|
lookFor = 0
|
||||||
|
serviceIterator = QtGui.QTreeWidgetItemIterator(self.ServiceManagerList)
|
||||||
|
while serviceIterator.value():
|
||||||
|
if lookFor == 1 and serviceIterator.value().parent() is None:
|
||||||
|
self.ServiceManagerList.setCurrentItem(serviceIterator.value())
|
||||||
|
self.makeLive()
|
||||||
|
return
|
||||||
|
if serviceIterator.value() == selected:
|
||||||
|
lookFor = 1
|
||||||
|
serviceIterator += 1
|
||||||
|
|
||||||
def onMoveSelectionUp(self):
|
def onMoveSelectionUp(self):
|
||||||
"""
|
"""
|
||||||
Moves the selection up the window
|
Moves the selection up the window
|
||||||
Called by the up arrow
|
Called by the up arrow
|
||||||
"""
|
"""
|
||||||
serviceIterator = QTreeWidgetItemIterator(self.ServiceManagerList)
|
serviceIterator = QtGui.QTreeWidgetItemIterator(self.ServiceManagerList)
|
||||||
tempItem = None
|
tempItem = None
|
||||||
setLastItem = False
|
setLastItem = False
|
||||||
while serviceIterator:
|
while serviceIterator:
|
||||||
|
@ -266,7 +285,7 @@ class ServiceManager(QtGui.QWidget):
|
||||||
Moves the selection down the window
|
Moves the selection down the window
|
||||||
Called by the down arrow
|
Called by the down arrow
|
||||||
"""
|
"""
|
||||||
serviceIterator = QTreeWidgetItemIterator(self.ServiceManagerList)
|
serviceIterator = QtGui.QTreeWidgetItemIterator(self.ServiceManagerList)
|
||||||
firstItem = serviceIterator
|
firstItem = serviceIterator
|
||||||
setSelected = False
|
setSelected = False
|
||||||
while serviceIterator:
|
while serviceIterator:
|
||||||
|
|
|
@ -41,6 +41,11 @@ class SlideList(QtGui.QTableWidget):
|
||||||
def __init__(self, parent=None, name=None):
|
def __init__(self, parent=None, name=None):
|
||||||
QtGui.QTableWidget.__init__(self, parent.Controller)
|
QtGui.QTableWidget.__init__(self, parent.Controller)
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
|
self.hotkey_map = {QtCore.Qt.Key_Return: 'servicemanager_next_item',
|
||||||
|
QtCore.Qt.Key_Space: 'live_slidecontroller_next_noloop',
|
||||||
|
QtCore.Qt.Key_Enter: 'live_slidecontroller_next_noloop',
|
||||||
|
QtCore.Qt.Key_0: 'servicemanager_next_item',
|
||||||
|
QtCore.Qt.Key_Backspace: 'live_slidecontroller_previous_noloop'}
|
||||||
|
|
||||||
def keyPressEvent(self, event):
|
def keyPressEvent(self, event):
|
||||||
if type(event) == QtGui.QKeyEvent:
|
if type(event) == QtGui.QKeyEvent:
|
||||||
|
@ -57,6 +62,9 @@ class SlideList(QtGui.QTableWidget):
|
||||||
elif event.key() == QtCore.Qt.Key_PageDown:
|
elif event.key() == QtCore.Qt.Key_PageDown:
|
||||||
self.parent.onSlideSelectedLast()
|
self.parent.onSlideSelectedLast()
|
||||||
event.accept()
|
event.accept()
|
||||||
|
elif event.key() in self.hotkey_map:
|
||||||
|
Receiver.send_message(self.hotkey_map[event.key()]);
|
||||||
|
event.accept()
|
||||||
event.ignore()
|
event.ignore()
|
||||||
else:
|
else:
|
||||||
event.ignore()
|
event.ignore()
|
||||||
|
@ -277,6 +285,11 @@ class SlideController(QtGui.QWidget):
|
||||||
QtCore.SIGNAL(u'%s_next' % prefix), self.onSlideSelectedNext)
|
QtCore.SIGNAL(u'%s_next' % prefix), self.onSlideSelectedNext)
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
QtCore.SIGNAL(u'%s_previous' % prefix), self.onSlideSelectedPrevious)
|
QtCore.SIGNAL(u'%s_previous' % prefix), self.onSlideSelectedPrevious)
|
||||||
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
|
QtCore.SIGNAL(u'%s_next_noloop' % prefix), self.onSlideSelectedNextNoloop)
|
||||||
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
|
QtCore.SIGNAL(u'%s_previous_noloop' % prefix),
|
||||||
|
self.onSlideSelectedPreviousNoloop)
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
QtCore.SIGNAL(u'%s_last' % prefix), self.onSlideSelectedLast)
|
QtCore.SIGNAL(u'%s_last' % prefix), self.onSlideSelectedLast)
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
|
@ -561,7 +574,10 @@ class SlideController(QtGui.QWidget):
|
||||||
rect.y(), rect.width(), rect.height())
|
rect.y(), rect.width(), rect.height())
|
||||||
self.SlidePreview.setPixmap(winimg)
|
self.SlidePreview.setPixmap(winimg)
|
||||||
|
|
||||||
def onSlideSelectedNext(self):
|
def onSlideSelectedNextNoloop(self):
|
||||||
|
self.onSlideSelectedNext(False)
|
||||||
|
|
||||||
|
def onSlideSelectedNext(self, loop=True):
|
||||||
"""
|
"""
|
||||||
Go to the next slide.
|
Go to the next slide.
|
||||||
"""
|
"""
|
||||||
|
@ -574,11 +590,18 @@ class SlideController(QtGui.QWidget):
|
||||||
else:
|
else:
|
||||||
row = self.PreviewListWidget.currentRow() + 1
|
row = self.PreviewListWidget.currentRow() + 1
|
||||||
if row == self.PreviewListWidget.rowCount():
|
if row == self.PreviewListWidget.rowCount():
|
||||||
|
if loop:
|
||||||
row = 0
|
row = 0
|
||||||
|
else:
|
||||||
|
Receiver.send_message('servicemanager_next_item')
|
||||||
|
return
|
||||||
self.PreviewListWidget.selectRow(row)
|
self.PreviewListWidget.selectRow(row)
|
||||||
self.onSlideSelected()
|
self.onSlideSelected()
|
||||||
|
|
||||||
def onSlideSelectedPrevious(self):
|
def onSlideSelectedPreviousNoloop(self):
|
||||||
|
self.onSlideSelectedPrevious(False)
|
||||||
|
|
||||||
|
def onSlideSelectedPrevious(self, loop=True):
|
||||||
"""
|
"""
|
||||||
Go to the previous slide.
|
Go to the previous slide.
|
||||||
"""
|
"""
|
||||||
|
@ -591,7 +614,10 @@ class SlideController(QtGui.QWidget):
|
||||||
else:
|
else:
|
||||||
row = self.PreviewListWidget.currentRow() - 1
|
row = self.PreviewListWidget.currentRow() - 1
|
||||||
if row == -1:
|
if row == -1:
|
||||||
|
if loop:
|
||||||
row = self.PreviewListWidget.rowCount() - 1
|
row = self.PreviewListWidget.rowCount() - 1
|
||||||
|
else:
|
||||||
|
row = 0
|
||||||
self.PreviewListWidget.selectRow(row)
|
self.PreviewListWidget.selectRow(row)
|
||||||
self.onSlideSelected()
|
self.onSlideSelected()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue