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 xmlrootclass import XmlRootClass
from serviceitem import ServiceItem from serviceitem import ServiceItem
from serviceitem import ServiceItemType from serviceitem import ServiceItemType
from serviceitem import ServiceItem from serviceitem import ItemCapabilities
from toolbar import OpenLPToolbar from toolbar import OpenLPToolbar
from dockwidget import OpenLPDockWidget from dockwidget import OpenLPDockWidget
from songxmlhandler import SongXMLBuilder, SongXMLParser from songxmlhandler import SongXMLBuilder, SongXMLParser

View File

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

View File

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

View File

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

View File

@ -248,7 +248,7 @@ class MainDisplay(DisplayWidget):
else: else:
self.display_text.setPixmap(QtGui.QPixmap.fromImage(frame)) self.display_text.setPixmap(QtGui.QPixmap.fromImage(frame))
self.display_frame = 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.setVisible(True)
self.showFullScreen() self.showFullScreen()
else: else:

View File

@ -33,7 +33,7 @@ log = logging.getLogger(__name__)
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import PluginConfig, OpenLPToolbar, ServiceItem, \ 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 from openlp.core.ui import ServiceNoteForm, ServiceItemEditForm
class ServiceManagerList(QtGui.QTreeWidget): class ServiceManagerList(QtGui.QTreeWidget):
@ -233,9 +233,9 @@ class ServiceManager(QtGui.QWidget):
self.editAction.setVisible(False) self.editAction.setVisible(False)
self.maintainAction.setVisible(False) self.maintainAction.setVisible(False)
self.notesAction.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) 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) self.maintainAction.setVisible(True)
if item.parent() is None: if item.parent() is None:
self.notesAction.setVisible(True) self.notesAction.setVisible(True)
@ -713,7 +713,7 @@ class ServiceManager(QtGui.QWidget):
get_config(u'auto preview', u'False')): get_config(u'auto preview', u'False')):
item += 1 item += 1
if self.serviceItems and item < len(self.serviceItems) and \ 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.parent.PreviewController.addServiceManagerItem(
self.serviceItems[item][u'service_item'], 0) 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. Posts a remote edit message to a plugin to allow item to be edited.
""" """
item, count = self.findServiceItem() 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 self.remoteEditTriggered = True
Receiver.send_message(u'%s_edit' % Receiver.send_message(u'%s_edit' %
self.serviceItems[item][u'service_item'].name, u'L:%s' % 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) self.Toolbar.makeWidgetsInvisible(self.image_list)
if item.is_text(): if item.is_text():
self.Toolbar.makeWidgetsInvisible(self.image_list) self.Toolbar.makeWidgetsInvisible(self.image_list)
if item.is_song() and \ if str_to_bool(self.songsconfig.get_config(u'show songbar', True)) \
str_to_bool(self.songsconfig.get_config(u'show songbar', True)) \
and len(self.slideList) > 0: and len(self.slideList) > 0:
self.Toolbar.makeWidgetsVisible([u'Song Menu']) self.Toolbar.makeWidgetsVisible([u'Song Menu'])
elif item.is_image(): elif item.is_image():
@ -395,7 +394,8 @@ class SlideController(QtGui.QWidget):
self.Toolbar.setVisible(True) self.Toolbar.setVisible(True)
self.Mediabar.setVisible(False) self.Mediabar.setVisible(False)
self.Toolbar.makeWidgetsInvisible(self.song_edit_list) 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) self.Toolbar.makeWidgetsVisible(self.song_edit_list)
elif item.is_media(): elif item.is_media():
self.Toolbar.setVisible(False) self.Toolbar.setVisible(False)
@ -494,7 +494,8 @@ class SlideController(QtGui.QWidget):
bits = frame[u'verseTag'].split(u':') bits = frame[u'verseTag'].split(u':')
tag = None tag = None
#If verse handle verse number else tag only #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:] ) tag = u'%s%s' % (bits[0][0], bits[1][0:] )
row = bits[1][0:] row = bits[1][0:]
else: else:

View File

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

View File

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

View File

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

View File

@ -28,7 +28,8 @@ import os
from PyQt4 import QtCore, QtGui 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__) log = logging.getLogger(__name__)
@ -82,7 +83,7 @@ class MediaMediaItem(MediaManagerItem):
if len(items) > 1: if len(items) > 1:
return False return False
service_item.title = unicode(self.trUtf8('Media')) 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: for item in items:
bitem = self.ListView.item(item.row()) bitem = self.ListView.item(item.row())
filename = unicode((bitem.data(QtCore.Qt.UserRole)).toString()) 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.title = unicode(self.DisplayTypeComboBox.currentText())
service_item.shortname = unicode(self.DisplayTypeComboBox.currentText()) service_item.shortname = unicode(self.DisplayTypeComboBox.currentText())
shortname = service_item.shortname shortname = service_item.shortname
for item in items: for item in items:
bitem = self.ListView.item(item.row()) bitem = self.ListView.item(item.row())
filename = unicode((bitem.data(QtCore.Qt.UserRole)).toString()) filename = unicode((bitem.data(QtCore.Qt.UserRole)).toString())

View File

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