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

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

Clean up Slide hight setting in Settings Manager
Clean up Renderer
Stop Audit being fired in Error
Images can now render first!!!!!

lp:~trb143/openlp/bugfixes updated
558. By Jon Tibble

Cleanup code and fixes

Revision history for this message
Jon Tibble (meths) :
review: Approve
lp:~trb143/openlp/bugfixes updated
559. By Tim Bentley

Renderer Fixes

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openlp/core/lib/renderer.py'
2--- openlp/core/lib/renderer.py 2009-09-15 19:06:40 +0000
3+++ openlp/core/lib/renderer.py 2009-09-20 07:15:15 +0000
4@@ -153,18 +153,15 @@
5 The footer of the slide.
6 """
7 log.debug(u'format_slide - Start')
8-# print words
9 verses = []
10 words = words.replace(u'\r\n', u'\n')
11 verses_text = words.split(u'\n')
12- #print verses_text
13 text = []
14 for verse in verses_text:
15 lines = verse.split(u'\n')
16 for line in lines:
17 text.append(line)
18 split_text = self.pre_render_text(text)
19-# print split_text
20 log.debug(u'format_slide - End')
21 return split_text
22
23@@ -173,33 +170,27 @@
24 #take the width work out approx how many characters and add 50%
25 line_width = self._rect.width() - self._right_margin
26 #number of lines on a page - adjust for rounding up.
27-# print "Metrics ", line_width
28 page_length = int(self._rect.height() / metrics.height() - 2 ) - 1
29 ave_line_width = line_width / metrics.averageCharWidth()
30 ave_line_width = int(ave_line_width + (ave_line_width * 1))
31-# print "B", ave_line_width
32 split_pages = []
33 page = []
34 split_lines = []
35 count = 0
36 for line in text:
37- #print "C", line, len(line)
38 #Must be a blank line so keep it.
39 if len(line) == 0:
40 line = u' '
41 while len(line) > 0:
42-# print "C1", line, len(line)
43 if len(line) > ave_line_width:
44 pos = line.find(u' ', ave_line_width)
45 split_text = line[:pos]
46 else:
47 pos = len(line)
48 split_text = line
49-# print "E", metrics.width(split_text, -1), line_width
50 while metrics.width(split_text, -1) > line_width:
51 #Find the next space to the left
52 pos = line[:pos].rfind(u' ')
53-# print "F", pos, line[:pos]
54 #no more spaces found
55 if pos == 0:
56 split_text = line
57@@ -208,16 +199,9 @@
58 pos = len(split_text)
59 else:
60 split_text = line[:pos]
61-# print "F1", split_text, line, pos
62 split_lines.append(split_text)
63 line = line[pos:]
64 #Text fits in a line now
65-# if len(line) <= line_width:
66-# split_lines.append(line)
67-# line = u''
68-# print "G", split_lines
69-# print "H", line
70- #print "I", split_lines, page_length
71 for line in split_lines:
72 page.append(line)
73 if len(page) == page_length:
74@@ -252,7 +236,6 @@
75 Defaults to *None*. The footer to render.
76 """
77 log.debug(u'generate_frame_from_lines - Start')
78- #print "Render Lines ", lines
79 bbox = self._render_lines_unaligned(lines, False)
80 if footer_lines is not None:
81 bbox1 = self._render_lines_unaligned(footer_lines, True)
82@@ -321,8 +304,6 @@
83 if self.bg_image is not None:
84 painter.drawImage(0, 0, self.bg_image)
85 painter.end()
86-# self.bg_frame_small = self.bg_frame.scaled(QtCore.QSize(280, 210),
87-# QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
88 log.debug(u'render background End')
89
90 def _correctAlignment(self, rect, bbox):
91
92=== modified file 'openlp/core/lib/rendermanager.py'
93--- openlp/core/lib/rendermanager.py 2009-09-18 16:06:25 +0000
94+++ openlp/core/lib/rendermanager.py 2009-09-20 07:12:47 +0000
95@@ -194,9 +194,7 @@
96 The words to go on the slides.
97 """
98 log.debug(u'format slide')
99- #self.calculate_default(self.screen_list[self.current_display][u'size'])
100 self.build_text_rectangle(self.themedata)
101- #self.renderer.set_frame_dest(self.width, self.height)
102 return self.renderer.format_slide(words, False)
103
104 def generate_slide(self, main_text, footer_text):
105@@ -254,6 +252,7 @@
106 else:
107 self.width = screen.width()
108 self.height = screen.height()
109- log.debug(u'calculate default %d, %d', self.width, self.height)
110+ self.screen_ratio = float(self.height) / float(self.width)
111+ log.debug(u'calculate default %d, %d, %f', self.width, self.height, self.screen_ratio )
112 # 90% is start of footer
113 self.footer_start = int(self.height * 0.90)
114
115=== modified file 'openlp/core/lib/serviceitem.py'
116--- openlp/core/lib/serviceitem.py 2009-09-19 21:45:50 +0000
117+++ openlp/core/lib/serviceitem.py 2009-09-20 07:17:20 +0000
118@@ -93,15 +93,10 @@
119 self.RenderManager.set_override_theme(None)
120 else:
121 self.RenderManager.set_override_theme(self.theme)
122- firstTime = True
123 for slide in self.service_frames:
124 formated = self.RenderManager.format_slide(slide[u'raw_slide'])
125 for format in formated:
126 frame = None
127- if firstTime:
128- frame = self.RenderManager.generate_slide(format,
129- self.raw_footer)
130- firstTime = False
131 lines = u''
132 for line in format:
133 lines += line + u'\n'
134
135=== modified file 'openlp/core/ui/slidecontroller.py'
136--- openlp/core/ui/slidecontroller.py 2009-09-18 10:36:32 +0000
137+++ openlp/core/ui/slidecontroller.py 2009-09-20 07:38:23 +0000
138@@ -157,13 +157,6 @@
139 self.DelaySpinBox.setSuffix(translate(u'SlideController', u's'))
140
141 self.ControllerLayout.addWidget(self.Toolbar)
142- #sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
143- # QtGui.QSizePolicy.Fixed)
144- #sizeToolbarPolicy.setHorizontalStretch(0)
145- #sizeToolbarPolicy.setVerticalStretch(0)
146- #sizeToolbarPolicy.setHeightForWidth(
147- # self.Toolbar.sizePolicy().hasHeightForWidth())
148- #self.Toolbar.setSizePolicy(sizeToolbarPolicy)
149 # Screen preview area
150 self.PreviewFrame = QtGui.QFrame(self.Splitter)
151 self.PreviewFrame.setGeometry(QtCore.QRect(0, 0, 300, 225))
152@@ -284,29 +277,26 @@
153 log.debug(u'displayServiceManagerItems Start')
154 before = time.time()
155 self.serviceitem = serviceitem
156- slide_image = self.serviceitem.frames[0][u'image']
157- size = slide_image.size()
158- slide_width = self.settingsmanager.slidecontroller_image
159- slide_height = slide_width * size.height() / size.width()
160 self.PreviewListWidget.clear()
161 self.PreviewListWidget.setRowCount(0)
162- self.PreviewListWidget.setColumnWidth(0, slide_width)
163+ self.PreviewListWidget.setColumnWidth(0, self.settingsmanager.slidecontroller_image)
164 for framenumber, frame in enumerate(self.serviceitem.frames):
165 self.PreviewListWidget.setRowCount(self.PreviewListWidget.rowCount() + 1)
166 item = QtGui.QTableWidgetItem()
167 label = QtGui.QLabel()
168 label.setMargin(8)
169+ #It is a Image
170 if frame[u'text'] == None:
171- pixmap = self.parent.RenderManager.resize_image(frame[u'image'], slide_width, slide_height)
172+ pixmap = self.parent.RenderManager.resize_image(frame[u'image'])
173 label.setScaledContents(True)
174 label.setPixmap(QtGui.QPixmap.fromImage(pixmap))
175 else:
176 label.setText(frame[u'text'])
177 self.PreviewListWidget.setCellWidget(framenumber, 0, label)
178 self.PreviewListWidget.setItem(framenumber, 0, item)
179+ slide_height = self.settingsmanager.slidecontroller_image * self.parent.RenderManager.screen_ratio
180 self.PreviewListWidget.setRowHeight(framenumber, slide_height)
181- slide_width = self.PreviewListWidget.viewport().size().width()
182- self.PreviewListWidget.setColumnWidth(0, slide_width)
183+ self.PreviewListWidget.setColumnWidth(0, self.PreviewListWidget.viewport().size().width())
184 if slideno > self.PreviewListWidget.rowCount():
185 self.PreviewListWidget.selectRow(self.PreviewListWidget.rowCount())
186 else:
187@@ -314,7 +304,8 @@
188 self.onSlideSelected()
189 self.PreviewListWidget.setFocus()
190 log.info(u'Display Rendering took %4s' % (time.time() - before))
191- Receiver().send_message(u'audit_live', self.serviceitem.audit)
192+ if self.serviceitem.audit != u'':
193+ Receiver().send_message(u'audit_live', self.serviceitem.audit)
194 log.debug(u'displayServiceManagerItems End')
195
196 #Screen event methods