Fix review comments

This commit is contained in:
Tim Bentley 2010-04-03 08:10:31 +01:00
parent a178ea447e
commit 828695ea0e
13 changed files with 56 additions and 60 deletions

View File

@ -172,7 +172,7 @@ from mediamanageritem import MediaManagerItem
from xmlrootclass import XmlRootClass
from serviceitem import ServiceItem
from serviceitem import ServiceItemType
from serviceitem import ServiceItem
from serviceitem import ItemCapabilities
from toolbar import OpenLPToolbar
from dockwidget import OpenLPDockWidget
from songxmlhandler import SongXMLBuilder, SongXMLParser

View File

@ -29,6 +29,7 @@ from PyQt4 import QtCore
from renderer import Renderer
from openlp.core.lib import ThemeLevel
log = logging.getLogger(__name__)
class RenderManager(object):

View File

@ -42,12 +42,12 @@ class ServiceItemType(object):
Image = 2
Command = 3
capabilities = [
u'allows_preview',
u'allows_edit',
u'allows_maintain',
u'requires_media'
]
class ItemCapabilities(object):
AllowsPreview = 1
AllowsEdit = 2
AllowsMaintain = 3
RequiresMedia = 4
class ServiceItem(object):
"""
@ -79,17 +79,13 @@ class ServiceItem(object):
self._uuid = unicode(uuid.uuid1())
self.notes = u''
self.from_plugin = False
self.capability_state = {}
for capability in capabilities:
self.updateCapability(capability)
self.capabilities = []
def updateCapability(self, capability, State=False):
self.capability_state[capability] = State
def add_capability(self, capability):
self.capabilities.append(capability)
def getCapability(self, capability):
if capability in self.capability_state:
return self.capability_state[capability]
return False
def is_capable(self, capability):
return capability in self.capabilities
def addIcon(self, icon):
"""
@ -223,7 +219,7 @@ class ServiceItem(object):
u'audit':self.audit,
u'notes':self.notes,
u'from_plugin':self.from_plugin,
u'capabilities':self.capability_state
u'capabilities':self.capabilities
}
service_data = []
if self.service_item_type == ServiceItemType.Text:
@ -259,7 +255,7 @@ class ServiceItem(object):
self.audit = header[u'audit']
self.notes = header[u'notes']
self.from_plugin = header[u'from_plugin']
self.capability_state = header[u'capabilities']
self.capabilities = header[u'capabilities']
if self.service_item_type == ServiceItemType.Text:
for slide in serviceitem[u'serviceitem'][u'data']:
self._raw_frames.append(slide)
@ -295,11 +291,8 @@ class ServiceItem(object):
"""
return self._uuid != other._uuid
def is_song(self):
return self.name.lower() == u'songs'
def is_media(self):
return self.getCapability(u'requires_media')
return ItemCapabilities.RequiresMedia in self.capabilities
def is_command(self):
return self.service_item_type == ServiceItemType.Command

View File

@ -45,8 +45,8 @@ class GeneralTab(SettingsTab):
self.screens.monitor_number))
self.screens.set_current_display(self.MonitorNumber)
self.screens.monitor_number = self.MonitorNumber
self.MonitorDisplay = str_to_bool(self.config.get_config(u'monitor display', u'True'))
self.screens.display = self.MonitorDisplay
self.DisplayOnMonitor = str_to_bool(self.config.get_config(u'display on monitor', u'True'))
self.screens.display = self.DisplayOnMonitor
def setupUi(self):
self.setObjectName(u'GeneralTab')
@ -74,9 +74,9 @@ class GeneralTab(SettingsTab):
self.MonitorComboBox.setObjectName(u'MonitorComboBox')
self.MonitorLayout.addWidget(self.MonitorComboBox)
self.MonitorLayout.addWidget(self.MonitorComboBox)
self.MonitorDisplayCheck = QtGui.QCheckBox(self.MonitorGroupBox)
self.MonitorDisplayCheck.setObjectName(u'MonitorComboBox')
self.MonitorLayout.addWidget(self.MonitorDisplayCheck)
self.DisplayOnMonitorCheck = QtGui.QCheckBox(self.MonitorGroupBox)
self.DisplayOnMonitorCheck.setObjectName(u'MonitorComboBox')
self.MonitorLayout.addWidget(self.DisplayOnMonitorCheck)
self.GeneralLeftLayout.addWidget(self.MonitorGroupBox)
self.StartupGroupBox = QtGui.QGroupBox(self.GeneralLeftWidget)
self.StartupGroupBox.setObjectName(u'StartupGroupBox')
@ -150,8 +150,8 @@ class GeneralTab(SettingsTab):
self.GeneralLayout.addWidget(self.GeneralRightWidget)
QtCore.QObject.connect(self.MonitorComboBox,
QtCore.SIGNAL(u'activated(int)'), self.onMonitorComboBoxChanged)
QtCore.QObject.connect(self.MonitorDisplayCheck,
QtCore.SIGNAL(u'stateChanged(int)'), self.onMonitorDisplayCheckChanged)
QtCore.QObject.connect(self.DisplayOnMonitorCheck,
QtCore.SIGNAL(u'stateChanged(int)'), self.onDisplayOnMonitorCheckChanged)
QtCore.QObject.connect(self.WarningCheckBox,
QtCore.SIGNAL(u'stateChanged(int)'), self.onWarningCheckBoxChanged)
QtCore.QObject.connect(self.AutoOpenCheckBox,
@ -172,7 +172,7 @@ class GeneralTab(SettingsTab):
def retranslateUi(self):
self.MonitorGroupBox.setTitle(self.trUtf8('Monitors'))
self.MonitorLabel.setText(self.trUtf8('Select monitor for output display:'))
self.MonitorDisplayCheck.setText(self.trUtf8('Do not display if single screen'))
self.DisplayOnMonitorCheck.setText(self.trUtf8('Display if in single screen'))
self.StartupGroupBox.setTitle(self.trUtf8('Application Startup'))
self.WarningCheckBox.setText(self.trUtf8('Show blank screen warning'))
self.AutoOpenCheckBox.setText(self.trUtf8('Automatically open the last service'))
@ -188,8 +188,8 @@ class GeneralTab(SettingsTab):
def onMonitorComboBoxChanged(self):
self.MonitorNumber = self.MonitorComboBox.currentIndex()
def onMonitorDisplayCheckChanged(self, value):
self.MonitorDisplay = (value == QtCore.Qt.Checked)
def onDisplayOnMonitorCheckChanged(self, value):
self.DisplayOnMonitor = (value == QtCore.Qt.Checked)
def onAutoOpenCheckBoxChanged(self, value):
self.AutoOpen = (value == QtCore.Qt.Checked)
@ -233,7 +233,7 @@ class GeneralTab(SettingsTab):
self.SaveCheckServiceCheckBox.setChecked(self.PromptSaveService)
# Set a few things up
self.MonitorComboBox.setCurrentIndex(self.MonitorNumber)
self.MonitorDisplayCheck.setChecked(self.MonitorDisplay)
self.DisplayOnMonitorCheck.setChecked(self.DisplayOnMonitor)
self.WarningCheckBox.setChecked(self.Warning)
self.AutoOpenCheckBox.setChecked(self.AutoOpen)
self.ShowSplashCheckBox.setChecked(self.ShowSplash)
@ -244,7 +244,7 @@ class GeneralTab(SettingsTab):
def save(self):
self.config.set_config(u'monitor', self.MonitorNumber)
self.config.set_config(u'monitor display', self.MonitorDisplay)
self.config.set_config(u'display on monitor', self.DisplayOnMonitor)
self.config.set_config(u'blank warning', self.Warning)
self.config.set_config(u'auto open', self.AutoOpen)
self.config.set_config(u'show splash', self.ShowSplash)
@ -253,7 +253,7 @@ class GeneralTab(SettingsTab):
self.config.set_config(u'ccli number', self.CCLINumber)
self.config.set_config(u'songselect username', self.Username)
self.config.set_config(u'songselect password', self.Password)
self.screens.display = self.MonitorDisplay
self.screens.display = self.DisplayOnMonitor
#Monitor Number has changed.
if self.screens.monitor_number != self.MonitorNumber:
self.screens.monitor_number = self.MonitorNumber

View File

@ -248,7 +248,7 @@ class MainDisplay(DisplayWidget):
else:
self.display_text.setPixmap(QtGui.QPixmap.fromImage(frame))
self.display_frame = frame
if not self.isVisible() and not self.screens.display:
if not self.isVisible() and self.screens.display:
self.setVisible(True)
self.showFullScreen()
else:

View File

@ -33,7 +33,7 @@ log = logging.getLogger(__name__)
from PyQt4 import QtCore, QtGui
from openlp.core.lib import PluginConfig, OpenLPToolbar, ServiceItem, \
contextMenuAction, Receiver, str_to_bool, build_icon
contextMenuAction, Receiver, str_to_bool, build_icon, ItemCapabilities
from openlp.core.ui import ServiceNoteForm, ServiceItemEditForm
class ServiceManagerList(QtGui.QTreeWidget):
@ -233,9 +233,9 @@ class ServiceManager(QtGui.QWidget):
self.editAction.setVisible(False)
self.maintainAction.setVisible(False)
self.notesAction.setVisible(False)
if serviceItem[u'service_item'].getCapability(u'allows_edit'):
if serviceItem[u'service_item'].is_capable(ItemCapabilities.AllowsEdit):
self.editAction.setVisible(True)
if serviceItem[u'service_item'].getCapability(u'allows_maintain'):
if serviceItem[u'service_item'].is_capable(ItemCapabilities.AllowsMaintain):
self.maintainAction.setVisible(True)
if item.parent() is None:
self.notesAction.setVisible(True)
@ -713,7 +713,7 @@ class ServiceManager(QtGui.QWidget):
get_config(u'auto preview', u'False')):
item += 1
if self.serviceItems and item < len(self.serviceItems) and \
self.serviceItems[item][u'service_item'].getCapability(u'allows_preview'):
serviceItem[u'service_item'].is_capable(ItemCapabilities.AllowsPreview):
self.parent.PreviewController.addServiceManagerItem(
self.serviceItems[item][u'service_item'], 0)
@ -722,7 +722,7 @@ class ServiceManager(QtGui.QWidget):
Posts a remote edit message to a plugin to allow item to be edited.
"""
item, count = self.findServiceItem()
if self.serviceItems[item][u'service_item'].getCapability(u'allows_edit'):
if serviceItem[u'service_item'].is_capable(ItemCapabilities.AllowsEdit):
self.remoteEditTriggered = True
Receiver.send_message(u'%s_edit' %
self.serviceItems[item][u'service_item'].name, u'L:%s' %

View File

@ -375,8 +375,7 @@ class SlideController(QtGui.QWidget):
self.Toolbar.makeWidgetsInvisible(self.image_list)
if item.is_text():
self.Toolbar.makeWidgetsInvisible(self.image_list)
if item.is_song() and \
str_to_bool(self.songsconfig.get_config(u'show songbar', True)) \
if str_to_bool(self.songsconfig.get_config(u'show songbar', True)) \
and len(self.slideList) > 0:
self.Toolbar.makeWidgetsVisible([u'Song Menu'])
elif item.is_image():
@ -395,7 +394,8 @@ class SlideController(QtGui.QWidget):
self.Toolbar.setVisible(True)
self.Mediabar.setVisible(False)
self.Toolbar.makeWidgetsInvisible(self.song_edit_list)
if item.getCapability(u'allows_edit') and item.from_plugin:
if serviceItem[u'service_item'].is_capable(ItemCapabilities.AllowsEdit)\
and item.from_plugin:
self.Toolbar.makeWidgetsVisible(self.song_edit_list)
elif item.is_media():
self.Toolbar.setVisible(False)
@ -494,7 +494,8 @@ class SlideController(QtGui.QWidget):
bits = frame[u'verseTag'].split(u':')
tag = None
#If verse handle verse number else tag only
if bits[0] == self.trUtf8('Verse'):
if bits[0] == self.trUtf8('Verse') or \
bits[0] == self.trUtf8('Chorus'):
tag = u'%s%s' % (bits[0][0], bits[1][0:] )
row = bits[1][0:]
else:

View File

@ -29,7 +29,7 @@ import time
from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, Receiver, str_to_bool, \
BaseListWithDnD
BaseListWithDnD, ItemCapabilities
from openlp.plugins.bibles.forms import ImportWizardForm
log = logging.getLogger(__name__)
@ -449,7 +449,7 @@ class BibleMediaItem(MediaManagerItem):
raw_slides = []
raw_footer = []
bible_text = u''
service_item.updateCapability(u'allows_preview', True)
service_item.add_capability(ItemCapabilities.AllowsPreview)
#If we want to use a 2nd translation / version
bible2 = u''
if self.SearchTabWidget.currentIndex() == 0:

View File

@ -28,7 +28,7 @@ import logging
from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, SongXMLParser, BaseListWithDnD,\
Receiver, str_to_bool
Receiver, str_to_bool, ItemCapabilities
log = logging.getLogger(__name__)
@ -144,8 +144,8 @@ class CustomMediaItem(MediaManagerItem):
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
else:
item_id = self.remoteCustom
service_item.updateCapability(u'allows_preview', True)
service_item.updateCapability(u'allows_edit', True)
service_item.add_capability(ItemCapabilities.AllowsEdit)
service_item.add_capability(ItemCapabilities.AllowsPreview)
customSlide = self.parent.custommanager.get_custom(item_id)
title = customSlide.title
credit = customSlide.credits

View File

@ -28,7 +28,7 @@ import os
from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
contextMenuAction
contextMenuAction, ItemCapabilities
log = logging.getLogger(__name__)
@ -140,8 +140,8 @@ class ImageMediaItem(MediaManagerItem):
items = self.ListView.selectedIndexes()
if items:
service_item.title = self.trUtf8('Image(s)')
service_item.updateCapability(u'allows_preview', True)
service_item.updateCapability(u'allows_maintain', True)
service_item.add_capability(ItemCapabilities.AllowsMaintain)
service_item.add_capability(ItemCapabilities.AllowsPreview)
for item in items:
bitem = self.ListView.item(item.row())
filename = unicode((bitem.data(QtCore.Qt.UserRole)).toString())

View File

@ -28,7 +28,8 @@ import os
from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
ItemCapabilities
log = logging.getLogger(__name__)
@ -82,7 +83,7 @@ class MediaMediaItem(MediaManagerItem):
if len(items) > 1:
return False
service_item.title = unicode(self.trUtf8('Media'))
service_item.updateCapability(u'requires_media', True)
service_item.add_capability(ItemCapabilities.Requires_media)
for item in items:
bitem = self.ListView.item(item.row())
filename = unicode((bitem.data(QtCore.Qt.UserRole)).toString())

View File

@ -152,7 +152,6 @@ class PresentationMediaItem(MediaManagerItem):
service_item.title = unicode(self.DisplayTypeComboBox.currentText())
service_item.shortname = unicode(self.DisplayTypeComboBox.currentText())
shortname = service_item.shortname
for item in items:
bitem = self.ListView.item(item.row())
filename = unicode((bitem.data(QtCore.Qt.UserRole)).toString())

View File

@ -28,7 +28,7 @@ import logging
from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, SongXMLParser, \
BaseListWithDnD, Receiver, str_to_bool
BaseListWithDnD, Receiver, str_to_bool, ItemCapabilities
from openlp.plugins.songs.forms import EditSongForm, SongMaintenanceForm
log = logging.getLogger(__name__)
@ -290,8 +290,8 @@ class SongMediaItem(MediaManagerItem):
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
else:
item_id = self.remoteSong
service_item.updateCapability(u'allows_preview', True)
service_item.updateCapability(u'allows_edit', True)
service_item.add_capability(ItemCapabilities.AllowsEdit)
service_item.add_capability(ItemCapabilities.AllowsPreview)
song = self.parent.songmanager.get_song(item_id)
service_item.theme = song.theme_name
service_item.editId = item_id
@ -310,7 +310,8 @@ class SongMediaItem(MediaManagerItem):
break
for verse in verseList:
if verse[1]:
if verse[0][u'type'] == "Verse":
if verse[0][u'type'] == "Verse" \
or verse[0][u'type'] == "Chorus":
if verse[0][u'label'] == order[1:]:
verseTag = u'%s:%s' % \
(verse[0][u'type'], verse[0][u'label'])