Status: | Superseded |
---|---|
Proposed branch: | lp:~trb143/openlp/fixes |
Merge into: | lp:openlp |
Diff against target: |
289 lines 9 files modified
openlp/core/lib/mediamanageritem.py (+0/-1) openlp/core/lib/renderer.py (+1/-1) openlp/core/lib/rendermanager.py (+2/-1) openlp/core/ui/amendthemeform.py (+1/-1) openlp/core/ui/slidecontroller.py (+30/-15) openlp/core/ui/thememanager.py (+1/-1) openlp/plugins/bibles/lib/bibleDBimpl.py (+5/-0) openlp/plugins/songs/forms/editsongform.py (+1/-0) openlp/plugins/songs/lib/mediaitem.py (+20/-5) |
To merge this branch: | bzr merge lp:~trb143/openlp/fixes |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jon Tibble (community) | Needs Fixing | ||
Review via email: mp+13888@code.launchpad.net |
This proposal supersedes a proposal from 2009-10-24.
This proposal has been superseded by a proposal from 2009-10-24.
Commit message
Description of the change
Tim Bentley (trb143) wrote : Posted in a previous version of this proposal | # |
- 628. By Tim Bentley
-
Fix Song editing
- 629. By Tim Bentley
-
Headr622
Jon Tibble (meths) wrote : | # |
In slidecontroller.py self.image_list (edited in patch) and self.song_list (added in patch) are lists of widget names never seen by users - they do not need translation.
- 630. By Tim Bentley
-
Fix extra utf8 strings
- 631. By Tim Bentley
-
Preserve selected slide on editing
- 632. By Tim Bentley
-
Headr624
- 633. By Tim Bentley
-
More Song editing fixes
- 634. By Tim Bentley
-
Finally fix redisplaying of correct slide
- 635. By Tim Bentley
-
Audit report work
- 636. By Tim Bentley
-
Headr626
- 637. By Tim Bentley
-
Service Items can now have their theme changes at run time.
- 638. By Tim Bentley
-
"Save and Preview" added to Song editor
- 639. By Tim Bentley
-
Yet more audit work
- 640. By Tim Bentley
-
Headr629
- 641. By Tim Bentley
-
Add Song verses to menu bar
- 642. By Tim Bentley
-
Add Song Tab option to remove them
- 643. By Tim Bentley
-
Split if line contains 3 --- can allow for spaces at end of line
- 644. By Tim Bentley
-
Fix Line split code. Stop SlideController being editied
- 645. By Tim Bentley
-
Biblegateway addition
- 646. By Tim Bentley
-
Move Audit to SongUsage
- 647. By Tim Bentley
-
More BibleGateway work
- 648. By Tim Bentley
-
More BibleGateway work - no prints
- 649. By Tim Bentley
-
Fix typos
- 650. By Tim Bentley
-
Add BibleGateway List and access it
- 651. By Tim Bentley
-
BibleGateway - Download files and add to selections
- 652. By Tim Bentley
-
Style fixes
- 653. By Tim Bentley
-
Strange spacing appeared from nowhere
- 654. By Tim Bentley
-
Songs now have remote edit working
- 655. By Tim Bentley
-
More remote edit changes
- 656. By Tim Bentley
-
headr632
- 657. By Tim Bentley
-
Works for now
- 658. By Tim Bentley
-
Headr633 and merge resolution
- 659. By Tim Bentley
-
Headr635
- 660. By Tim Bentley
-
Minor fixes
- 661. By Tim Bentley
-
Song Edit Preview button only active from Preview, Reset Theme Editor image text Edit
- 662. By Tim Bentley
-
Add Save service on New code, and configuration to turn it off.
- 663. By Tim Bentley
-
Fix theme editing where previous image is cached on change of image
- 664. By Tim Bentley
-
Move version check
- 665. By Tim Bentley
-
Headr639
- 666. By Tim Bentley
-
Fix names before Raoul sees them
- 667. By Tim Bentley
-
Finish remote editing of ServiceManager by updating live
- 668. By Tim Bentley
-
Sort out number of buttons on SlideController to match song and make more KITT like
- 669. By Tim Bentley
-
Fix error handling for double exception call. Added debugging for Song XML class
- 670. By Tim Bentley
-
Fix up handling of service items in the slide controllers and stop editing issues
- 671. By Tim Bentley
-
Custom plugin fixes
- 672. By Tim Bentley
-
Headr642
- 673. By Tim Bentley
-
Clean up version notifications and checking
- 674. By Tim Bentley
-
Remove unused file
- 675. By Tim Bentley
-
Headr644
- 676. By Tim Bentley
-
Headr646
- 677. By Tim Bentley
-
Fixes from last few merges
- 678. By Tim Bentley
-
Headr468 and fix
- 679. By Tim Bentley
-
Headr650
- 680. By Tim Bentley
-
Cleanup Remote Editing again
- 681. By Tim Bentley
-
Headr651
- 682. By Tim Bentley
-
Fix phantom expansion in Service Manager
- 683. By Tim Bentley
-
Fix song editing
- 684. By Tim Bentley
-
Song editing utf8 fixes part 1
- 685. By Tim Bentley
-
Headr655
- 686. By Tim Bentley
-
Song editing utf8 fixes part 2
- 687. By Tim Bentley
-
Headr656
- 688. By Tim Bentley
-
More remote editing cleanups
- 689. By Tim Bentley
-
Headr657
- 690. By Tim Bentley
-
Remote Edit for Custom
- 691. By Tim Bentley
-
Headr658
- 692. By Tim Bentley
-
Fix error in previous merge for ThemeManager
Get Custom Working with remote editing - 693. By Tim Bentley
-
Headr660
- 694. By Tim Bentley
-
Remove "Can_be_disabled" as no longer require
Sort out status handling in plugin form. - 695. By Tim Bentley
-
Fix blocking for Active/Inactive
- 696. By Tim Bentley
-
Head552
- 697. By Tim Bentley
-
Add icon to slidecontroller
/nAdd inital icons /nFix ToolBar for Media" - 698. By Tim Bentley
-
Fix strange commit
- 699. By Tim Bentley
-
Add Icon files
- 700. By Tim Bentley
-
Add test to stop icons going over the limit
- 701. By Tim Bentley
-
Fix bugs in previous merges with icons and themes
- 702. By Tim Bentley
-
remove print for log
- 703. By Tim Bentley
-
Clean up slide sizes part 1
- 704. By Tim Bentley
-
Clean up slide sizes part 2
- 705. By Tim Bentley
-
Fix up toolbar handing to stop toolbar going off screen
Added Media Toolbar for the media items
Added it to Preview
Added and wired in a volume control - 706. By Tim Bentley
-
Try to hide display screens for previews
- 707. By Tim Bentley
-
Fix media previews ti work and not display the extra screens
- 708. By Tim Bentley
-
Add Media Preview to slideController
- 709. By Tim Bentley
-
Reset Preview when exiting media
- 710. By Tim Bentley
-
Headr666
- 711. By Tim Bentley
-
Headr667
- 712. By Tim Bentley
-
spacing cleanups
- 713. By Tim Bentley
-
SlideController cleanups
- 714. By Tim Bentley
-
Slide Controller and Transition changes
- 715. By Tim Bentley
-
Headr668
- 716. By Tim Bentley
-
Transitions between slides
- 717. By Tim Bentley
-
Fix saving and reloading of media items
- 718. By Tim Bentley
-
Remove extra Video
- 719. By Tim Bentley
-
Remove transition code
- 720. By Tim Bentley
-
ServiceItem cleanup - rename arrays
- 721. By Tim Bentley
-
ServiceItem cleanup - hide lists
- 722. By Tim Bentley
-
ServiceItem cleanup - hide lists 2
- 723. By Tim Bentley
-
ServiceItem cleanup - remove CommandItem
- 724. By Tim Bentley
-
ServiceItem cleanup - sort out name format errors
- 725. By Tim Bentley
-
ServiceItem cleanup - fix media playing
- 726. By Tim Bentley
-
ServiceItem cleanup - remove code duplication
- 727. By Tim Bentley
-
ServiceItem cleanup - fix presentation issues
- 728. By Tim Bentley
-
Remove unneed varables
Move code into serviceItem
Fix up splitter code - 729. By Tim Bentley
-
headr670
- 730. By Tim Bentley
-
Renderer cleanups and fixes
- 731. By Tim Bentley
-
Head671 and fixes
- 732. By Tim Bentley
-
Head672
- 733. By Tim Bentley
-
Fix up line splitter in the renderer
- 734. By Tim Bentley
-
Headr673
- 735. By Tim Bentley
-
Fix renderer again
- 736. By Tim Bentley
-
start testing screen width v Font size
- 737. By Tim Bentley
-
Start making renderer gushie proof
- 738. By Tim Bentley
-
Fix up renderer and enforce minimum width
Unmerged revisions
- 738. By Tim Bentley
-
Fix up renderer and enforce minimum width
- 737. By Tim Bentley
-
Start making renderer gushie proof
- 736. By Tim Bentley
-
start testing screen width v Font size
- 735. By Tim Bentley
-
Fix renderer again
- 734. By Tim Bentley
-
Headr673
- 733. By Tim Bentley
-
Fix up line splitter in the renderer
Preview Diff
1 | === modified file 'openlp/core/lib/mediamanageritem.py' |
2 | --- openlp/core/lib/mediamanageritem.py 2009-10-23 18:48:49 +0000 |
3 | +++ openlp/core/lib/mediamanageritem.py 2009-10-24 16:03:10 +0000 |
4 | @@ -118,7 +118,6 @@ |
5 | self.requiredIcons() |
6 | self.setupUi() |
7 | self.retranslateUi() |
8 | - #self.initialise() |
9 | |
10 | def requiredIcons(self): |
11 | """ |
12 | |
13 | === modified file 'openlp/core/lib/renderer.py' |
14 | --- openlp/core/lib/renderer.py 2009-10-23 16:10:09 +0000 |
15 | +++ openlp/core/lib/renderer.py 2009-10-24 16:03:10 +0000 |
16 | @@ -201,7 +201,7 @@ |
17 | #if we have more text add up to 10 spaces on the front. |
18 | if len(line) > 0 and self._theme.font_main_indentation > 0: |
19 | line = u'%s%s' % \ |
20 | - (u' '[:self._theme.font_main_indentation], line) |
21 | + (u' '[:int(self._theme.font_main_indentation)], line) |
22 | #Text fits in a line now |
23 | for count, line in enumerate(split_lines): |
24 | page.append(line) |
25 | |
26 | === modified file 'openlp/core/lib/rendermanager.py' |
27 | --- openlp/core/lib/rendermanager.py 2009-09-26 06:46:26 +0000 |
28 | +++ openlp/core/lib/rendermanager.py 2009-10-24 16:03:10 +0000 |
29 | @@ -65,6 +65,7 @@ |
30 | self.service_theme = u'' |
31 | self.global_style = u'' |
32 | self.override_background = None |
33 | + self.themedata = None |
34 | self.save_bg_frame = None |
35 | self.override_background_changed = False |
36 | |
37 | @@ -130,7 +131,7 @@ |
38 | self.theme = self.service_theme |
39 | else: |
40 | self.theme = self.global_theme |
41 | - if self.theme != self.renderer.theme_name: |
42 | + if self.theme != self.renderer.theme_name or self.themedata is None: |
43 | log.debug(u'theme is now %s', self.theme) |
44 | self.themedata = self.theme_manager.getThemeData(self.theme) |
45 | self.calculate_default( |
46 | |
47 | === modified file 'openlp/core/ui/amendthemeform.py' |
48 | --- openlp/core/ui/amendthemeform.py 2009-10-24 09:33:20 +0000 |
49 | +++ openlp/core/ui/amendthemeform.py 2009-10-24 16:03:10 +0000 |
50 | @@ -678,6 +678,6 @@ |
51 | log.debug(u'Page Length area height %s , metrics %s , lines %s' % |
52 | (int(self.FontMainHeightSpinBox.value()), metrics.height(), page_length )) |
53 | self.FontMainLinesPageLabel.setText( |
54 | - self.trUtf8(u'Slide Height is %s rows') % page_length) |
55 | + self.trUtf8((u'Slide Height is %s rows') % page_length)) |
56 | frame = self.thememanager.generateImage(theme) |
57 | self.ThemePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) |
58 | |
59 | === modified file 'openlp/core/ui/slidecontroller.py' |
60 | --- openlp/core/ui/slidecontroller.py 2009-10-24 09:33:20 +0000 |
61 | +++ openlp/core/ui/slidecontroller.py 2009-10-24 16:03:10 +0000 |
62 | @@ -87,10 +87,13 @@ |
63 | self.isLive = isLive |
64 | self.parent = parent |
65 | self.image_list = [ |
66 | - self.trUtf8(u'Start Loop'), |
67 | - self.trUtf8(u'Stop Loop'), |
68 | - #self.trUtf8(u'Loop Separator'), |
69 | - self.trUtf8(u'Image SpinBox') |
70 | + u'Start Loop', |
71 | + u'Stop Loop', |
72 | + u'Loop Separator', |
73 | + u'Image SpinBox' |
74 | + ] |
75 | + self.song_list = [ |
76 | + u'Edit Song', |
77 | ] |
78 | self.timer_id = 0 |
79 | self.commandItem = None |
80 | @@ -140,17 +143,17 @@ |
81 | self.Toolbar.setSizePolicy(sizeToolbarPolicy) |
82 | if self.isLive: |
83 | self.Toolbar.addToolbarButton( |
84 | - self.trUtf8(u'First Slide'), u':/slides/slide_first.png', |
85 | + u'First Slide', u':/slides/slide_first.png', |
86 | self.trUtf8(u'Move to first'), self.onSlideSelectedFirst) |
87 | self.Toolbar.addToolbarButton( |
88 | - self.trUtf8(u'Previous Slide'), u':/slides/slide_previous.png', |
89 | + u'Previous Slide', u':/slides/slide_previous.png', |
90 | self.trUtf8(u'Move to previous'), self.onSlideSelectedPrevious) |
91 | self.Toolbar.addToolbarButton( |
92 | - self.trUtf8(u'Next Slide'), u':/slides/slide_next.png', |
93 | + u'Next Slide', u':/slides/slide_next.png', |
94 | self.trUtf8(u'Move to next'), self.onSlideSelectedNext) |
95 | if self.isLive: |
96 | self.Toolbar.addToolbarButton( |
97 | - self.trUtf8(u'Last Slide'), u':/slides/slide_last.png', |
98 | + u'Last Slide', u':/slides/slide_last.png', |
99 | self.trUtf8(u'Move to last'), self.onSlideSelectedLast) |
100 | if self.isLive: |
101 | self.Toolbar.addToolbarSeparator(u'Close Separator') |
102 | @@ -159,19 +162,23 @@ |
103 | if not self.isLive: |
104 | self.Toolbar.addToolbarSeparator(u'Close Separator') |
105 | self.Toolbar.addToolbarButton( |
106 | - self.trUtf8(u'Go Live'), u':/system/system_live.png', |
107 | + u'Go Live', u':/system/system_live.png', |
108 | self.trUtf8(u'Move to live'), self.onGoLive) |
109 | + self.Toolbar.addToolbarSeparator(u'Close Separator') |
110 | + self.Toolbar.addToolbarButton( |
111 | + u'Edit Song', u':songs/song_edit.png', |
112 | + self.trUtf8(u'Edit and re-preview Song'), self.onEditSong) |
113 | if isLive: |
114 | self.Toolbar.addToolbarSeparator(u'Loop Separator') |
115 | self.Toolbar.addToolbarButton( |
116 | - self.trUtf8(u'Start Loop'), u':/media/media_time.png', |
117 | + u'Start Loop', u':/media/media_time.png', |
118 | self.trUtf8(u'Start continuous loop'), self.onStartLoop) |
119 | self.Toolbar.addToolbarButton( |
120 | - self.trUtf8(u'Stop Loop'), u':/media/media_stop.png', |
121 | + u'Stop Loop', u':/media/media_stop.png', |
122 | self.trUtf8(u'Stop continuous loop'), self.onStopLoop) |
123 | self.DelaySpinBox = QtGui.QSpinBox() |
124 | self.Toolbar.addToolbarWidget( |
125 | - self.trUtf8(u'Image SpinBox'), self.DelaySpinBox) |
126 | + u'Image SpinBox', self.DelaySpinBox) |
127 | self.DelaySpinBox.setSuffix(self.trUtf8(u's')) |
128 | |
129 | self.ControllerLayout.addWidget(self.Toolbar) |
130 | @@ -216,6 +223,8 @@ |
131 | Receiver().send_message(u'request_spin_delay') |
132 | if isLive: |
133 | self.Toolbar.makeWidgetsInvisible(self.image_list) |
134 | + else: |
135 | + self.Toolbar.makeWidgetsInvisible(self.song_list) |
136 | QtCore.QObject.connect(Receiver.get_receiver(), |
137 | QtCore.SIGNAL(u'slidecontroller_first'), self.onSlideSelectedFirst) |
138 | QtCore.QObject.connect(Receiver.get_receiver(), |
139 | @@ -255,7 +264,10 @@ |
140 | """ |
141 | Allows the Preview toolbar to be customised |
142 | """ |
143 | - pass |
144 | + if item.name == u'Songs': |
145 | + self.Toolbar.makeWidgetsVisible(self.song_list) |
146 | + else: |
147 | + self.Toolbar.makeWidgetsInvisible(self.song_list) |
148 | |
149 | def addServiceItem(self, item): |
150 | """ |
151 | @@ -389,13 +401,13 @@ |
152 | log.info(u'Slide Rendering took %4s' % (time.time() - before)) |
153 | if self.isLive: |
154 | self.parent.mainDisplay.frameView(frame) |
155 | - |
156 | + |
157 | def grabMainDisplay(self): |
158 | winid = QtGui.QApplication.desktop().winId() |
159 | rm = self.parent.RenderManager |
160 | rect = rm.screen_list[rm.current_display][u'size'] |
161 | winimg = QtGui.QPixmap.grabWindow(winid, rect.x(), rect.y(), rect.width(), rect.height()) |
162 | - self.SlidePreview.setPixmap(winimg) |
163 | + self.SlidePreview.setPixmap(winimg) |
164 | |
165 | def onSlideSelectedNext(self): |
166 | """ |
167 | @@ -461,6 +473,9 @@ |
168 | if event.timerId() == self.timer_id: |
169 | self.onSlideSelectedNext() |
170 | |
171 | + def onEditSong(self): |
172 | + Receiver().send_message(u'edit_song') |
173 | + |
174 | def onGoLive(self): |
175 | """ |
176 | If preview copy slide item to live |
177 | |
178 | === modified file 'openlp/core/ui/thememanager.py' |
179 | --- openlp/core/ui/thememanager.py 2009-10-23 18:48:49 +0000 |
180 | +++ openlp/core/ui/thememanager.py 2009-10-24 16:03:10 +0000 |
181 | @@ -371,7 +371,7 @@ |
182 | |
183 | newtheme.add_font(unicode(theme.FontName), |
184 | unicode(theme.FontColor.name()), |
185 | - unicode(theme.FontProportion * 2), u'False') |
186 | + unicode(theme.FontProportion * 3), u'False') |
187 | newtheme.add_font(unicode(theme.FontName), |
188 | unicode(theme.FontColor.name()), |
189 | unicode(12), u'False', u'footer') |
190 | |
191 | === modified file 'openlp/plugins/bibles/lib/bibleDBimpl.py' |
192 | --- openlp/plugins/bibles/lib/bibleDBimpl.py 2009-10-12 10:18:54 +0000 |
193 | +++ openlp/plugins/bibles/lib/bibleDBimpl.py 2009-10-24 16:03:10 +0000 |
194 | @@ -158,6 +158,11 @@ |
195 | def get_bible_text(self, bookname, chapter, sverse, everse): |
196 | log.debug(u'get_bible_text %s, %s, %s, %s', bookname, chapter, sverse, |
197 | everse) |
198 | + #Look up book name or abbreviation |
199 | + book = self.get_bible_book(bookname) |
200 | + if book is not None: |
201 | + bookname = book.name |
202 | + log.debug(u'bookname corrected to %s' % bookname) |
203 | verses = self.session.query(Verse).join(Book).filter( |
204 | Book.name == bookname).filter(Verse.chapter == chapter).filter( |
205 | Verse.verse>=sverse).filter(Verse.verse<=everse).order_by( |
206 | |
207 | === modified file 'openlp/plugins/songs/forms/editsongform.py' |
208 | --- openlp/plugins/songs/forms/editsongform.py 2009-10-23 18:48:49 +0000 |
209 | +++ openlp/plugins/songs/forms/editsongform.py 2009-10-24 16:03:10 +0000 |
210 | @@ -410,6 +410,7 @@ |
211 | self.songmanager.save_song(self.song) |
212 | if self.title_change: |
213 | Receiver().send_message(u'load_song_list') |
214 | + Receiver().send_message(u'preview_song') |
215 | self.close() |
216 | |
217 | def processLyrics(self): |
218 | |
219 | === modified file 'openlp/plugins/songs/lib/mediaitem.py' |
220 | --- openlp/plugins/songs/lib/mediaitem.py 2009-10-23 18:48:49 +0000 |
221 | +++ openlp/plugins/songs/lib/mediaitem.py 2009-10-24 16:03:10 +0000 |
222 | @@ -55,6 +55,7 @@ |
223 | self.edit_song_form = EditSongForm(self.parent.songmanager, self) |
224 | self.song_maintenance_form = SongMaintenanceForm( |
225 | self.parent.songmanager, self) |
226 | + self.fromPreview = None |
227 | |
228 | def requiredIcons(self): |
229 | MediaManagerItem.requiredIcons(self) |
230 | @@ -121,6 +122,10 @@ |
231 | QtCore.SIGNAL(u'load_song_list'), self.onSearchTextButtonClick) |
232 | QtCore.QObject.connect(Receiver.get_receiver(), |
233 | QtCore.SIGNAL(u'config_updated'), self.configUpdated) |
234 | + QtCore.QObject.connect(Receiver.get_receiver(), |
235 | + QtCore.SIGNAL(u'edit_song'), self.onEventEditSong) |
236 | + QtCore.QObject.connect(Receiver.get_receiver(), |
237 | + QtCore.SIGNAL(u'proview_song'), self.onPreviewClick) |
238 | |
239 | def configUpdated(self): |
240 | self.searchAsYouType = str_to_bool( |
241 | @@ -168,19 +173,23 @@ |
242 | if author_list != u'': |
243 | author_list = author_list + u', ' |
244 | author_list = author_list + author.display_name |
245 | - song_detail = unicode(u'%s (%s)' % \ |
246 | - (unicode(song.title), unicode(author_list))) |
247 | + song_detail = unicode(self.trUtf8(u'%s (%s)' % \ |
248 | + (unicode(song.title), unicode(author_list)))) |
249 | song_name = QtGui.QListWidgetItem(song_detail) |
250 | song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) |
251 | self.ListView.addItem(song_name) |
252 | + if song.id == self.fromPreview: |
253 | + self.fromPreview = 0 |
254 | + self.ListView.setCurrentItem(song_name) |
255 | + self.onPreviewClick() |
256 | |
257 | def displayResultsAuthor(self, searchresults): |
258 | log.debug(u'display results Author') |
259 | self.ListView.clear() |
260 | for author in searchresults: |
261 | for song in author.songs: |
262 | - song_detail = unicode(u'%s (%s)' % \ |
263 | - (unicode(author.display_name), unicode(song.title))) |
264 | + song_detail = unicode(self.trUtf8(u'%s (%s)' % \ |
265 | + (unicode(author.display_name), unicode(song.title)))) |
266 | song_name = QtGui.QListWidgetItem(song_detail) |
267 | song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id)) |
268 | self.ListView.addItem(song_name) |
269 | @@ -218,13 +227,19 @@ |
270 | def onSongMaintenanceClick(self): |
271 | self.song_maintenance_form.exec_() |
272 | |
273 | - def onEditClick(self): |
274 | + def onEditClick(self, preview=False): |
275 | item = self.ListView.currentItem() |
276 | if item is not None: |
277 | item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] |
278 | + self.fromPreview = 0 |
279 | + if preview: |
280 | + self.fromPreview = item_id |
281 | self.edit_song_form.loadSong(item_id) |
282 | self.edit_song_form.exec_() |
283 | |
284 | + def onEventEditSong (self): |
285 | + self.onEditClick(True) |
286 | + |
287 | def onDeleteClick(self): |
288 | item = self.ListView.currentItem() |
289 | if item is not None: |
Fix Theme errors and sort other bits.