Merge lp:~milleja46/openlp/milleja46 into lp:openlp

Proposed by Joshua Miller
Status: Superseded
Proposed branch: lp:~milleja46/openlp/milleja46
Merge into: lp:openlp
Diff against target: 103 lines (+16/-19)
2 files modified
openlp/core/ui/generaltab.py (+9/-0)
openlp/core/ui/slidecontroller.py (+7/-19)
To merge this branch: bzr merge lp:~milleja46/openlp/milleja46
Reviewer Review Type Date Requested Status
Jonathan Corwin Pending
Tim Bentley Pending
Review via email: mp+62458@code.launchpad.net

This proposal supersedes a proposal from 2011-05-26.

This proposal has been superseded by a proposal from 2011-05-26.

Description of the change

Adds in looping of slides based on a checkbox in the general settings. Fully functional now, and corrections as noted, and extra blank deletion.

To post a comment you must log in.
Revision history for this message
Tim Bentley (trb143) wrote : Posted in a previous version of this proposal

line 80 longer than 80 bytes

lines 85 and 88 not needed.

QtCore.QSettings().value(self.parent.generalSettingsSection + u'/enable slide loop'
should be
QtCore.QSettings().value(u'general/enable slide loop'

review: Needs Fixing
Revision history for this message
Jonathan Corwin (j-corwin) wrote : Posted in a previous version of this proposal

> QtCore.QSettings().value(self.parent.generalSettingsSection + u'/enable slide
> loop'
> should be
> QtCore.QSettings().value(u'general/enable slide loop'

Tim, what Joshua has is consistent with the rest of slidecontroller.py, and we've just spent the last few days telling him to replace the 'general' with the self.parent.generalSettingsSection!

Revision history for this message
Raoul Snyman (raoul-snyman) wrote : Posted in a previous version of this proposal

@Joshua just a small thing, rename your "enable_loop" variable to "can_loop" as it makes a little more sense when you read the "if" statement.

  if can_loop:

Just makes the code a little more readable.

Revision history for this message
Jonathan Corwin (j-corwin) wrote : Posted in a previous version of this proposal

Delete line 45

Line 88, shouldn't be pass, but:
    row = self.previewListWidget.rowCount() - 1
Otherwise row will be one greater than the highest index in the controller.

Leave the self.parent.generalSettingsSection until Tim has chance to respond to my earlier comment and I find out why he wants it changed. But it still needs splitting so it doesn't go over 80 characters.

review: Needs Fixing
Revision history for this message
Tim Bentley (trb143) wrote : Posted in a previous version of this proposal

Accept that SlideController does it that way with Qsettings BUT the reset of the code ThemeManager which I have written does it the other way.

self.parent.generalSettingsSection + u'/enable slide is less readable than u'general/enable slide.
This is a different debate for later so ignore that comment. The rest still stand.

Revision history for this message
Tim Bentley (trb143) wrote : Posted in a previous version of this proposal

Looks good but can_loop can be removed and the IF test applied against the QSettings directly.

This is in both situations

review: Needs Fixing
lp:~milleja46/openlp/milleja46 updated
1574. By Tim Bentley

More busy and sort changes

1575. By Joshua Miller

Enable or disable looping of slides based on a checkbox in the general settings

1576. By Tim Bentley

Copyright updates

1577. By Andreas Preikschat

- Removed 'Default' button
- Translate the tag description (bug #787552).

1578. By Andreas Preikschat

Fix for   being displayed as text.

1579. By Andreas Preikschat

- Fixed Bible verse display misalignment(Bug #788770)

1580. By Stevan Pettit

Fix bug #788084, modified code to use object id instead of title.

1581. By Jonathan Corwin

Remove the index from the search_lyrics column to allow OpenLP to work with a MySQL MyISAM database

1582. By Andreas Preikschat

- Themes in service item theme menu are checkable.
- Allow the user to reset the theme to the (global/service) default theme.

1583. By Andreas Preikschat

- Hide the theme menu when theme level is not 'Song'.
- clean ups

1584. By Andreas Preikschat

- Improved 'Auto Select' feature
- Fixed a traceback which occurs when you click the "Add" button in the slidecontroller when you are not previewing an item.
- Improved parentage
- clean ups

1585. By Jonathan Corwin

Make the slide loop/slide delay settings labels less misleading

1586. By Jonathan Corwin

Change timed slide button tooltip to remove reference to looping, and add a few full stops to a few others.

1587. By Raoul Snyman

Fix for bug #789285: OpenLP does not work with SQLAlchemy 0.7.

1588. By Stevan Pettit

Fixed bug #788335: Modified slidecontroller to properly blank the display when OpenLP is started and no item has been sent to live.

1589. By Jeffrey Smith

Make 'continuous loop' button into a selection ('loop' or 'play to end')

1590. By Raoul Snyman

Added a simple file to point users to the online manual. This is necessary for the Debian and Ubuntu builds.

1591. By Armin Köhler

Monster change to Bibles:
- Web Bibles import their books on registration
- Added a book_reference_id to the books table of Bibles
- Moved various sqlite and csv resources into a single sqlite database
- Added an upgrade wizard to upgrade existing Bibles
- Check on startup if a user has older Bibles
- Various other bug fixes and cleanups

1592. By Andreas Preikschat

- fixed bug #789143

1593. By Andreas Preikschat

- changed a few camelCase names
- changed object names

1594. By Jonathan Corwin

MediaManagerItems need to inherit from the TabBox inside the media dock, or the media dock itself.
Fix parentage of several classes

1595. By Andreas Preikschat

- Fixed bug #789929 (Display Tags cannot be deleted)

1596. By Raoul Snyman

Fix bug #714510 by removing the unnecessary indexes and defaulting the song_book_id on the songs table to NULL instead of 0.

1597. By Armin Köhler

Change content of booklist combobox in advanced search and autocomplete suggestionlist in quick search if a second bible is choosen the lists refresh and contain only books which are in both bibles.

1598. By Andreas Preikschat

- fixed bug #789618 "Large gap between two parts of a verse in Service Order Print"

1599. By Raoul Snyman

Fixed bug #790382 by using the Mako template engine to pass Python variables into the template and tweaking a few things in the JS.

1600. By jerryb

Log failing imports

1601. By jerryb

Add robustness to Generic document and Songs of Fellowship importers.

1602. By Armin Köhler

Fix traceback on startup when Bibles plugin is disabled

1603. By Jonathan Corwin

Fix problems with remembering blank/hidden state when starting up, and with the startup logo flashing briefly on the screen. Also fix the Show blank warning box.
Fix toolbox appearing on the media manager when it's associated plugin is inactive.
Make the override display act like a dual display on startup. I.e. it appears.

1604. By Armin Köhler

- Fix problems with non-ascii book names on Biblegateway
- Fix download problem with first verse on Biblegateway
- Remove unnecessary whitespace

1605. By Andreas Preikschat

- removed dangling list
- added debug message
- do not show an error message when the directory does not exist, instead create one
- do not override the file class
- clean ups

1606. By Andreas Preikschat

Fixes bug #791814 "Windows: Language Menu shows wrong entries"

1607. By Stevan Pettit

Fixed bug-789102. "Editing song via service and saving it, highlights it in media manager"

1608. By Armin Köhler

- Fix bug #788762: only show the "No matching book" dialog once.
- If a second Bible is chosen, text search results will only contain passages which are in both Bibles.

1609. By Jonathan Corwin

Change some unexceptional log.exceptions to log.warns in presentations

1610. By Stevan Pettit

Fixed traceback error that occurs in windows-builder.py if the bzr version info contains non-ascii characters.

Added Mako requirement documentation

1611. By Armin Köhler

Change upgrade of bibles: bibleupgradeform now trys to upgrade existing verses from webbibles.

1612. By Jonathan Corwin

In a song, replace apostrophes with an empty string instead of a space. This allows the searcher to find words containing "it's" and "Lord's" should they type "its" or "Lords" (and vice versa).
Also reinstate the setting of search_lyrics by clean_song.

1613. By Tim Bentley

Fix selection in ServiceManager over theme change

1614. By Armin Köhler

- Fix Bug #792811 - Traceback UnicodeEncodeError while importing a webbible
- If upgrade fails new bible databases which are failed now should be deleted always. If upgrade was successfull the old database is deleted immediately. So never should stay an old and a new version from one bible.
- changed behaviour if the user cancel the import so that after a traceback it is possible to cancel the dialog.
- Fix Bug #792831 - now the right parent is used for dialogs and error messages
- Biblegateway.com has changed it's Bible-Book-List Layout. Addapt the regex for importing the booklist of a bible from biblegateway to the new html layout.
- changed log usage
- remove unnecessary code
- small fixes

1615. By Armin Köhler

Fix Bug #793091 - if plugin changed status from inactive to active plugin.appStartup now is called

1616. By Andreas Preikschat

- fixed bug 788770
- fixed space in the media manager

1617. By Andreas Preikschat

- fixed bug #793537 "Traceback when hooking up 2nd monitor"

1618. By Andreas Preikschat

Improved thumbnail creation speed in the media manager

1619. By Tim Bentley

Correct the line count in theme wizard

1620. By Jonathan Corwin

Prevent error message appearing on operator screen when searching for Bible text via the remote

1621. By Jonathan Corwin

Close and delete old MainDisplay windows when a new one is created due to a screen change.

1622. By Andreas Preikschat

- give title edit focus when creating a new customs

1623. By Andreas Preikschat

- Improved image resizing speed

1624. By Jonathan Corwin

Fix outstanding strings prior to string freeze

1625. By Stevan Pettit

Added code to openlp/plugins/bibles/lib/manager.py to skip old_databases during load. (Would we want to delete them)?-----> Removed this change, reverted back to original code.

Added a routine to openlp/plugins/bibles/lib/db.py to close the DB "Cursor" and "Connection"

Added code to openlp/plugins/bibles/forms/bibleupgradeform.py to "close" the DB so the old DB file can be deleted afrter use.

1626. By jerryb

Add LibreOffice to error messages.
Standardise error messages.

1627. By Andreas Preikschat

fixed 'split' string

1628. By Tim Bentley

Fix mediamanager bug

1629. By Jonathan Corwin

Fix a few more strings

1630. By Tim Bentley

Fix phantom save service messages

1631. By Tim Bentley

Speed up slide editing

1632. By Raoul Snyman

Fixed 789046 and minor cleanups

1633. By Raoul Snyman

Fixed various strings.

1634. By Simon Scudder

Function showtext in the html javascript was altered, so that the shadow layer (if present) will ignore all the font color settings. This is done using a regular expression replace, that searches for -webkit-text-fill-color and erases up to the first ; or "

If there is only a colour formatting command in the span tag, an empty class attribute is left behind, which shouldn't be a problem.

1635. By Andreas Preikschat

- fixed crash attempting to add a non existent image to the service
- fixed display of full presentation path in remote search
- fixed names
- fixed use of 'settingsSection' (the second argument is not a sections, rather a value name <-> using settingsSection is misleading)

1636. By Tim Bentley

One and only Simon Scudder

1637. By Tim Bentley

Return of the default theme

1638. By Tim Bentley

Split names

1639. By Andreas Preikschat

Correct Focus on entry to dialog

1640. By Raoul Snyman

Fixed bug #792204: SongShow Plus importer fails to import song.

1641. By Raoul Snyman

Fixed bug #763064: Empty line in first verse prevents saving a song.

1642. By Simon Scudder

Import Song Book Number correctly from OpenLyrics files

1643. By Jonathan Corwin

Prevent error if attempt to keep going off the end of a presentation.
Reduce memory usage by not resizing small thumbnails back up to full monitor size in the slidecontroller.

1644. By Stevan Pettit

Fixed problem with preview edit button not working for custom slides.
Also restores backwards compatability with custom plugin settings with 1.9.5

1645. By Jonathan Corwin

Stop the service item note getting lost if the service item is edited

1646. By Jonathan Corwin

Fixing main display kerning problem for qtwebkit v534.3

1647. By Jonathan Corwin

Partial fix for the Unity top panel showing problem. However this doesn't fully fix it, since it appears the only way for a window to cover that bar is for it to have focus. This isn't possible in OpenLP, since the controlling window will have focus.

1648. By Andreas Preikschat

- updated ts files

1649. By Raoul Snyman

Fixed bug #800047 where the Preferences menu item in OS X was incorrect.

1650. By Jonathan Corwin

1. For openlyrics export, restrict the length of the filename to ensure it isn't too long for the filesystem.
2. When adding a song from a loaded service file, the author list string was being split by comma and the count compared to the number of authors against the db song. This gave a false negative if one of the individual authors contained a comma. Change the author comparison technique.

1651. By Jonathan Corwin

When the maindisplay has a parent, the Phonon video only shows a white screen. Remove the parent and the video works again. This also means minimizing the mainwindow (or pressing Win+D) no longer minimizes the maindisplay.

1652. By Jonathan Corwin

1. In the import wizard, if user goes back and next again, ensure a disabled button stays disabled.
2. Check for missing attributes in the easislides import XML

1653. By Stevan Pettit

Changes to inno setup wizzard images/icons for Windows build

1654. By Raoul Snyman

Half of bug #795068 fixed. Just figured I might as well get this in before the release.

1655. By Raoul Snyman

Fix bug #801000 where Enchant falls over in one or two situations where there is no locale set or it encounters some other problem and generates a generic Error.

1656. By Raoul Snyman

Fixed bug #7999411: Trap for some missing UNO constants on some systems.
Fixed bug #7432732: Add missing MetaModifier key check in the shortcuts dialog, so hopefully better shortcuts can be set on OS X.

1657. By Raoul Snyman

Fixed bug #791050 by hiding and then showing the toolbar.

1658. By Andreas Preikschat

- fixed saving 'Setup' mode shortcut

1659. By Andreas Preikschat

- now you can resize the display tag dialog
- changed the column widths
- make sure we always use the space available
- scroll to the bottom when adding a new tag

1660. By Andreas Preikschat

- removed not used "display tab" ui file
- removed old theme wizard ui file

1661. By Andreas Preikschat

When you copy a theme the suggested theme name will be 'Copy of <theme name>'

1662. By Andreas Preikschat

- removed not needed lists
- some translation fixes
- remove close button on print dialog

1663. By Joshua Miller

Adds a semi-base for video's in a theme

1664. By Joshua Miller

changes to add in video support for themes

1665. By Joshua Miller

changes to improve support for videos

1666. By Joshua Miller

A another showing of what i've tried so far

1667. By Joshua Miller

Finally adds video lines to the dialog

1668. By Joshua Miller

a few changes for video support in themes

Unmerged revisions

1668. By Joshua Miller

a few changes for video support in themes

1667. By Joshua Miller

Finally adds video lines to the dialog

1666. By Joshua Miller

A another showing of what i've tried so far

1665. By Joshua Miller

changes to improve support for videos

1664. By Joshua Miller

changes to add in video support for themes

1663. By Joshua Miller

Adds a semi-base for video's in a theme

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openlp/core/ui/generaltab.py'
2--- openlp/core/ui/generaltab.py 2011-05-24 20:47:05 +0000
3+++ openlp/core/ui/generaltab.py 2011-05-26 11:02:47 +0000
4@@ -97,6 +97,9 @@
5 self.autoPreviewCheckBox = QtGui.QCheckBox(self.settingsGroupBox)
6 self.autoPreviewCheckBox.setObjectName(u'autoPreviewCheckBox')
7 self.settingsLayout.addRow(self.autoPreviewCheckBox)
8+ self.enableLoopCheckBox = QtGui.QCheckBox(self.settingsGroupBox)
9+ self.enableLoopCheckBox.setObjectName(u'enableLoopCheckBox')
10+ self.settingsLayout.addRow(self.enableLoopCheckBox)
11 # Moved here from image tab
12 self.timeoutLabel = QtGui.QLabel(self.settingsGroupBox)
13 self.timeoutLabel.setObjectName(u'timeoutLabel')
14@@ -219,6 +222,8 @@
15 'Unblank display when adding new live item'))
16 self.autoPreviewCheckBox.setText(translate('OpenLP.GeneralTab',
17 'Automatically preview next item in service'))
18+ self.enableLoopCheckBox.setText(translate('OpenLP.GeneralTab',
19+ 'Enable slide loop'))
20 self.timeoutLabel.setText(translate('OpenLP.GeneralTab',
21 'Slide loop delay:'))
22 self.timeoutSpinBox.setSuffix(translate('OpenLP.GeneralTab', ' sec'))
23@@ -271,6 +276,8 @@
24 QtCore.QVariant(True)).toBool())
25 self.autoPreviewCheckBox.setChecked(settings.value(u'auto preview',
26 QtCore.QVariant(False)).toBool())
27+ self.enableLoopCheckBox.setChecked(settings.value(u'enable slide loop',
28+ QtCore.QVariant(True)).toBool())
29 self.timeoutSpinBox.setValue(settings.value(u'loop delay',
30 QtCore.QVariant(5)).toInt()[0])
31 self.overrideCheckBox.setChecked(settings.value(u'override position',
32@@ -314,6 +321,8 @@
33 QtCore.QVariant(self.autoUnblankCheckBox.isChecked()))
34 settings.setValue(u'auto preview',
35 QtCore.QVariant(self.autoPreviewCheckBox.isChecked()))
36+ settings.setValue(u'enable slide loop',
37+ QtCore.QVariant(self.enableLoopCheckBox.isChecked()))
38 settings.setValue(u'loop delay',
39 QtCore.QVariant(self.timeoutSpinBox.value()))
40 settings.setValue(u'ccli number',
41
42=== modified file 'openlp/core/ui/slidecontroller.py'
43--- openlp/core/ui/slidecontroller.py 2011-05-25 09:10:57 +0000
44+++ openlp/core/ui/slidecontroller.py 2011-05-26 11:02:47 +0000
45@@ -349,13 +349,6 @@
46 QtCore.SIGNAL(u'slidecontroller_%s_previous' % self.typePrefix),
47 self.onSlideSelectedPrevious)
48 QtCore.QObject.connect(Receiver.get_receiver(),
49- QtCore.SIGNAL(u'slidecontroller_%s_next_noloop' % self.typePrefix),
50- self.onSlideSelectedNextNoloop)
51- QtCore.QObject.connect(Receiver.get_receiver(),
52- QtCore.SIGNAL(u'slidecontroller_%s_previous_noloop' %
53- self.typePrefix),
54- self.onSlideSelectedPreviousNoloop)
55- QtCore.QObject.connect(Receiver.get_receiver(),
56 QtCore.SIGNAL(u'slidecontroller_%s_last' % self.typePrefix),
57 self.onSlideSelectedLast)
58 QtCore.QObject.connect(Receiver.get_receiver(),
59@@ -940,10 +933,7 @@
60 rect.y(), rect.width(), rect.height())
61 self.slidePreview.setPixmap(winimg)
62
63- def onSlideSelectedNextNoloop(self):
64- self.onSlideSelectedNext(False)
65-
66- def onSlideSelectedNext(self, loop=True):
67+ def onSlideSelectedNext(self):
68 """
69 Go to the next slide.
70 """
71@@ -956,18 +946,15 @@
72 else:
73 row = self.previewListWidget.currentRow() + 1
74 if row == self.previewListWidget.rowCount():
75- if loop:
76+ if QtCore.QSettings().value(self.parent.generalSettingsSection +
77+ u'/enable slide loop', QtCore.QVariant(True)).toBool():
78 row = 0
79 else:
80- Receiver.send_message('servicemanager_next_item')
81- return
82+ row = self.previewListWidget.rowCount() - 1
83 self.__checkUpdateSelectedSlide(row)
84 self.slideSelected()
85
86- def onSlideSelectedPreviousNoloop(self):
87- self.onSlideSelectedPrevious(False)
88-
89- def onSlideSelectedPrevious(self, loop=True):
90+ def onSlideSelectedPrevious(self):
91 """
92 Go to the previous slide.
93 """
94@@ -980,7 +967,8 @@
95 else:
96 row = self.previewListWidget.currentRow() - 1
97 if row == -1:
98- if loop:
99+ if QtCore.QSettings().value(self.parent.generalSettingsSection +
100+ u'/enable slide loop', QtCore.QVariant(True)).toBool():
101 row = self.previewListWidget.rowCount() - 1
102 else:
103 row = 0