From f64a25c81cefc46758e0106cf151a5c18f3869a7 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 21 Jan 2011 20:53:08 +0000 Subject: [PATCH 1/9] SlideController cleanups --- openlp/core/ui/slidecontroller.py | 188 +++++++++++++++--------------- 1 file changed, 94 insertions(+), 94 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 3ff97e7f4..36ec84254 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -81,9 +81,9 @@ class SlideController(QtGui.QWidget): self.Panel = QtGui.QWidget(parent.ControlSplitter) self.slideList = {} # Layout for holding panel - self.PanelLayout = QtGui.QVBoxLayout(self.Panel) - self.PanelLayout.setSpacing(0) - self.PanelLayout.setMargin(0) + self.panelLayout = QtGui.QVBoxLayout(self.Panel) + self.panelLayout.setSpacing(0) + self.panelLayout.setMargin(0) # Type label for the top of the slide controller self.TypeLabel = QtGui.QLabel(self.Panel) if self.isLive: @@ -97,35 +97,35 @@ class SlideController(QtGui.QWidget): self.typePrefix = u'preview' self.TypeLabel.setStyleSheet(u'font-weight: bold; font-size: 12pt;') self.TypeLabel.setAlignment(QtCore.Qt.AlignCenter) - self.PanelLayout.addWidget(self.TypeLabel) + self.panelLayout.addWidget(self.TypeLabel) # Splitter self.Splitter = QtGui.QSplitter(self.Panel) self.Splitter.setOrientation(QtCore.Qt.Vertical) - self.PanelLayout.addWidget(self.Splitter) + self.panelLayout.addWidget(self.Splitter) # Actual controller section - self.Controller = QtGui.QWidget(self.Splitter) - self.Controller.setGeometry(QtCore.QRect(0, 0, 100, 536)) - self.Controller.setSizePolicy( + self.controller = QtGui.QWidget(self.Splitter) + self.controller.setGeometry(QtCore.QRect(0, 0, 100, 536)) + self.controller.setSizePolicy( QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum)) - self.ControllerLayout = QtGui.QVBoxLayout(self.Controller) - self.ControllerLayout.setSpacing(0) - self.ControllerLayout.setMargin(0) + self.controllerLayout = QtGui.QVBoxLayout(self.controller) + self.controllerLayout.setSpacing(0) + self.controllerLayout.setMargin(0) # Controller list view - self.PreviewListWidget = SlideList(self) - self.PreviewListWidget.setColumnCount(1) - self.PreviewListWidget.horizontalHeader().setVisible(False) - self.PreviewListWidget.setColumnWidth( - 0, self.Controller.width()) - self.PreviewListWidget.isLive = self.isLive - self.PreviewListWidget.setObjectName(u'PreviewListWidget') - self.PreviewListWidget.setSelectionBehavior(1) - self.PreviewListWidget.setEditTriggers( + self.previewListWidget = SlideList(self) + self.previewListWidget.setColumnCount(1) + self.previewListWidget.horizontalHeader().setVisible(False) + self.previewListWidget.setColumnWidth( + 0, self.controller.width()) + self.previewListWidget.isLive = self.isLive + self.previewListWidget.setObjectName(u'PreviewListWidget') + self.previewListWidget.setSelectionBehavior(1) + self.previewListWidget.setEditTriggers( QtGui.QAbstractItemView.NoEditTriggers) - self.PreviewListWidget.setHorizontalScrollBarPolicy( + self.previewListWidget.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) - self.PreviewListWidget.setAlternatingRowColors(True) - self.ControllerLayout.addWidget(self.PreviewListWidget) + self.previewListWidget.setAlternatingRowColors(True) + self.controllerLayout.addWidget(self.previewListWidget) # Build the full toolbar self.Toolbar = OpenLPToolbar(self) sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, @@ -204,7 +204,7 @@ class SlideController(QtGui.QWidget): translate('OpenLP.SlideController', 'Edit and reload song preview'), self.onEditSong) - self.ControllerLayout.addWidget(self.Toolbar) + self.controllerLayout.addWidget(self.Toolbar) # Build a Media ToolBar self.Mediabar = OpenLPToolbar(self) self.Mediabar.addToolbarButton( @@ -245,7 +245,7 @@ class SlideController(QtGui.QWidget): self.volumeSlider.setGeometry(QtCore.QRect(90, 260, 221, 24)) self.volumeSlider.setObjectName(u'volumeSlider') self.Mediabar.addToolbarWidget(u'Audio Volume', self.volumeSlider) - self.ControllerLayout.addWidget(self.Mediabar) + self.controllerLayout.addWidget(self.Mediabar) # Screen preview area self.PreviewFrame = QtGui.QFrame(self.Splitter) self.PreviewFrame.setGeometry(QtCore.QRect(0, 0, 300, 300 * self.ratio)) @@ -292,7 +292,7 @@ class SlideController(QtGui.QWidget): self.SlideLayout.insertWidget(0, self.SlidePreview) self.grid.addLayout(self.SlideLayout, 0, 0, 1, 1) # Signals - QtCore.QObject.connect(self.PreviewListWidget, + QtCore.QObject.connect(self.previewListWidget, QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onSlideSelected) if self.isLive: QtCore.QObject.connect(self.BlankScreen, @@ -309,14 +309,14 @@ class SlideController(QtGui.QWidget): self.Toolbar.makeWidgetsInvisible(self.loopList) self.Toolbar.actions[u'Stop Loop'].setVisible(False) else: - QtCore.QObject.connect(self.PreviewListWidget, + QtCore.QObject.connect(self.previewListWidget, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onGoLiveClick) self.Toolbar.makeWidgetsInvisible(self.songEditList) self.Mediabar.setVisible(False) if self.isLive: self.setLiveHotkeys(self) - self.PreviewListWidget.addActions( + self.previewListWidget.addActions( [self.previousItem, self.nextItem, self.previousService, @@ -330,7 +330,7 @@ class SlideController(QtGui.QWidget): self.escapeItem]) else: self.setPreviewHotkeys() - self.PreviewListWidget.addActions( + self.previewListWidget.addActions( [self.nextItem, self.previousItem]) QtCore.QObject.connect(Receiver.get_receiver(), @@ -464,30 +464,30 @@ class SlideController(QtGui.QWidget): self.SlidePreview.setFixedSize(QtCore.QSize(max_width, max_width / self.ratio)) # Make sure that the frames have the correct size. - self.PreviewListWidget.setColumnWidth(0, - self.PreviewListWidget.viewport().size().width()) + self.previewListWidget.setColumnWidth(0, + self.previewListWidget.viewport().size().width()) if self.serviceItem: # Sort out songs, bibles, etc. if self.serviceItem.is_text(): - self.PreviewListWidget.resizeRowsToContents() + self.previewListWidget.resizeRowsToContents() else: # Sort out image heights. width = self.parent.ControlSplitter.sizes()[self.split] for framenumber in range(len(self.serviceItem.get_frames())): - self.PreviewListWidget.setRowHeight( + self.previewListWidget.setRowHeight( framenumber, width / self.ratio) def onSongBarHandler(self): request = unicode(self.sender().text()) slideno = self.slideList[request] - if slideno > self.PreviewListWidget.rowCount(): - self.PreviewListWidget.selectRow( - self.PreviewListWidget.rowCount() - 1) + if slideno > self.previewListWidget.rowCount(): + self.previewListWidget.selectRow( + self.previewListWidget.rowCount() - 1) else: - if slideno + 1 < self.PreviewListWidget.rowCount(): - self.PreviewListWidget.scrollToItem( - self.PreviewListWidget.item(slideno + 1, 0)) - self.PreviewListWidget.selectRow(slideno) + if slideno + 1 < self.previewListWidget.rowCount(): + self.previewListWidget.scrollToItem( + self.previewListWidget.item(slideno + 1, 0)) + self.previewListWidget.selectRow(slideno) self.onSlideSelected() def receiveSpinDelay(self, value): @@ -566,7 +566,7 @@ class SlideController(QtGui.QWidget): Replacement item following a remote edit """ if item.__eq__(self.serviceItem): - self._processItem(item, self.PreviewListWidget.currentRow()) + self._processItem(item, self.previewListWidget.currentRow()) def addServiceManagerItem(self, item, slideno): """ @@ -577,10 +577,10 @@ class SlideController(QtGui.QWidget): log.debug(u'addServiceManagerItem live = %s' % self.isLive) # If service item is the same as the current on only change slide if item.__eq__(self.serviceItem): - if slideno + 1 < self.PreviewListWidget.rowCount(): - self.PreviewListWidget.scrollToItem( - self.PreviewListWidget.item(slideno + 1, 0)) - self.PreviewListWidget.selectRow(slideno) + if slideno + 1 < self.previewListWidget.rowCount(): + self.previewListWidget.scrollToItem( + self.previewListWidget.item(slideno + 1, 0)) + self.previewListWidget.selectRow(slideno) self.onSlideSelected() return self._processItem(item, slideno) @@ -610,16 +610,16 @@ class SlideController(QtGui.QWidget): self.slideList = {} width = self.parent.ControlSplitter.sizes()[self.split] self.serviceItem = serviceItem - self.PreviewListWidget.clear() - self.PreviewListWidget.setRowCount(0) - self.PreviewListWidget.setColumnWidth(0, width) + self.previewListWidget.clear() + self.previewListWidget.setRowCount(0) + self.previewListWidget.setColumnWidth(0, width) if self.isLive: self.SongMenu.menu().clear() row = 0 text = [] for framenumber, frame in enumerate(self.serviceItem.get_frames()): - self.PreviewListWidget.setRowCount( - self.PreviewListWidget.rowCount() + 1) + self.previewListWidget.setRowCount( + self.previewListWidget.rowCount() + 1) item = QtGui.QTableWidgetItem() slideHeight = 0 if self.serviceItem.is_text(): @@ -648,33 +648,33 @@ class SlideController(QtGui.QWidget): image = self.parent.renderManager.image_manager. \ get_image(frame[u'title']) label.setPixmap(QtGui.QPixmap.fromImage(image)) - self.PreviewListWidget.setCellWidget(framenumber, 0, label) + self.previewListWidget.setCellWidget(framenumber, 0, label) slideHeight = width * self.parent.renderManager.screen_ratio row += 1 text.append(unicode(row)) - self.PreviewListWidget.setItem(framenumber, 0, item) + self.previewListWidget.setItem(framenumber, 0, item) if slideHeight != 0: - self.PreviewListWidget.setRowHeight(framenumber, slideHeight) - self.PreviewListWidget.setVerticalHeaderLabels(text) + self.previewListWidget.setRowHeight(framenumber, slideHeight) + self.previewListWidget.setVerticalHeaderLabels(text) if self.serviceItem.is_text(): - self.PreviewListWidget.resizeRowsToContents() - self.PreviewListWidget.setColumnWidth(0, - self.PreviewListWidget.viewport().size().width()) - if slideno > self.PreviewListWidget.rowCount(): - self.PreviewListWidget.selectRow( - self.PreviewListWidget.rowCount() - 1) + self.previewListWidget.resizeRowsToContents() + self.previewListWidget.setColumnWidth(0, + self.previewListWidget.viewport().size().width()) + if slideno > self.previewListWidget.rowCount(): + self.previewListWidget.selectRow( + self.previewListWidget.rowCount() - 1) else: - if slideno + 1 < self.PreviewListWidget.rowCount(): - self.PreviewListWidget.scrollToItem( - self.PreviewListWidget.item(slideno + 1, 0)) - self.PreviewListWidget.selectRow(slideno) + if slideno + 1 < self.previewListWidget.rowCount(): + self.previewListWidget.scrollToItem( + self.previewListWidget.item(slideno + 1, 0)) + self.previewListWidget.selectRow(slideno) self.enableToolBar(serviceItem) # Pass to display for viewing self.display.buildHtml(self.serviceItem) if serviceItem.is_media(): self.onMediaStart(serviceItem) self.onSlideSelected() - self.PreviewListWidget.setFocus() + self.previewListWidget.setFocus() Receiver.send_message(u'slidecontroller_%s_started' % self.typePrefix, [serviceItem]) @@ -693,7 +693,7 @@ class SlideController(QtGui.QWidget): dataItem[u'tag'] = unicode(framenumber) dataItem[u'text'] = u'' dataItem[u'selected'] = \ - (self.PreviewListWidget.currentRow() == framenumber) + (self.previewListWidget.currentRow() == framenumber) data.append(dataItem) Receiver.send_message(u'slidecontroller_%s_text_response' % self.typePrefix, data) @@ -710,7 +710,7 @@ class SlideController(QtGui.QWidget): [self.serviceItem, self.isLive]) self.updatePreview() else: - self.PreviewListWidget.selectRow(0) + self.previewListWidget.selectRow(0) self.onSlideSelected() def onSlideSelectedIndex(self, message): @@ -725,10 +725,10 @@ class SlideController(QtGui.QWidget): [self.serviceItem, self.isLive, index]) self.updatePreview() else: - if index + 1 < self.PreviewListWidget.rowCount(): - self.PreviewListWidget.scrollToItem( - self.PreviewListWidget.item(index + 1, 0)) - self.PreviewListWidget.selectRow(index) + if index + 1 < self.previewListWidget.rowCount(): + self.previewListWidget.scrollToItem( + self.previewListWidget.item(index + 1, 0)) + self.previewListWidget.selectRow(index) self.onSlideSelected() def mainDisplaySetBackground(self): @@ -860,9 +860,9 @@ class SlideController(QtGui.QWidget): Generate the preview when you click on a slide. if this is the Live Controller also display on the screen """ - row = self.PreviewListWidget.currentRow() + row = self.previewListWidget.currentRow() self.selectedRow = 0 - if row > -1 and row < self.PreviewListWidget.rowCount(): + if row > -1 and row < self.previewListWidget.rowCount(): if self.serviceItem.is_command(): if self.isLive: Receiver.send_message( @@ -884,10 +884,10 @@ class SlideController(QtGui.QWidget): """ The slide has been changed. Update the slidecontroller accordingly """ - if row + 1 < self.PreviewListWidget.rowCount(): - self.PreviewListWidget.scrollToItem( - self.PreviewListWidget.item(row + 1, 0)) - self.PreviewListWidget.selectRow(row) + if row + 1 < self.previewListWidget.rowCount(): + self.previewListWidget.scrollToItem( + self.previewListWidget.item(row + 1, 0)) + self.previewListWidget.selectRow(row) self.updatePreview() Receiver.send_message(u'slidecontroller_%s_changed' % self.typePrefix, row) @@ -924,17 +924,17 @@ class SlideController(QtGui.QWidget): if self.serviceItem.is_command() and self.isLive: self.updatePreview() else: - row = self.PreviewListWidget.currentRow() + 1 - if row == self.PreviewListWidget.rowCount(): + row = self.previewListWidget.currentRow() + 1 + if row == self.previewListWidget.rowCount(): if loop: row = 0 else: Receiver.send_message('servicemanager_next_item') return - if row + 1 < self.PreviewListWidget.rowCount(): - self.PreviewListWidget.scrollToItem( - self.PreviewListWidget.item(row + 1, 0)) - self.PreviewListWidget.selectRow(row) + if row + 1 < self.previewListWidget.rowCount(): + self.previewListWidget.scrollToItem( + self.previewListWidget.item(row + 1, 0)) + self.previewListWidget.selectRow(row) self.onSlideSelected() def onSlideSelectedPreviousNoloop(self): @@ -951,16 +951,16 @@ class SlideController(QtGui.QWidget): if self.serviceItem.is_command() and self.isLive: self.updatePreview() else: - row = self.PreviewListWidget.currentRow() - 1 + row = self.previewListWidget.currentRow() - 1 if row == -1: if loop: - row = self.PreviewListWidget.rowCount() - 1 + row = self.previewListWidget.rowCount() - 1 else: row = 0 - if row + 1 < self.PreviewListWidget.rowCount(): - self.PreviewListWidget.scrollToItem( - self.PreviewListWidget.item(row + 1, 0)) - self.PreviewListWidget.selectRow(row) + if row + 1 < self.previewListWidget.rowCount(): + self.previewListWidget.scrollToItem( + self.previewListWidget.item(row + 1, 0)) + self.previewListWidget.selectRow(row) self.onSlideSelected() def onSlideSelectedLast(self): @@ -974,15 +974,15 @@ class SlideController(QtGui.QWidget): if self.serviceItem.is_command(): self.updatePreview() else: - self.PreviewListWidget.selectRow( - self.PreviewListWidget.rowCount() - 1) + self.previewListWidget.selectRow( + self.previewListWidget.rowCount() - 1) self.onSlideSelected() def onStartLoop(self): """ Start the timer loop running and store the timer id """ - if self.PreviewListWidget.rowCount() > 1: + if self.previewListWidget.rowCount() > 1: self.timer_id = self.startTimer( int(self.DelaySpinBox.value()) * 1000) self.Toolbar.actions[u'Stop Loop'].setVisible(True) @@ -1025,8 +1025,8 @@ class SlideController(QtGui.QWidget): """ If preview copy slide item to live """ - row = self.PreviewListWidget.currentRow() - if row > -1 and row < self.PreviewListWidget.rowCount(): + row = self.previewListWidget.currentRow() + if row > -1 and row < self.previewListWidget.rowCount(): self.parent.liveController.addServiceManagerItem( self.serviceItem, row) From 98e1faef9a761d7d5559312dbcec3857266b7bad Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 21 Jan 2011 20:56:09 +0000 Subject: [PATCH 2/9] SlideController cleanups 2 --- openlp/core/ui/slidecontroller.py | 111 +++++++++++++++--------------- 1 file changed, 55 insertions(+), 56 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index d038598d3..f0df38c40 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -33,6 +33,7 @@ from PyQt4.phonon import Phonon from openlp.core.ui import HideMode, MainDisplay from openlp.core.lib import OpenLPToolbar, Receiver, resize_image, \ ItemCapabilities, translate +from openlp.core.utils import ActionList log = logging.getLogger(__name__) @@ -42,7 +43,7 @@ class SlideList(QtGui.QTableWidget): events. """ def __init__(self, parent=None, name=None): - QtGui.QTableWidget.__init__(self, parent.Controller) + QtGui.QTableWidget.__init__(self, parent.controller) self.parent = parent @@ -84,25 +85,25 @@ class SlideController(QtGui.QWidget): self.panelLayout.setSpacing(0) self.panelLayout.setMargin(0) # Type label for the top of the slide controller - self.TypeLabel = QtGui.QLabel(self.Panel) + self.typeLabel = QtGui.QLabel(self.Panel) if self.isLive: - self.TypeLabel.setText(translate('OpenLP.SlideController', 'Live')) + self.typeLabel.setText(translate('OpenLP.SlideController', 'Live')) self.split = 1 self.typePrefix = u'live' else: - self.TypeLabel.setText(translate('OpenLP.SlideController', + self.typeLabel.setText(translate('OpenLP.SlideController', 'Preview')) self.split = 0 self.typePrefix = u'preview' - self.TypeLabel.setStyleSheet(u'font-weight: bold; font-size: 12pt;') - self.TypeLabel.setAlignment(QtCore.Qt.AlignCenter) - self.panelLayout.addWidget(self.TypeLabel) + self.typeLabel.setStyleSheet(u'font-weight: bold; font-size: 12pt;') + self.typeLabel.setAlignment(QtCore.Qt.AlignCenter) + self.panelLayout.addWidget(self.typeLabel) # Splitter - self.Splitter = QtGui.QSplitter(self.Panel) - self.Splitter.setOrientation(QtCore.Qt.Vertical) - self.panelLayout.addWidget(self.Splitter) + self.splitter = QtGui.QSplitter(self.Panel) + self.splitter.setOrientation(QtCore.Qt.Vertical) + self.panelLayout.addWidget(self.splitter) # Actual controller section - self.controller = QtGui.QWidget(self.Splitter) + self.controller = QtGui.QWidget(self.splitter) self.controller.setGeometry(QtCore.QRect(0, 0, 100, 536)) self.controller.setSizePolicy( QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, @@ -126,32 +127,32 @@ class SlideController(QtGui.QWidget): self.previewListWidget.setAlternatingRowColors(True) self.controllerLayout.addWidget(self.previewListWidget) # Build the full toolbar - self.Toolbar = OpenLPToolbar(self) + self.toolbar = OpenLPToolbar(self) sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizeToolbarPolicy.setHorizontalStretch(0) sizeToolbarPolicy.setVerticalStretch(0) sizeToolbarPolicy.setHeightForWidth( - self.Toolbar.sizePolicy().hasHeightForWidth()) - self.Toolbar.setSizePolicy(sizeToolbarPolicy) - self.previousItem = self.Toolbar.addToolbarButton( + self.toolbar.sizePolicy().hasHeightForWidth()) + self.toolbar.setSizePolicy(sizeToolbarPolicy) + self.previousItem = self.toolbar.addToolbarButton( translate('OpenLP.SlideController', 'Previous Slide'), u':/slides/slide_previous.png', translate('OpenLP.SlideController', 'Move to previous'), self.onSlideSelectedPrevious) - self.nextItem = self.Toolbar.addToolbarButton( + self.nextItem = self.toolbar.addToolbarButton( translate('OpenLP.SlideController', 'Next Slide'), u':/slides/slide_next.png', translate('OpenLP.SlideController', 'Move to next'), self.onSlideSelectedNext) if self.isLive: - self.Toolbar.addToolbarSeparator(u'Close Separator') - self.HideMenu = QtGui.QToolButton(self.Toolbar) + self.toolbar.addToolbarSeparator(u'Close Separator') + self.HideMenu = QtGui.QToolButton(self.toolbar) self.HideMenu.setText(translate('OpenLP.SlideController', 'Hide')) self.HideMenu.setPopupMode(QtGui.QToolButton.MenuButtonPopup) - self.Toolbar.addToolbarWidget(u'Hide Menu', self.HideMenu) + self.toolbar.addToolbarWidget(u'Hide Menu', self.HideMenu) self.HideMenu.setMenu(QtGui.QMenu( - translate('OpenLP.SlideController', 'Hide'), self.Toolbar)) + translate('OpenLP.SlideController', 'Hide'), self.toolbar)) self.BlankScreen = QtGui.QAction(QtGui.QIcon( u':/slides/slide_blank.png'), translate('OpenLP.SlideController', @@ -174,36 +175,36 @@ class SlideController(QtGui.QWidget): self.DesktopScreen.setCheckable(True) QtCore.QObject.connect(self.DesktopScreen, QtCore.SIGNAL(u'triggered(bool)'), self.onHideDisplay) - self.Toolbar.addToolbarSeparator(u'Loop Separator') - self.Toolbar.addToolbarButton( + self.toolbar.addToolbarSeparator(u'Loop Separator') + self.toolbar.addToolbarButton( u'Start Loop', u':/media/media_time.png', translate('OpenLP.SlideController', 'Start continuous loop'), self.onStartLoop) - self.Toolbar.addToolbarButton( + self.toolbar.addToolbarButton( u'Stop Loop', u':/media/media_stop.png', translate('OpenLP.SlideController', 'Stop continuous loop'), self.onStopLoop) self.DelaySpinBox = QtGui.QSpinBox() self.DelaySpinBox.setMinimum(1) self.DelaySpinBox.setMaximum(180) - self.Toolbar.addToolbarWidget(u'Image SpinBox', self.DelaySpinBox) + self.toolbar.addToolbarWidget(u'Image SpinBox', self.DelaySpinBox) self.DelaySpinBox.setSuffix(translate('OpenLP.SlideController', 's')) self.DelaySpinBox.setToolTip(translate('OpenLP.SlideController', 'Delay between slides in seconds')) else: - self.Toolbar.addToolbarSeparator(u'Close Separator') - self.Toolbar.addToolbarButton( + self.toolbar.addToolbarSeparator(u'Close Separator') + self.toolbar.addToolbarButton( u'Go Live', u':/general/general_live.png', translate('OpenLP.SlideController', 'Move to live'), self.onGoLive) - self.Toolbar.addToolbarSeparator(u'Close Separator') - self.Toolbar.addToolbarButton( + self.toolbar.addToolbarSeparator(u'Close Separator') + self.toolbar.addToolbarButton( u'Edit Song', u':/general/general_edit.png', translate('OpenLP.SlideController', 'Edit and reload song preview'), self.onEditSong) - self.controllerLayout.addWidget(self.Toolbar) + self.controllerLayout.addWidget(self.toolbar) # Build a Media ToolBar self.Mediabar = OpenLPToolbar(self) self.Mediabar.addToolbarButton( @@ -220,14 +221,14 @@ class SlideController(QtGui.QWidget): self.onMediaStop) if self.isLive: # Build the Song Toolbar - self.SongMenu = QtGui.QToolButton(self.Toolbar) + self.SongMenu = QtGui.QToolButton(self.toolbar) self.SongMenu.setText(translate('OpenLP.SlideController', 'Go To')) self.SongMenu.setPopupMode(QtGui.QToolButton.InstantPopup) - self.Toolbar.addToolbarWidget(u'Song Menu', self.SongMenu) + self.toolbar.addToolbarWidget(u'Song Menu', self.SongMenu) self.SongMenu.setMenu(QtGui.QMenu( - translate('OpenLP.SlideController', 'Go To'), self.Toolbar)) - self.Toolbar.makeWidgetsInvisible([u'Song Menu']) + translate('OpenLP.SlideController', 'Go To'), self.toolbar)) + self.toolbar.makeWidgetsInvisible([u'Song Menu']) # Build the volumeSlider. self.volumeSlider = QtGui.QSlider(QtCore.Qt.Horizontal) self.volumeSlider.setTickInterval(1) @@ -246,7 +247,7 @@ class SlideController(QtGui.QWidget): self.Mediabar.addToolbarWidget(u'Audio Volume', self.volumeSlider) self.controllerLayout.addWidget(self.Mediabar) # Screen preview area - self.PreviewFrame = QtGui.QFrame(self.Splitter) + self.PreviewFrame = QtGui.QFrame(self.splitter) self.PreviewFrame.setGeometry(QtCore.QRect(0, 0, 300, 300 * self.ratio)) self.PreviewFrame.setMinimumHeight(100) self.PreviewFrame.setSizePolicy(QtGui.QSizePolicy( @@ -305,13 +306,13 @@ class SlideController(QtGui.QWidget): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_live_spin_delay'), self.receiveSpinDelay) - self.Toolbar.makeWidgetsInvisible(self.loopList) - self.Toolbar.actions[u'Stop Loop'].setVisible(False) + self.toolbar.makeWidgetsInvisible(self.loopList) + self.toolbar.actions[u'Stop Loop'].setVisible(False) else: QtCore.QObject.connect(self.previewListWidget, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onGoLiveClick) - self.Toolbar.makeWidgetsInvisible(self.songEditList) + self.toolbar.makeWidgetsInvisible(self.songEditList) self.Mediabar.setVisible(False) if self.isLive: self.setLiveHotkeys(self) @@ -391,16 +392,14 @@ class SlideController(QtGui.QWidget): self.previousService = QtGui.QAction(translate( 'OpenLP.SlideController', 'Previous Service'), parent) self.previousService.setShortcuts([QtCore.Qt.Key_Left, 0]) - self.previousService.setShortcutContext( - QtCore.Qt.WidgetWithChildrenShortcut) + self.previousService.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) QtCore.QObject.connect(self.previousService, QtCore.SIGNAL(u'triggered()'), self.servicePrevious) actionList.add_action(self.previousService, u'Live') self.nextService = QtGui.QAction(translate( 'OpenLP.SlideController', 'Next Service'), parent) self.nextService.setShortcuts([QtCore.Qt.Key_Right, 0]) - self.nextService.setShortcutContext( - QtCore.Qt.WidgetWithChildrenShortcut) + self.nextService.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) QtCore.QObject.connect(self.nextService, QtCore.SIGNAL(u'triggered()'), self.serviceNext) actionList.add_action(self.nextService, u'Live') @@ -508,34 +507,34 @@ class SlideController(QtGui.QWidget): """ Allows the live toolbar to be customised """ - self.Toolbar.setVisible(True) + self.toolbar.setVisible(True) self.Mediabar.setVisible(False) - self.Toolbar.makeWidgetsInvisible([u'Song Menu']) - self.Toolbar.makeWidgetsInvisible(self.loopList) - self.Toolbar.actions[u'Stop Loop'].setVisible(False) + self.toolbar.makeWidgetsInvisible([u'Song Menu']) + self.toolbar.makeWidgetsInvisible(self.loopList) + self.toolbar.actions[u'Stop Loop'].setVisible(False) if item.is_text(): if QtCore.QSettings().value( self.parent.songsSettingsSection + u'/display songbar', QtCore.QVariant(True)).toBool() and len(self.slideList) > 0: - self.Toolbar.makeWidgetsVisible([u'Song Menu']) + self.toolbar.makeWidgetsVisible([u'Song Menu']) if item.is_capable(ItemCapabilities.AllowsLoop) and \ len(item.get_frames()) > 1: - self.Toolbar.makeWidgetsVisible(self.loopList) + self.toolbar.makeWidgetsVisible(self.loopList) if item.is_media(): - self.Toolbar.setVisible(False) + self.toolbar.setVisible(False) self.Mediabar.setVisible(True) def enablePreviewToolBar(self, item): """ Allows the Preview toolbar to be customised """ - self.Toolbar.setVisible(True) + self.toolbar.setVisible(True) self.Mediabar.setVisible(False) - self.Toolbar.makeWidgetsInvisible(self.songEditList) + self.toolbar.makeWidgetsInvisible(self.songEditList) if item.is_capable(ItemCapabilities.AllowsEdit) and item.from_plugin: - self.Toolbar.makeWidgetsVisible(self.songEditList) + self.toolbar.makeWidgetsVisible(self.songEditList) elif item.is_media(): - self.Toolbar.setVisible(False) + self.toolbar.setVisible(False) self.Mediabar.setVisible(True) self.volumeSlider.setAudioOutput(self.audio) @@ -986,8 +985,8 @@ class SlideController(QtGui.QWidget): if self.previewListWidget.rowCount() > 1: self.timer_id = self.startTimer( int(self.DelaySpinBox.value()) * 1000) - self.Toolbar.actions[u'Stop Loop'].setVisible(True) - self.Toolbar.actions[u'Start Loop'].setVisible(False) + self.toolbar.actions[u'Stop Loop'].setVisible(True) + self.toolbar.actions[u'Start Loop'].setVisible(False) def onStopLoop(self): """ @@ -996,8 +995,8 @@ class SlideController(QtGui.QWidget): if self.timer_id != 0: self.killTimer(self.timer_id) self.timer_id = 0 - self.Toolbar.actions[u'Start Loop'].setVisible(True) - self.Toolbar.actions[u'Stop Loop'].setVisible(False) + self.toolbar.actions[u'Start Loop'].setVisible(True) + self.toolbar.actions[u'Stop Loop'].setVisible(False) def timerEvent(self, event): """ From ac28cb5183bd2608c0012a3f82fa72389a8ca639 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 22 Jan 2011 08:59:46 +0000 Subject: [PATCH 3/9] SlideController clean --- openlp/core/ui/slidecontroller.py | 207 +++++++++++++++--------------- 1 file changed, 104 insertions(+), 103 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index f0df38c40..b1a02dea3 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -147,33 +147,33 @@ class SlideController(QtGui.QWidget): self.onSlideSelectedNext) if self.isLive: self.toolbar.addToolbarSeparator(u'Close Separator') - self.HideMenu = QtGui.QToolButton(self.toolbar) - self.HideMenu.setText(translate('OpenLP.SlideController', 'Hide')) - self.HideMenu.setPopupMode(QtGui.QToolButton.MenuButtonPopup) - self.toolbar.addToolbarWidget(u'Hide Menu', self.HideMenu) - self.HideMenu.setMenu(QtGui.QMenu( + self.hideMenu = QtGui.QToolButton(self.toolbar) + self.hideMenu.setText(translate('OpenLP.SlideController', 'Hide')) + self.hideMenu.setPopupMode(QtGui.QToolButton.MenuButtonPopup) + self.toolbar.addToolbarWidget(u'Hide Menu', self.hideMenu) + self.hideMenu.setMenu(QtGui.QMenu( translate('OpenLP.SlideController', 'Hide'), self.toolbar)) - self.BlankScreen = QtGui.QAction(QtGui.QIcon( + self.blankScreen = QtGui.QAction(QtGui.QIcon( u':/slides/slide_blank.png'), translate('OpenLP.SlideController', - 'Blank Screen'), self.HideMenu) - self.BlankScreen.setCheckable(True) - self.ThemeScreen = QtGui.QAction(QtGui.QIcon( + 'Blank Screen'), self.hideMenu) + self.blankScreen.setCheckable(True) + self.themeScreen = QtGui.QAction(QtGui.QIcon( u':/slides/slide_theme.png'), translate('OpenLP.SlideController', - 'Blank to Theme'), self.HideMenu) - self.ThemeScreen.setCheckable(True) - self.HideMenu.setDefaultAction(self.BlankScreen) - self.HideMenu.menu().addAction(self.BlankScreen) - self.HideMenu.menu().addAction(self.ThemeScreen) + 'Blank to Theme'), self.hideMenu) + self.themeScreen.setCheckable(True) + self.hideMenu.setDefaultAction(self.blankScreen) + self.hideMenu.menu().addAction(self.blankScreen) + self.hideMenu.menu().addAction(self.themeScreen) if self.screens.display_count > 1: - self.DesktopScreen = QtGui.QAction(QtGui.QIcon( + self.desktopScreen = QtGui.QAction(QtGui.QIcon( u':/slides/slide_desktop.png'), translate('OpenLP.SlideController', - 'Show Desktop'), self.HideMenu) - self.HideMenu.menu().addAction(self.DesktopScreen) - self.DesktopScreen.setCheckable(True) - QtCore.QObject.connect(self.DesktopScreen, + 'Show Desktop'), self.hideMenu) + self.hideMenu.menu().addAction(self.desktopScreen) + self.desktopScreen.setCheckable(True) + QtCore.QObject.connect(self.desktopScreen, QtCore.SIGNAL(u'triggered(bool)'), self.onHideDisplay) self.toolbar.addToolbarSeparator(u'Loop Separator') self.toolbar.addToolbarButton( @@ -206,27 +206,27 @@ class SlideController(QtGui.QWidget): self.onEditSong) self.controllerLayout.addWidget(self.toolbar) # Build a Media ToolBar - self.Mediabar = OpenLPToolbar(self) - self.Mediabar.addToolbarButton( + self.mediabar = OpenLPToolbar(self) + self.mediabar.addToolbarButton( u'Media Start', u':/slides/media_playback_start.png', translate('OpenLP.SlideController', 'Start playing media'), self.onMediaPlay) - self.Mediabar.addToolbarButton( + self.mediabar.addToolbarButton( u'Media Pause', u':/slides/media_playback_pause.png', translate('OpenLP.SlideController', 'Start playing media'), self.onMediaPause) - self.Mediabar.addToolbarButton( + self.mediabar.addToolbarButton( u'Media Stop', u':/slides/media_playback_stop.png', translate('OpenLP.SlideController', 'Start playing media'), self.onMediaStop) if self.isLive: # Build the Song Toolbar - self.SongMenu = QtGui.QToolButton(self.toolbar) - self.SongMenu.setText(translate('OpenLP.SlideController', + self.songMenu = QtGui.QToolButton(self.toolbar) + self.songMenu.setText(translate('OpenLP.SlideController', 'Go To')) - self.SongMenu.setPopupMode(QtGui.QToolButton.InstantPopup) - self.toolbar.addToolbarWidget(u'Song Menu', self.SongMenu) - self.SongMenu.setMenu(QtGui.QMenu( + self.songMenu.setPopupMode(QtGui.QToolButton.InstantPopup) + self.toolbar.addToolbarWidget(u'Song Menu', self.songMenu) + self.songMenu.setMenu(QtGui.QMenu( translate('OpenLP.SlideController', 'Go To'), self.toolbar)) self.toolbar.makeWidgetsInvisible([u'Song Menu']) # Build the volumeSlider. @@ -240,29 +240,29 @@ class SlideController(QtGui.QWidget): self.seekSlider = Phonon.SeekSlider() self.seekSlider.setGeometry(QtCore.QRect(90, 260, 221, 24)) self.seekSlider.setObjectName(u'seekSlider') - self.Mediabar.addToolbarWidget(u'Seek Slider', self.seekSlider) + self.mediabar.addToolbarWidget(u'Seek Slider', self.seekSlider) self.volumeSlider = Phonon.VolumeSlider() self.volumeSlider.setGeometry(QtCore.QRect(90, 260, 221, 24)) self.volumeSlider.setObjectName(u'volumeSlider') - self.Mediabar.addToolbarWidget(u'Audio Volume', self.volumeSlider) - self.controllerLayout.addWidget(self.Mediabar) + self.mediabar.addToolbarWidget(u'Audio Volume', self.volumeSlider) + self.controllerLayout.addWidget(self.mediabar) # Screen preview area - self.PreviewFrame = QtGui.QFrame(self.splitter) - self.PreviewFrame.setGeometry(QtCore.QRect(0, 0, 300, 300 * self.ratio)) - self.PreviewFrame.setMinimumHeight(100) - self.PreviewFrame.setSizePolicy(QtGui.QSizePolicy( + self.previewFrame = QtGui.QFrame(self.splitter) + self.previewFrame.setGeometry(QtCore.QRect(0, 0, 300, 300 * self.ratio)) + self.previewFrame.setMinimumHeight(100) + self.previewFrame.setSizePolicy(QtGui.QSizePolicy( QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Label)) - self.PreviewFrame.setFrameShape(QtGui.QFrame.StyledPanel) - self.PreviewFrame.setFrameShadow(QtGui.QFrame.Sunken) - self.PreviewFrame.setObjectName(u'PreviewFrame') - self.grid = QtGui.QGridLayout(self.PreviewFrame) + self.previewFrame.setFrameShape(QtGui.QFrame.StyledPanel) + self.previewFrame.setFrameShadow(QtGui.QFrame.Sunken) + self.previewFrame.setObjectName(u'PreviewFrame') + self.grid = QtGui.QGridLayout(self.previewFrame) self.grid.setMargin(8) self.grid.setObjectName(u'grid') - self.SlideLayout = QtGui.QVBoxLayout() - self.SlideLayout.setSpacing(0) - self.SlideLayout.setMargin(0) - self.SlideLayout.setObjectName(u'SlideLayout') + self.slideLayout = QtGui.QVBoxLayout() + self.slideLayout.setSpacing(0) + self.slideLayout.setMargin(0) + self.slideLayout.setObjectName(u'SlideLayout') self.mediaObject = Phonon.MediaObject(self) self.video = Phonon.VideoWidget() self.video.setVisible(False) @@ -271,33 +271,33 @@ class SlideController(QtGui.QWidget): Phonon.createPath(self.mediaObject, self.audio) if not self.isLive: self.video.setGeometry(QtCore.QRect(0, 0, 300, 225)) - self.SlideLayout.insertWidget(0, self.video) + self.slideLayout.insertWidget(0, self.video) # Actual preview screen - self.SlidePreview = QtGui.QLabel(self) + self.slidePreview = QtGui.QLabel(self) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( - self.SlidePreview.sizePolicy().hasHeightForWidth()) - self.SlidePreview.setSizePolicy(sizePolicy) - self.SlidePreview.setFixedSize( + self.slidePreview.sizePolicy().hasHeightForWidth()) + self.slidePreview.setSizePolicy(sizePolicy) + self.slidePreview.setFixedSize( QtCore.QSize(self.settingsmanager.slidecontroller_image, self.settingsmanager.slidecontroller_image / self.ratio)) - self.SlidePreview.setFrameShape(QtGui.QFrame.Box) - self.SlidePreview.setFrameShadow(QtGui.QFrame.Plain) - self.SlidePreview.setLineWidth(1) - self.SlidePreview.setScaledContents(True) - self.SlidePreview.setObjectName(u'SlidePreview') - self.SlideLayout.insertWidget(0, self.SlidePreview) - self.grid.addLayout(self.SlideLayout, 0, 0, 1, 1) + self.slidePreview.setFrameShape(QtGui.QFrame.Box) + self.slidePreview.setFrameShadow(QtGui.QFrame.Plain) + self.slidePreview.setLineWidth(1) + self.slidePreview.setScaledContents(True) + self.slidePreview.setObjectName(u'SlidePreview') + self.slideLayout.insertWidget(0, self.slidePreview) + self.grid.addLayout(self.slideLayout, 0, 0, 1, 1) # Signals QtCore.QObject.connect(self.previewListWidget, QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onSlideSelected) if self.isLive: - QtCore.QObject.connect(self.BlankScreen, + QtCore.QObject.connect(self.blankScreen, QtCore.SIGNAL(u'triggered(bool)'), self.onBlankDisplay) - QtCore.QObject.connect(self.ThemeScreen, + QtCore.QObject.connect(self.themeScreen, QtCore.SIGNAL(u'triggered(bool)'), self.onThemeDisplay) QtCore.QObject.connect(self.volumeSlider, QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume) @@ -313,7 +313,7 @@ class SlideController(QtGui.QWidget): QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onGoLiveClick) self.toolbar.makeWidgetsInvisible(self.songEditList) - self.Mediabar.setVisible(False) + self.mediabar.setVisible(False) if self.isLive: self.setLiveHotkeys(self) self.previewListWidget.addActions( @@ -392,14 +392,16 @@ class SlideController(QtGui.QWidget): self.previousService = QtGui.QAction(translate( 'OpenLP.SlideController', 'Previous Service'), parent) self.previousService.setShortcuts([QtCore.Qt.Key_Left, 0]) - self.previousService.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) + self.previousService.setShortcutContext( \ + QtCore.Qt.WidgetWithChildrenShortcut) QtCore.QObject.connect(self.previousService, QtCore.SIGNAL(u'triggered()'), self.servicePrevious) actionList.add_action(self.previousService, u'Live') self.nextService = QtGui.QAction(translate( 'OpenLP.SlideController', 'Next Service'), parent) self.nextService.setShortcuts([QtCore.Qt.Key_Right, 0]) - self.nextService.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) + self.nextService.setShortcutContext( \ + QtCore.Qt.WidgetWithChildrenShortcut) QtCore.QObject.connect(self.nextService, QtCore.SIGNAL(u'triggered()'), self.serviceNext) actionList.add_action(self.nextService, u'Live') @@ -421,7 +423,6 @@ class SlideController(QtGui.QWidget): def serviceNext(self): Receiver.send_message('servicemanager_next_item') - def screenSizeChanged(self): """ Settings dialog has changed the screen size of adjust output and @@ -452,16 +453,16 @@ class SlideController(QtGui.QWidget): splitters is moved or when the screen size is changed. Note, that this method is (also) called frequently from the mainwindow *paintEvent*. """ - if self.ratio < float(self.PreviewFrame.width()) / float( - self.PreviewFrame.height()): + if self.ratio < float(self.previewFrame.width()) / float( + self.previewFrame.height()): # We have to take the height as limit. - max_height = self.PreviewFrame.height() - self.grid.margin() * 2 - self.SlidePreview.setFixedSize(QtCore.QSize(max_height * self.ratio, + max_height = self.previewFrame.height() - self.grid.margin() * 2 + self.slidePreview.setFixedSize(QtCore.QSize(max_height * self.ratio, max_height)) else: # We have to take the width as limit. - max_width = self.PreviewFrame.width() - self.grid.margin() * 2 - self.SlidePreview.setFixedSize(QtCore.QSize(max_width, + max_width = self.previewFrame.width() - self.grid.margin() * 2 + self.slidePreview.setFixedSize(QtCore.QSize(max_width, max_width / self.ratio)) # Make sure that the frames have the correct size. self.previewListWidget.setColumnWidth(0, @@ -508,7 +509,7 @@ class SlideController(QtGui.QWidget): Allows the live toolbar to be customised """ self.toolbar.setVisible(True) - self.Mediabar.setVisible(False) + self.mediabar.setVisible(False) self.toolbar.makeWidgetsInvisible([u'Song Menu']) self.toolbar.makeWidgetsInvisible(self.loopList) self.toolbar.actions[u'Stop Loop'].setVisible(False) @@ -522,20 +523,20 @@ class SlideController(QtGui.QWidget): self.toolbar.makeWidgetsVisible(self.loopList) if item.is_media(): self.toolbar.setVisible(False) - self.Mediabar.setVisible(True) + self.mediabar.setVisible(True) def enablePreviewToolBar(self, item): """ Allows the Preview toolbar to be customised """ self.toolbar.setVisible(True) - self.Mediabar.setVisible(False) + self.mediabar.setVisible(False) self.toolbar.makeWidgetsInvisible(self.songEditList) if item.is_capable(ItemCapabilities.AllowsEdit) and item.from_plugin: self.toolbar.makeWidgetsVisible(self.songEditList) elif item.is_media(): self.toolbar.setVisible(False) - self.Mediabar.setVisible(True) + self.mediabar.setVisible(True) self.volumeSlider.setAudioOutput(self.audio) def refreshServiceItem(self): @@ -602,7 +603,7 @@ class SlideController(QtGui.QWidget): if self.isLive: if serviceItem.is_capable(ItemCapabilities.ProvidesOwnDisplay): self._forceUnblank() - blanked = self.BlankScreen.isChecked() + blanked = self.blankScreen.isChecked() else: blanked = False Receiver.send_message(u'%s_start' % serviceItem.name.lower(), @@ -614,7 +615,7 @@ class SlideController(QtGui.QWidget): self.previewListWidget.setRowCount(0) self.previewListWidget.setColumnWidth(0, width) if self.isLive: - self.SongMenu.menu().clear() + self.songMenu.menu().clear() row = 0 text = [] for framenumber, frame in enumerate(self.serviceItem.get_frames()): @@ -631,7 +632,7 @@ class SlideController(QtGui.QWidget): if self.isLive: if tag1 not in self.slideList: self.slideList[tag1] = framenumber - self.SongMenu.menu().addAction(tag1, + self.songMenu.menu().addAction(tag1, self.onSongBarHandler) else: row += 1 @@ -765,11 +766,11 @@ class SlideController(QtGui.QWidget): Handle the blank screen button actions """ log.debug(u'onBlankDisplay %s' % checked) - self.HideMenu.setDefaultAction(self.BlankScreen) - self.BlankScreen.setChecked(checked) - self.ThemeScreen.setChecked(False) + self.hideMenu.setDefaultAction(self.blankScreen) + self.blankScreen.setChecked(checked) + self.themeScreen.setChecked(False) if self.screens.display_count > 1: - self.DesktopScreen.setChecked(False) + self.desktopScreen.setChecked(False) if checked: Receiver.send_message(u'maindisplay_hide', HideMode.Blank) QtCore.QSettings().setValue( @@ -786,11 +787,11 @@ class SlideController(QtGui.QWidget): Handle the Theme screen button """ log.debug(u'onThemeDisplay %s' % checked) - self.HideMenu.setDefaultAction(self.ThemeScreen) - self.BlankScreen.setChecked(False) - self.ThemeScreen.setChecked(checked) + self.hideMenu.setDefaultAction(self.themeScreen) + self.blankScreen.setChecked(False) + self.themeScreen.setChecked(checked) if self.screens.display_count > 1: - self.DesktopScreen.setChecked(False) + self.desktopScreen.setChecked(False) if checked: Receiver.send_message(u'maindisplay_hide', HideMode.Theme) QtCore.QSettings().setValue( @@ -807,13 +808,13 @@ class SlideController(QtGui.QWidget): Handle the Hide screen button """ log.debug(u'onHideDisplay %s' % checked) - self.HideMenu.setDefaultAction(self.DesktopScreen) - self.BlankScreen.setChecked(False) - self.ThemeScreen.setChecked(False) + self.hideMenu.setDefaultAction(self.desktopScreen) + self.blankScreen.setChecked(False) + self.themeScreen.setChecked(False) # On valid if more than 1 display if self.screens.display_count <= 1: return - self.DesktopScreen.setChecked(checked) + self.desktopScreen.setChecked(checked) if checked: Receiver.send_message(u'maindisplay_hide', HideMode.Screen) QtCore.QSettings().setValue( @@ -875,7 +876,7 @@ class SlideController(QtGui.QWidget): frame = self.display.text(toDisplay) else: frame = self.display.image(toDisplay) - self.SlidePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) + self.slidePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) self.selectedRow = row Receiver.send_message(u'slidecontroller_%s_changed' % self.typePrefix, row) @@ -900,7 +901,7 @@ class SlideController(QtGui.QWidget): QtCore.QTimer.singleShot(0.5, self.grabMainDisplay) QtCore.QTimer.singleShot(2.5, self.grabMainDisplay) else: - self.SlidePreview.setPixmap( + self.slidePreview.setPixmap( QtGui.QPixmap.fromImage(self.display.preview())) def grabMainDisplay(self): @@ -908,7 +909,7 @@ class SlideController(QtGui.QWidget): rect = self.screens.current[u'size'] winimg = QtGui.QPixmap.grabWindow(winid, rect.x(), rect.y(), rect.width(), rect.height()) - self.SlidePreview.setPixmap(winimg) + self.slidePreview.setPixmap(winimg) def onSlideSelectedNextNoloop(self): self.onSlideSelectedNext(False) @@ -1073,7 +1074,7 @@ class SlideController(QtGui.QWidget): if self.isLive: self.display.videoPlay() else: - self.SlidePreview.hide() + self.slidePreview.hide() self.video.show() self.mediaObject.play() @@ -1087,8 +1088,8 @@ class SlideController(QtGui.QWidget): else: self.mediaObject.stop() self.video.hide() - self.SlidePreview.clear() - self.SlidePreview.show() + self.slidePreview.clear() + self.slidePreview.show() def onMediaClose(self): """ @@ -1101,23 +1102,23 @@ class SlideController(QtGui.QWidget): self.mediaObject.stop() self.mediaObject.clearQueue() self.video.hide() - self.SlidePreview.clear() - self.SlidePreview.show() + self.slidePreview.clear() + self.slidePreview.show() def _forceUnblank(self): """ Used by command items which provide their own displays to reset the screen hide attributes """ - if self.BlankScreen.isChecked: - self.BlankScreen.setChecked(False) - self.HideMenu.setDefaultAction(self.BlankScreen) + if self.blankScreen.isChecked: + self.blankScreen.setChecked(False) + self.hideMenu.setDefaultAction(self.blankScreen) QtCore.QSettings().remove( self.parent.generalSettingsSection + u'/screen blank') - if self.ThemeScreen.isChecked: - self.ThemeScreen.setChecked(False) - self.HideMenu.setDefaultAction(self.ThemeScreen) + if self.themeScreen.isChecked: + self.themeScreen.setChecked(False) + self.hideMenu.setDefaultAction(self.themeScreen) if self.screens.display_count > 1: - if self.DesktopScreen.isChecked: - self.DesktopScreen.setChecked(False) - self.HideMenu.setDefaultAction(self.DesktopScreen) + if self.desktopScreen.isChecked: + self.desktopScreen.setChecked(False) + self.hideMenu.setDefaultAction(self.desktopScreen) From 52367323b03fd433adc28fd1e8c0935053ee0bc6 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 22 Jan 2011 10:29:47 +0000 Subject: [PATCH 4/9] Presentation guards against missing images --- openlp/core/lib/serviceitem.py | 10 +++++++-- openlp/plugins/presentations/lib/mediaitem.py | 22 ++++++++++++++----- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 5c70ac18d..d01f8bf42 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -392,10 +392,16 @@ class ServiceItem(object): """ Returns the title of the raw frame """ - return self._raw_frames[row][u'title'] + try: + return self._raw_frames[row][u'title'] + except: + return u'' def get_frame_path(self, row=0): """ Returns the path of the raw frame """ - return self._raw_frames[row][u'path'] + try: + return self._raw_frames[row][u'path'] + except: + return u'' diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index 2c9381a70..98481dfed 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -268,12 +268,22 @@ class PresentationMediaItem(MediaManagerItem): doc.load_presentation() i = 1 img = doc.get_thumbnail_path(i, True) - while img: - service_item.add_from_command(path, name, img) - i = i + 1 - img = doc.get_thumbnail_path(i, True) - doc.close_presentation() - return True + if img: + while img: + service_item.add_from_command(path, name, img) + i = i + 1 + img = doc.get_thumbnail_path(i, True) + doc.close_presentation() + return True + else: + # File is no longer present + criticalErrorMessageBox( + translate('PresentationPlugin.MediaItem', + 'Missing Presentation'), + unicode(translate('PresentationPlugin.MediaItem', + 'The Presentation %s is incomplete please reload.')) + % filename) + return False else: # File is no longer present criticalErrorMessageBox( From 987d4cf7d580b1681e14bbff2d8041b079c29537 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 22 Jan 2011 10:30:19 +0000 Subject: [PATCH 5/9] Presentation guards against missing images --- openlp/plugins/presentations/lib/mediaitem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/presentations/lib/mediaitem.py b/openlp/plugins/presentations/lib/mediaitem.py index 98481dfed..e72d97be1 100644 --- a/openlp/plugins/presentations/lib/mediaitem.py +++ b/openlp/plugins/presentations/lib/mediaitem.py @@ -281,8 +281,8 @@ class PresentationMediaItem(MediaManagerItem): translate('PresentationPlugin.MediaItem', 'Missing Presentation'), unicode(translate('PresentationPlugin.MediaItem', - 'The Presentation %s is incomplete please reload.')) - % filename) + 'The Presentation %s is incomplete,' + ' please reload.')) % filename) return False else: # File is no longer present From b9cd9ca5a52c1ff3f08a64c1d8b18da89483c7db Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 22 Jan 2011 11:19:48 +0000 Subject: [PATCH 6/9] Merge Fix ups --- openlp/core/ui/slidecontroller.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index b1a02dea3..8b1614977 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -33,7 +33,6 @@ from PyQt4.phonon import Phonon from openlp.core.ui import HideMode, MainDisplay from openlp.core.lib import OpenLPToolbar, Receiver, resize_image, \ ItemCapabilities, translate -from openlp.core.utils import ActionList log = logging.getLogger(__name__) @@ -392,7 +391,7 @@ class SlideController(QtGui.QWidget): self.previousService = QtGui.QAction(translate( 'OpenLP.SlideController', 'Previous Service'), parent) self.previousService.setShortcuts([QtCore.Qt.Key_Left, 0]) - self.previousService.setShortcutContext( \ + self.previousService.setShortcutContext( QtCore.Qt.WidgetWithChildrenShortcut) QtCore.QObject.connect(self.previousService, QtCore.SIGNAL(u'triggered()'), self.servicePrevious) @@ -400,7 +399,7 @@ class SlideController(QtGui.QWidget): self.nextService = QtGui.QAction(translate( 'OpenLP.SlideController', 'Next Service'), parent) self.nextService.setShortcuts([QtCore.Qt.Key_Right, 0]) - self.nextService.setShortcutContext( \ + self.nextService.setShortcutContext( QtCore.Qt.WidgetWithChildrenShortcut) QtCore.QObject.connect(self.nextService, QtCore.SIGNAL(u'triggered()'), self.serviceNext) From ecd3ba87758d9d3c1c2342060aca3ed6aa4a1795 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 22 Jan 2011 12:34:30 +0000 Subject: [PATCH 7/9] Correct Exception --- openlp/core/lib/serviceitem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index d01f8bf42..f47152173 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -394,7 +394,7 @@ class ServiceItem(object): """ try: return self._raw_frames[row][u'title'] - except: + except keyError: return u'' def get_frame_path(self, row=0): @@ -403,5 +403,5 @@ class ServiceItem(object): """ try: return self._raw_frames[row][u'path'] - except: + except keyError: return u'' From 050ebe7e25b57b2ab73a2d3010ec90b31bb2f2bd Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 22 Jan 2011 12:37:00 +0000 Subject: [PATCH 8/9] Add missed reference --- openlp/core/ui/servicemanager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index ffcb492b6..b9f9fe53d 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1039,7 +1039,7 @@ class ServiceManager(QtGui.QWidget): ItemCapabilities.AllowsPreview): self.mainwindow.previewController.addServiceManagerItem( self.serviceItems[item][u'service_item'], 0) - self.mainwindow.liveController.PreviewListWidget.setFocus() + self.mainwindow.liveController.previewListWidget.setFocus() else: criticalErrorMessageBox( translate('OpenLP.ServiceManager', 'Missing Display Handler'), From d64bc54129bca8735a78e37c0527f5a90dee4b2f Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 22 Jan 2011 12:48:16 +0000 Subject: [PATCH 9/9] Correct Exception --- openlp/core/lib/serviceitem.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index f47152173..276563eba 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -394,7 +394,7 @@ class ServiceItem(object): """ try: return self._raw_frames[row][u'title'] - except keyError: + except IndexError: return u'' def get_frame_path(self, row=0): @@ -403,5 +403,5 @@ class ServiceItem(object): """ try: return self._raw_frames[row][u'path'] - except keyError: + except IndexError: return u''