text resizes correctly when resizing the slidecontrollers, clean ups

This commit is contained in:
Andreas Preikschat 2011-01-12 20:54:02 +01:00
commit 43521fb506
3 changed files with 22 additions and 14 deletions

View File

@ -266,7 +266,7 @@ class MediaManagerItem(QtGui.QWidget):
"""
Creates the main widget for listing items the media item is tracking
"""
#Add the List widget
# Add the List widget
self.listView = self.ListViewWithDnD_class(self)
self.listView.uniformItemSizes = True
self.listView.setSpacing(1)
@ -275,9 +275,9 @@ class MediaManagerItem(QtGui.QWidget):
self.listView.setAlternatingRowColors(True)
self.listView.setDragEnabled(True)
self.listView.setObjectName(u'%sListView' % self.plugin.name)
#Add to pageLayout
# Add to pageLayout
self.pageLayout.addWidget(self.listView)
#define and add the context menu
# define and add the context menu
self.listView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
name_string = self.plugin.getString(StringContent.Name)
if self.hasEditIcon:
@ -314,7 +314,7 @@ class MediaManagerItem(QtGui.QWidget):
context_menu_action(
self.listView, u':/general/general_add.png',
translate('OpenLP.MediaManagerItem',
'&Add to selected Service Item'),
'&Add to selected Service Item'),
self.onAddEditClick))
QtCore.QObject.connect(self.listView,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'),
@ -441,7 +441,7 @@ class MediaManagerItem(QtGui.QWidget):
QtGui.QMessageBox.information(self,
translate('OpenLP.MediaManagerItem', 'No Items Selected'),
translate('OpenLP.MediaManagerItem',
'You must select one or more items to preview.'))
'You must select one or more items to preview.'))
else:
log.debug(u'%s Preview requested', self.plugin.name)
serviceItem = self.buildServiceItem()

View File

@ -60,6 +60,7 @@ class ItemCapabilities(object):
AddIfNewItem = 9
ProvidesOwnDisplay = 10
class ServiceItem(object):
"""
The service item is a base class for the plugins to use to interact with

View File

@ -399,7 +399,8 @@ class SlideController(QtGui.QWidget):
def previewSizeChanged(self):
"""
Takes care of the SlidePreview's size. Is called when one of the the
splitters is moved or when the screen size is changed.
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()):
@ -412,13 +413,19 @@ class SlideController(QtGui.QWidget):
max_width = self.PreviewFrame.width() - self.grid.margin() * 2
self.SlidePreview.setFixedSize(QtCore.QSize(max_width,
max_width / self.ratio))
width = self.parent.ControlSplitter.sizes()[self.split]
self.PreviewListWidget.setColumnWidth(0, width)
# Sort out image heights (Songs, bibles excluded)
if self.serviceItem and not self.serviceItem.is_text():
for framenumber in range(len(self.serviceItem.get_frames())):
self.PreviewListWidget.setRowHeight(
framenumber, width / self.ratio)
# Make sure that the frames have the correct size.
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()
else:
# Sort out image heights.
width = self.parent.ControlSplitter.sizes()[self.split]
for framenumber in range(len(self.serviceItem.get_frames())):
self.PreviewListWidget.setRowHeight(
framenumber, width / self.ratio)
def onSongBarHandler(self):
request = unicode(self.sender().text())
@ -590,7 +597,7 @@ class SlideController(QtGui.QWidget):
self.parent.renderManager.height)
else:
image = self.parent.renderManager.image_manager. \
get_image(frame[u'title'])
get_image(frame[u'title'])
label.setPixmap(QtGui.QPixmap.fromImage(image))
self.PreviewListWidget.setCellWidget(framenumber, 0, label)
slideHeight = width * self.parent.renderManager.screen_ratio