From d0a49ba3a1691f66c8b2ce5682f66a3bcb774357 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 28 Nov 2009 12:38:48 +0000 Subject: [PATCH] Song taagging into Slide Controller --- openlp/core/lib/serviceitem.py | 7 ++++--- openlp/core/ui/maindisplay.py | 2 +- openlp/core/ui/slidecontroller.py | 2 ++ openlp/plugins/songs/lib/mediaitem.py | 3 ++- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 27e16e95f..41b450490 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -104,7 +104,8 @@ class ServiceItem(object): for line in format: lines += line + u'\n' title = lines.split(u'\n')[0] - self._display_frames.append({u'title': title, u'text': lines}) + self._display_frames.append({u'title': title, \ + u'text': lines, u'verseTag': slide[u'verseTag'] }) log.log(15, u'Formatting took %4s' % (time.time() - before)) elif self.service_item_type == ServiceItemType.Image: for slide in self._raw_frames: @@ -147,7 +148,7 @@ class ServiceItem(object): self._raw_frames.append( {u'title': title, u'image': image}) - def add_from_text(self, title, raw_slide): + def add_from_text(self, title, raw_slide, verseTag=None): """ Add a text slide to the service item. @@ -160,7 +161,7 @@ class ServiceItem(object): self.service_item_type = ServiceItemType.Text title = title.split(u'\n')[0] self._raw_frames.append( - {u'title': title, u'raw_slide': raw_slide}) + {u'title': title, u'raw_slide': raw_slide, u'verseTag':verseTag}) def add_from_command(self, path, file_name, image): """ diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 20574ab2e..b7f5f31b6 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -198,7 +198,7 @@ class MainDisplay(DisplayWidget): elif not self.displayBlank: if transition: if self.hasTransition: - delay = 0.1 + delay = 0.01 self.display.setPixmap(QtGui.QPixmap.fromImage(self.frame[u'trans'])) self.repaint() time.sleep(delay) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 3cd440c5b..89b7930f7 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -456,6 +456,8 @@ class SlideController(QtGui.QWidget): self.PreviewListWidget.setCellWidget(framenumber, 0, label) slide_height = width * self.parent.RenderManager.screen_ratio else: + variant = u'%s:%s' % (verse[0][u'type'], verse[0][u'label']) + item.setData(QtCore.Qt.UserRole, QtCore.QVariant(frame[u'text'])) item.setText(frame[u'text']) self.PreviewListWidget.setItem(framenumber, 0, item) if slide_height != 0: diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 000f752af..4c2198d4b 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -295,7 +295,8 @@ class SongMediaItem(MediaManagerItem): verseList = songXML.get_verses() for verse in verseList: if verse[1]: - service_item.add_from_text(verse[1][:30], verse[1]) + verseTag = u'%s:%s' % (verse[0][u'type'], verse[0][u'label']) + service_item.add_from_text(verse[1][:30], verse[1], verseTag) else: verses = song.lyrics.split(u'\n\n') for slide in verses: