Merged assert fixes.

bzr-revno: 479
This commit is contained in:
Raoul Snyman 2009-06-26 18:24:55 +02:00
commit adc9e38c53
3 changed files with 29 additions and 16 deletions

View File

@ -20,14 +20,20 @@ Place, Suite 330, Boston, MA 02111-1307 USA
import types import types
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib.toolbar import * from openlp.core.lib.toolbar import *
from openlp.core.lib import translate from openlp.core.lib import translate
class BaseListWithDnD(QtGui.QListView): class BaseListWithDnD(QtGui.QListView):
"""
Please put a short description of what this class does in here.
"""
def __init__(self,parent = None): def __init__(self,parent = None):
QtGui.QListView.__init__(self,parent) QtGui.QListView.__init__(self,parent)
assert (self.PluginName) # this must be set by the class which is inheriting # this must be set by the class which is inheriting
assert(self.PluginName)
def mouseMoveEvent(self, event): def mouseMoveEvent(self, event):
""" """
Drag and drop event does not care what data is selected Drag and drop event does not care what data is selected
@ -44,4 +50,3 @@ class BaseListWithDnD(QtGui.QListView):
if dropAction == QtCore.Qt.CopyAction: if dropAction == QtCore.Qt.CopyAction:
self.close() self.close()

View File

@ -20,10 +20,12 @@ Place, Suite 330, Boston, MA 02111-1307 USA
import types import types
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib.toolbar import * from openlp.core.lib.toolbar import *
from openlp.core.lib import translate from openlp.core.lib import translate
from listwithpreviews import ListWithPreviews from listwithpreviews import ListWithPreviews
from serviceitem import ServiceItem from serviceitem import ServiceItem
class MediaManagerItem(QtGui.QWidget): class MediaManagerItem(QtGui.QWidget):
""" """
MediaManagerItem is a helper widget for plugins. MediaManagerItem is a helper widget for plugins.
@ -106,7 +108,7 @@ class MediaManagerItem(QtGui.QWidget):
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered()'), slot) QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered()'), slot)
return action return action
#################################################################################################### ###########################################################################
### None of the following *need* to be used, feel free to override ### None of the following *need* to be used, feel free to override
### them cmopletely in your plugin's implementation. Alternatively, call them from your ### them cmopletely in your plugin's implementation. Alternatively, call them from your
### plugin before or after you've done etra things that you need to. ### plugin before or after you've done etra things that you need to.
@ -126,12 +128,12 @@ class MediaManagerItem(QtGui.QWidget):
# "text with an icon" then all this will help # "text with an icon" then all this will help
# even for plugins of another sort, the setup of the right-click menu, common toolbar # even for plugins of another sort, the setup of the right-click menu, common toolbar
# will help to keep things consistent and ease the creation of new plugins # will help to keep things consistent and ease the creation of new plugins
# also a set of completely consistent action anesm then exist # also a set of completely consistent action anesm then exist
# (onPreviewClick() is always called that, rather than having the # (onPreviewClick() is always called that, rather than having the
# name of the plugin added in as well... I regard that as a # name of the plugin added in as well... I regard that as a
# feature, I guess others might differ!) # feature, I guess others might differ!)
def setupUi(self): def setupUi(self):
# Add a toolbar # Add a toolbar
self.addToolbar() self.addToolbar()
@ -219,7 +221,7 @@ class MediaManagerItem(QtGui.QWidget):
self.parent.config.set_list(self.ConfigSection, self.ListData.getFileList()) self.parent.config.set_list(self.ConfigSection, self.ListData.getFileList())
def generateSlideData(self): def generateSlideData(self):
assert (0, 'This fn needs to be defined by the plugin'); raise NotImplementedError(u'MediaManagerItem.generateSlideData needs to be defined by the plugin')
def onPreviewClick(self): def onPreviewClick(self):
log.debug(self.PluginTextShort+u'Preview Requested') log.debug(self.PluginTextShort+u'Preview Requested')

View File

@ -129,14 +129,12 @@ class Renderer:
""" """
Render a set of lines according to the theme, return bounding box Render a set of lines according to the theme, return bounding box
""" """
#print "########## Generate frame from lines ##################"
log.debug(u'generate_frame_from_lines - Start') log.debug(u'generate_frame_from_lines - Start')
#print "Render Lines ", lines #print "Render Lines ", lines
bbox = self._render_lines_unaligned(lines, False) bbox = self._render_lines_unaligned(lines, False)
if footer_lines is not None: if footer_lines is not None:
bbox1 = self._render_lines_unaligned(footer_lines, True) bbox1 = self._render_lines_unaligned(footer_lines, True)
# reset the frame. first time do not worry about what you paint on. # reset the frame. first time do not worry about what you paint on.
# reset the frame. first time do not worry about what you paint on.
self._frame = QtGui.QImage(self._bg_frame) self._frame = QtGui.QImage(self._bg_frame)
x, y = self._correctAlignment(self._rect, bbox) x, y = self._correctAlignment(self._rect, bbox)
bbox = self._render_lines_unaligned(lines, False, (x, y), True) bbox = self._render_lines_unaligned(lines, False, (x, y), True)
@ -158,18 +156,22 @@ class Renderer:
painter.begin(self._bg_frame) painter.begin(self._bg_frame)
if self._theme.background_type == u'solid': if self._theme.background_type == u'solid':
painter.fillRect(self._frame.rect(), QtGui.QColor(self._theme.background_color)) painter.fillRect(self._frame.rect(), QtGui.QColor(self._theme.background_color))
elif self._theme.background_type == u'gradient' : # gradient elif self._theme.background_type == u'gradient':
# gradient
gradient = None gradient = None
if self._theme.background_direction == u'horizontal': if self._theme.background_direction == u'horizontal':
w = int(self._frame.width()) / 2 w = int(self._frame.width()) / 2
gradient = QtGui.QLinearGradient(w, 0, w, self._frame.height()) # vertical # vertical
gradient = QtGui.QLinearGradient(w, 0, w, self._frame.height())
elif self._theme.background_direction == u'vertical': elif self._theme.background_direction == u'vertical':
h = int(self._frame.height()) / 2 h = int(self._frame.height()) / 2
gradient = QtGui.QLinearGradient(0, h, self._frame.width(), h) # Horizontal # Horizontal
gradient = QtGui.QLinearGradient(0, h, self._frame.width(), h)
else: else:
w = int(self._frame.width()) / 2 w = int(self._frame.width()) / 2
h = int(self._frame.height()) / 2 h = int(self._frame.height()) / 2
gradient = QtGui.QRadialGradient(w, h, w) # Circular # Circular
gradient = QtGui.QRadialGradient(w, h, w)
gradient.setColorAt(0, QtGui.QColor(self._theme.background_startColor)) gradient.setColorAt(0, QtGui.QColor(self._theme.background_startColor))
gradient.setColorAt(1, QtGui.QColor(self._theme.background_endColor)) gradient.setColorAt(1, QtGui.QColor(self._theme.background_endColor))
painter.setBrush(QtGui.QBrush(gradient)) painter.setBrush(QtGui.QBrush(gradient))
@ -182,7 +184,8 @@ class Renderer:
rectPath.lineTo(max_x, 0) rectPath.lineTo(max_x, 0)
rectPath.closeSubpath() rectPath.closeSubpath()
painter.drawPath(rectPath) painter.drawPath(rectPath)
elif self._theme.background_type== u'image': # image elif self._theme.background_type== u'image':
# image
painter.fillRect(self._frame.rect(), QtCore.Qt.black) painter.fillRect(self._frame.rect(), QtCore.Qt.black)
if self.bg_image is not None: if self.bg_image is not None:
painter.drawImage(0 ,0 , self.bg_image) painter.drawImage(0 ,0 , self.bg_image)
@ -252,11 +255,14 @@ class Renderer:
def _correctAlignment(self, rect, bbox): def _correctAlignment(self, rect, bbox):
x = rect.left() x = rect.left()
if int(self._theme.display_verticalAlign) == 0: # top align if int(self._theme.display_verticalAlign) == 0:
# top align
y = rect.top() y = rect.top()
elif int(self._theme.display_verticalAlign) == 2: # bottom align elif int(self._theme.display_verticalAlign) == 2:
# bottom align
y = rect.bottom() - bbox.height() y = rect.bottom() - bbox.height()
elif int(self._theme.display_verticalAlign) == 1: # centre align elif int(self._theme.display_verticalAlign) == 1:
# centre align
y = rect.top() + (rect.height() - bbox.height()) / 2 y = rect.top() + (rect.height() - bbox.height()) / 2
else: else:
log.error(u'Invalid value for theme.VerticalAlign:%s' % self._theme.display_verticalAlign) log.error(u'Invalid value for theme.VerticalAlign:%s' % self._theme.display_verticalAlign)