forked from openlp/openlp
More servicing changes (Preview and Live) behave and can be selected.
Setup Slidecontroller so it has an identity Setup SlideController so it knows anout the display Fix maindisplay view bugs
This commit is contained in:
parent
183a7e54c7
commit
e5ba8b73a6
@ -45,14 +45,14 @@ class MainDisplay(QtGui.QWidget):
|
||||
screen = scrn
|
||||
break
|
||||
self.setGeometry(screen['size'])
|
||||
self.display.setGeometry(screen['size'])
|
||||
if not screen['primary']:
|
||||
self.showFullScreen()
|
||||
else:
|
||||
self.hide()
|
||||
self.showMinimized()
|
||||
|
||||
def frameView(self, frame):
|
||||
self.display.setGeometry(0, 0, imagesize.width(), imagesize.height())
|
||||
self.display.setPixmap(QtGui.QPixmap(frame))
|
||||
self.display.setPixmap(frame)
|
||||
|
||||
def kill(self):
|
||||
pass
|
||||
|
@ -95,6 +95,12 @@ class MainWindow(object):
|
||||
self.ThemeManagerContents.serviceManager = self.ServiceManagerContents
|
||||
self.ThemeManagerContents.loadThemes()
|
||||
|
||||
# Initialise SlideControllers
|
||||
log.info(u'Set Up SlideControllers')
|
||||
self.PreviewController.isLive = False
|
||||
self.LiveController.isLive = True
|
||||
self.LiveController.mainDisplay = self.main_display
|
||||
|
||||
def setupUi(self):
|
||||
self.main_window.setObjectName(u'main_window')
|
||||
self.main_window.resize(1087, 847)
|
||||
|
@ -43,14 +43,18 @@ class SlideData(QAbstractListModel):
|
||||
def clearItems(self):
|
||||
self.items=[]
|
||||
|
||||
def columnCount(self, parent):
|
||||
return 1
|
||||
|
||||
def rowCount(self, parent):
|
||||
return len(self.items)
|
||||
|
||||
def insertRow(self, row, frame, text):
|
||||
def insertRow(self, row, frame):
|
||||
self.beginInsertRows(QModelIndex(),row,row)
|
||||
log.info(u'insert row %d' % row)
|
||||
# create a preview image
|
||||
self.items.insert(row,(frame, text))
|
||||
frame1 = frame.scaled(QtCore.QSize(350,260))
|
||||
self.items.insert(row,(frame1))
|
||||
log.info(u'Items: %s' % self.items)
|
||||
self.endInsertRows()
|
||||
|
||||
@ -59,17 +63,17 @@ class SlideData(QAbstractListModel):
|
||||
self.items.pop(row)
|
||||
self.endRemoveRows()
|
||||
|
||||
def addRow(self, frame, text):
|
||||
self.insertRow(len(self.items), frame, text)
|
||||
def addRow(self, frame):
|
||||
self.insertRow(len(self.items), frame)
|
||||
|
||||
def data(self, index, role):
|
||||
row=index.row()
|
||||
if row > len(self.items): # if the last row is selected and deleted, we then get called with an empty row!
|
||||
return QVariant()
|
||||
if role==Qt.DisplayRole:
|
||||
retval= self.items[row][1]
|
||||
elif role == Qt.DecorationRole:
|
||||
retval= self.items[row][0]
|
||||
# if role==Qt.DisplayRole:
|
||||
# retval= self.items[row][1]
|
||||
if role == Qt.DecorationRole:
|
||||
retval= self.items[row]#[0]
|
||||
else:
|
||||
retval= QVariant()
|
||||
# log.info("Returning"+ str(retval))
|
||||
@ -110,25 +114,16 @@ class SlideController(QtGui.QWidget):
|
||||
self.PaneLayout.setSpacing(50)
|
||||
self.PaneLayout.setMargin(0)
|
||||
|
||||
#self.VerseListView = QtGui.QListWidget(customEditDialog)
|
||||
#self.VerseListView.setObjectName("VerseListView")
|
||||
#self.horizontalLayout_4.addWidget(self.VerseListView)
|
||||
|
||||
self.Controller = QtGui.QScrollArea(self.Splitter)
|
||||
self.Controller.setWidgetResizable(True)
|
||||
|
||||
#self.ControllerContents = QtGui.QWidget(self.Controller)
|
||||
#self.ControllerContents.setGeometry(QtCore.QRect(0, 0, 228, 536))
|
||||
|
||||
self.CustomListView = QtGui.QListView(self.Splitter)
|
||||
self.CustomListView.setAlternatingRowColors(True)
|
||||
self.CustomListData = SlideData()
|
||||
self.CustomListView.setModel(self.CustomListData)
|
||||
self.PreviewListView = QtGui.QListView(self.Splitter)
|
||||
self.PreviewListView.setAlternatingRowColors(True)
|
||||
self.PreviewListData = SlideData()
|
||||
self.PreviewListView.setModel(self.PreviewListData)
|
||||
self.Controller.setGeometry(QtCore.QRect(0, 0, 828, 536))
|
||||
#self.Controller.setWidget(self.ControllerContents)
|
||||
|
||||
|
||||
self.Controller.setWidget(self.CustomListView)
|
||||
self.Controller.setWidget(self.PreviewListView)
|
||||
|
||||
self.SlidePreview = QtGui.QLabel(self.Splitter)
|
||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
|
||||
@ -143,20 +138,25 @@ class SlideController(QtGui.QWidget):
|
||||
self.SlidePreview.setScaledContents(True)
|
||||
self.SlidePreview.setObjectName("SlidePreview")
|
||||
|
||||
def previewFrame(self, frame):
|
||||
#self.SlidePreview.setPixmap(frame)
|
||||
QtCore.QObject.connect(self.PreviewListView,
|
||||
QtCore.SIGNAL("clicked(QModelIndex)"), self.onSlideSelected)
|
||||
|
||||
# imageLabel = QtGui.QLabel()
|
||||
#imageLabel.setPixmap(frame)
|
||||
# self.Controller.setWidget(imageLabel)
|
||||
pass
|
||||
|
||||
def onSlideSelected(self, index):
|
||||
frame = self.PreviewListData.getValue(index)
|
||||
self.previewFrame(frame)
|
||||
|
||||
def previewFrame(self, frame):
|
||||
self.SlidePreview.setPixmap(frame)
|
||||
if self.isLive:
|
||||
self.mainDisplay.frameView(frame)
|
||||
|
||||
def addServiceItem(self, serviceitem):
|
||||
self.serviceitem = serviceitem
|
||||
self.serviceitem.render()
|
||||
self.CustomListData.clearItems()
|
||||
self.PreviewListData.clearItems()
|
||||
for frame in self.serviceitem.frames:
|
||||
self.CustomListData.addRow(frame, u'some text')
|
||||
self.PreviewListData.addRow(frame)
|
||||
|
||||
def render(self):
|
||||
pass
|
||||
|
Loading…
Reference in New Issue
Block a user