Merge lp:~trb143/openlp/servicing into lp:openlp

Proposed by Tim Bentley
Status: Merged
Merged at revision: not available
Proposed branch: lp:~trb143/openlp/servicing
Merge into: lp:openlp
Diff against target: None lines
To merge this branch: bzr merge lp:~trb143/openlp/servicing
Reviewer Review Type Date Requested Status
Raoul Snyman Approve
Review via email: mp+7119@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Tim Bentley (trb143) wrote :

Fix up serviceitem interface

Revision history for this message
Raoul Snyman (raoul-snyman) wrote :

Looks good.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'openlp/core/lib/serviceitem.py'
--- openlp/core/lib/serviceitem.py 2009-06-04 16:14:10 +0000
+++ openlp/core/lib/serviceitem.py 2009-06-05 19:00:57 +0000
@@ -48,6 +48,7 @@
48 self.raw_footer = None48 self.raw_footer = None
49 self.theme = None49 self.theme = None
50 log.debug(u'Service item created for %s ', self.shortname)50 log.debug(u'Service item created for %s ', self.shortname)
51 self.service_frames = []
5152
52 def addIcon(self, icon):53 def addIcon(self, icon):
53 self.iconic_representation = buildIcon(icon)54 self.iconic_representation = buildIcon(icon)
@@ -62,23 +63,35 @@
62 else:63 else:
63 self.plugin.render_manager.set_override_theme(self.theme)64 self.plugin.render_manager.set_override_theme(self.theme)
64 log.debug(u'Formatting slides')65 log.debug(u'Formatting slides')
65 if len(self.frames) == 0 and len(self.raw_slides) > 0 :66 if self.service_item_type == u'text':
66 for slide in self.raw_slides:67 for slide in self.service_frames:
67 formated = self.plugin.render_manager.format_slide(slide)68 formated = self.plugin.render_manager.format_slide(slide[u'raw_slide'])
68 for format in formated:69 for format in formated:
69 frame = self.plugin.render_manager.generate_slide(format, self.raw_footer)70 frame = self.plugin.render_manager.generate_slide(format, self.raw_footer)
70 self.frames.append({u'title': format, u'image': frame})71 self.frames.append({u'title': slide[u'title'], u'image': frame})
72 elif self.service_item_type == u'command':
73 self.frames = self.service_frames
74 self.service_frames = []
75 elif self.service_item_type == u'image':
76 self.frames = self.service_frames
77 self.service_frames = []
71 else:78 else:
72 if len(self.command_files) > 0:79 assert(0 , u'Invalid value rendere :%s' % self.service_item_type)
73 pass80
7481 def add_from_image(self, frame_title, image):
7582 self.service_item_type = u'image'
76 def get_parent_node(self):83 self.service_frames.append({u'title': frame_title, u'image': image})
77 """84
78 This method returns a parent node to be inserted into the Service85 def add_from_text(self, frame_title, raw_slide):
79 Manager. At the moment this has to be a QAbstractListModel based class86 self.service_item_type = u'text'
80 """87 frame_title = frame_title.split(u'\n')[0]
81 pass88 self.service_frames.append({u'title': frame_title, u'raw_slide': raw_slide})
89
90 def add_from_command(self, frame_title, command):
91 self.service_item_type = u'command'
92 self.service_frames.append({u'title': frame_title, u'command': command})
93
94
8295
83 def get_oos_repr(self):96 def get_oos_repr(self):
84 """97 """
8598
=== modified file 'openlp/core/ui/servicemanager.py'
--- openlp/core/ui/servicemanager.py 2009-06-04 16:14:10 +0000
+++ openlp/core/ui/servicemanager.py 2009-06-05 19:00:57 +0000
@@ -140,8 +140,8 @@
140 count = 0140 count = 0
141 for frame in item.frames:141 for frame in item.frames:
142 treewidgetitem1 = QtGui.QTreeWidgetItem(treewidgetitem)142 treewidgetitem1 = QtGui.QTreeWidgetItem(treewidgetitem)
143 text = frame[u'title'][0]143 text = frame[u'title']
144 treewidgetitem1.setText(0,text[:30])144 treewidgetitem1.setText(0,text[:40])
145 treewidgetitem1.setData(0, QtCore.Qt.UserRole,QtCore.QVariant(count))145 treewidgetitem1.setData(0, QtCore.Qt.UserRole,QtCore.QVariant(count))
146 count = count + 1146 count = count + 1
147147
148148
=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py 2009-06-04 19:00:41 +0000
+++ openlp/core/ui/slidecontroller.py 2009-06-05 19:00:57 +0000
@@ -291,7 +291,7 @@
291 """291 """
292 Loads a ServiceItem.292 Loads a ServiceItem.
293 """293 """
294 log.debug(u'addServiceItem')294 log.debug(u'add Service Item')
295 self.serviceitem = serviceitem295 self.serviceitem = serviceitem
296 self.serviceitem.render()296 self.serviceitem.render()
297 self.PreviewListData.clear()297 self.PreviewListData.clear()
@@ -309,7 +309,13 @@
309 """309 """
310 Loads a ServiceManagerItem.310 Loads a ServiceManagerItem.
311 """311 """
312 self.addServiceItem(serviceitem)312 log.debug(u'add Service Manager Item')
313 self.PreviewListData.clear()
314 self.serviceitem = serviceitem
315 framenumber = 0
316 for frame in self.serviceitem.frames:
317 self.PreviewListData.addRow(frame[u'image'], framenumber)
318 framenumber += 1
313 row = self.PreviewListData.createIndex(slideno, 0)319 row = self.PreviewListData.createIndex(slideno, 0)
314 if row.isValid():320 if row.isValid():
315 self.PreviewListView.selectionModel().setCurrentIndex(row,321 self.PreviewListView.selectionModel().setCurrentIndex(row,
316322
=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py 2009-06-05 05:00:26 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py 2009-06-05 19:00:57 +0000
@@ -397,7 +397,8 @@
397 else:397 else:
398 service_item.theme = self.parent.bibles_tab.bible_theme398 service_item.theme = self.parent.bibles_tab.bible_theme
399 raw_slides.append(bible_text)399 raw_slides.append(bible_text)
400 service_item.raw_slides = raw_slides400 for slide in raw_slides:
401 service_item.add_from_text(slide[:30], slide)
401 service_item.raw_footer = raw_footer402 service_item.raw_footer = raw_footer
402403
403 def formatVerse(self, old_chapter, chapter, verse, opening, closing):404 def formatVerse(self, old_chapter, chapter, verse, opening, closing):
404405
=== modified file 'openlp/plugins/custom/lib/mediaitem.py'
--- openlp/plugins/custom/lib/mediaitem.py 2009-06-03 15:38:14 +0000
+++ openlp/plugins/custom/lib/mediaitem.py 2009-06-05 19:00:57 +0000
@@ -248,5 +248,6 @@
248 raw_footer.append(title + u' '+ credit)248 raw_footer.append(title + u' '+ credit)
249 if theme is not None:249 if theme is not None:
250 service_item.title = title250 service_item.title = title
251 service_item.raw_slides = raw_slides251 for slide in raw_slides:
252 service_item.add_from_text(slide[:30], slide)
252 service_item.raw_footer = raw_footer253 service_item.raw_footer = raw_footer
253254
=== modified file 'openlp/plugins/images/lib/mediaitem.py'
--- openlp/plugins/images/lib/mediaitem.py 2009-06-01 17:50:37 +0000
+++ openlp/plugins/images/lib/mediaitem.py 2009-06-05 19:00:57 +0000
@@ -150,10 +150,12 @@
150150
151 def generateSlideData(self, service_item):151 def generateSlideData(self, service_item):
152 indexes = self.ImageListView.selectedIndexes()152 indexes = self.ImageListView.selectedIndexes()
153 service_item.title = u'Images'
153 for index in indexes:154 for index in indexes:
154 filename = self.ImageListData.getFilename(index)155 filename = self.ImageListData.getFilename(index)
155 frame = QtGui.QPixmap(str(filename))156 frame = QtGui.QPixmap(str(filename))
156 service_item.frames.append({u'title': filename , u'image': frame})157 (path, name) =os.path.split(filename)
158 service_item.add_from_image(name, frame)
157159
158 def onImagePreviewClick(self):160 def onImagePreviewClick(self):
159 log.debug(u'Image Preview Requested')161 log.debug(u'Image Preview Requested')
160162
=== modified file 'openlp/plugins/songs/lib/mediaitem.py'
--- openlp/plugins/songs/lib/mediaitem.py 2009-06-03 16:14:56 +0000
+++ openlp/plugins/songs/lib/mediaitem.py 2009-06-05 19:00:57 +0000
@@ -168,7 +168,7 @@
168 self.onSongLiveClick))168 self.onSongLiveClick))
169 self.SongListView.addAction(self.contextMenuAction(self.SongListView,169 self.SongListView.addAction(self.contextMenuAction(self.SongListView,
170 ':/system/system_add.png', translate('SongMediaItem', u'&Add to Service'),170 ':/system/system_add.png', translate('SongMediaItem', u'&Add to Service'),
171 self.onSongEditClick))171 self.onSongAddClick))
172172
173 def retranslateUi(self):173 def retranslateUi(self):
174 self.SearchTypeLabel.setText(translate('SongMediaItem', u'Search Type:'))174 self.SearchTypeLabel.setText(translate('SongMediaItem', u'Search Type:'))
@@ -258,9 +258,8 @@
258 else:258 else:
259 service_item.theme = song.theme_name259 service_item.theme = song.theme_name
260 verses = song.lyrics.split(u'\n\n')260 verses = song.lyrics.split(u'\n\n')
261 for verse in verses:261 for slide in verses:
262 raw_slides.append(verse)262 service_item.add_from_text(slide[:30], slide)
263 service_item.raw_slides = raw_slides
264 service_item.title = song.title263 service_item.title = song.title
265 raw_footer.append(str(u'%s \n%s \n' % (song.title, song.copyright )))264 raw_footer.append(str(u'%s \n%s \n' % (song.title, song.copyright )))
266 raw_footer.append(song.copyright)265 raw_footer.append(song.copyright)