From e95eb437e240327a16039238de705aacae6b07c2 Mon Sep 17 00:00:00 2001 From: Raoul Snyman Date: Sun, 25 Oct 2009 23:33:07 +0200 Subject: [PATCH] Removed the QLabels from text service items. It's nigh impossible to dynamically style QLabels in QTableWdigetItems. --- openlp/core/ui/slidecontroller.py | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 4f7163ba0..b45a47c46 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -28,14 +28,6 @@ import time from PyQt4 import QtCore, QtGui from openlp.core.lib import OpenLPToolbar, translate, Receiver, ServiceType -label_stylesheet = u""" -QTableWidget::item:selected -{ - background-color: %s; -} -""" - - class SlideList(QtGui.QTableWidget): """ Customised version of QTableWidget which can respond to keyboard @@ -44,12 +36,6 @@ class SlideList(QtGui.QTableWidget): def __init__(self, parent=None, name=None): QtGui.QTableWidget.__init__(self, parent.Controller) self.parent = parent - text_color = QtGui.QApplication.palette().color(QtGui.QPalette.Base) - if text_color.value() > 128: - text_color = text_color.darker(120).name() - else: - text_color = text_color.lighter(120).name() - self.setStyleSheet(label_stylesheet % text_color) def keyPressEvent(self, event): if type(event) == QtGui.QKeyEvent: @@ -316,22 +302,24 @@ class SlideController(QtGui.QWidget): self.PreviewListWidget.setRowCount( self.PreviewListWidget.rowCount() + 1) item = QtGui.QTableWidgetItem() - label = QtGui.QLabel() - label.setMargin(4) + slide_height = 0 #It is a Image if frame[u'text'] is None: + label = QtGui.QLabel() + label.setMargin(4) pixmap = self.parent.RenderManager.resize_image(frame[u'image']) label.setScaledContents(True) label.setPixmap(QtGui.QPixmap.fromImage(pixmap)) + self.PreviewListWidget.setCellWidget(framenumber, 0, label) slide_height = self.settingsmanager.slidecontroller_image * \ self.parent.RenderManager.screen_ratio else: - label.setText(frame[u'text']) - label.setAlignment(QtCore.Qt.AlignHCenter) - slide_height = label.sizeHint().height() - self.PreviewListWidget.setCellWidget(framenumber, 0, label) + item.setText(frame[u'text']) self.PreviewListWidget.setItem(framenumber, 0, item) - self.PreviewListWidget.setRowHeight(framenumber, slide_height) + if slide_height != 0: + self.PreviewListWidget.setRowHeight(framenumber, slide_height) + if self.serviceitem.frames[0][u'text'] is not None: + self.PreviewListWidget.resizeRowsToContents() self.PreviewListWidget.setColumnWidth( 0, self.PreviewListWidget.viewport().size().width()) if slideno > self.PreviewListWidget.rowCount():