forked from openlp/openlp
Changed up arrow to jump to last slide of previous service item (when applicable)
This commit is contained in:
parent
210d88ac79
commit
cc04a82c08
@ -826,7 +826,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
lookFor = 1
|
lookFor = 1
|
||||||
serviceIterator += 1
|
serviceIterator += 1
|
||||||
|
|
||||||
def previousItem(self):
|
def previousItem(self, message):
|
||||||
"""
|
"""
|
||||||
Called by the SlideController to select the previous service item.
|
Called by the SlideController to select the previous service item.
|
||||||
"""
|
"""
|
||||||
@ -834,20 +834,31 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
return
|
return
|
||||||
selected = self.serviceManagerList.selectedItems()[0]
|
selected = self.serviceManagerList.selectedItems()[0]
|
||||||
prevItem = None
|
prevItem = None
|
||||||
|
prevItemLastSlide = None
|
||||||
serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList)
|
serviceIterator = QtGui.QTreeWidgetItemIterator(self.serviceManagerList)
|
||||||
while serviceIterator.value():
|
while serviceIterator.value():
|
||||||
if serviceIterator.value() == selected:
|
if serviceIterator.value() == selected:
|
||||||
if prevItem:
|
if message == 'last slide' and prevItemLastSlide:
|
||||||
|
pos = prevItem.data(0, QtCore.Qt.UserRole).toInt()[0]
|
||||||
|
check_expanded = self.serviceItems[pos - 1][u'expanded']
|
||||||
|
self.serviceManagerList.setCurrentItem(prevItemLastSlide)
|
||||||
|
if not check_expanded:
|
||||||
|
self.serviceManagerList.collapseItem(prevItem)
|
||||||
|
self.makeLive()
|
||||||
|
self.serviceManagerList.setCurrentItem(prevItem)
|
||||||
|
elif prevItem:
|
||||||
self.serviceManagerList.setCurrentItem(prevItem)
|
self.serviceManagerList.setCurrentItem(prevItem)
|
||||||
self.makeLive()
|
self.makeLive()
|
||||||
return
|
return
|
||||||
if serviceIterator.value().parent() is None:
|
if serviceIterator.value().parent() is None:
|
||||||
prevItem = serviceIterator.value()
|
prevItem = serviceIterator.value()
|
||||||
|
if serviceIterator.value().parent() is prevItem:
|
||||||
|
prevItemLastSlide = serviceIterator.value()
|
||||||
serviceIterator += 1
|
serviceIterator += 1
|
||||||
|
|
||||||
def onSetItem(self, message):
|
def onSetItem(self, message):
|
||||||
"""
|
"""
|
||||||
Called by a signal to select a specific item.
|
Called by a signal to select a specific item.signal
|
||||||
"""
|
"""
|
||||||
self.setItem(int(message))
|
self.setItem(int(message))
|
||||||
|
|
||||||
|
@ -616,8 +616,12 @@ class SlideController(Controller):
|
|||||||
if len(self.keypress_queue):
|
if len(self.keypress_queue):
|
||||||
while len(self.keypress_queue) and not self.keypress_loop:
|
while len(self.keypress_queue) and not self.keypress_loop:
|
||||||
self.keypress_loop = True
|
self.keypress_loop = True
|
||||||
if self.keypress_queue.popleft() == u'previous':
|
keypressCommand = self.keypress_queue.popleft()
|
||||||
Receiver.send_message('servicemanager_previous_item')
|
if keypressCommand == u'previous':
|
||||||
|
Receiver.send_message('servicemanager_previous_item', None)
|
||||||
|
elif keypressCommand == u'previous last slide':
|
||||||
|
# Go to the last slide of the previous item
|
||||||
|
Receiver.send_message('servicemanager_previous_item', 'last slide')
|
||||||
else:
|
else:
|
||||||
Receiver.send_message('servicemanager_next_item')
|
Receiver.send_message('servicemanager_next_item')
|
||||||
self.keypress_loop = False
|
self.keypress_loop = False
|
||||||
@ -1221,7 +1225,9 @@ class SlideController(Controller):
|
|||||||
if self.slide_advance == SlideAdvance.Wrap:
|
if self.slide_advance == SlideAdvance.Wrap:
|
||||||
row = self.previewListWidget.rowCount() - 1
|
row = self.previewListWidget.rowCount() - 1
|
||||||
elif self.slide_advance == SlideAdvance.Next:
|
elif self.slide_advance == SlideAdvance.Next:
|
||||||
self.servicePrevious()
|
# self.servicePrevious()
|
||||||
|
self.keypress_queue.append(u'previous last slide')
|
||||||
|
self._process_queue()
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
row = 0
|
row = 0
|
||||||
|
Loading…
Reference in New Issue
Block a user