Created by Ian Knight on 2016-02-29 and last modified on 2016-03-26

Non-text slides (such as images or slideshows) shown in the slide controllers are scaled according to the width of the slide controller. On wide screens, this can result in as few as one slide visible for selection in the slide controller at any given time, reducing ease of navigation.

This branch seeks to address this issue by adding the ability to choose a maximum height for non-text slides in the list-preview-widget in slider controllers via the following changes:
- Adds a setting 'advanced/slide max height' in openlp/core/common/settings.py
- Adds an option 'Max height for non-text slides in slide controller' in openlp/core/ui/advancedtab.py, which modifies the above setting.
- Modifies the behaviour of __recalculate_layout() and replace_service_item() in openlp/core/ui/listpreviewwidget.py, so that when the above setting is > 0, non-text slides will scale to a corresponding maximum height in px, regardless of the viewport width.
- Adds a connection row_resized() to the signal triggered when row-height is changed in openlp/core/ui/listpreviewwidget.py, so that manually resizing rows scales the contents appropriately.

The change is accompanied by functional tests, improving overall test coverage.

Get this branch:
bzr branch lp:~knightrider0xd/openlp/better-slide-scaling
Only Ian Knight can upload to this branch. If you are Ian Knight please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Ian Knight

Recent revisions

2632. By Ian Knight on 2016-03-23

Shifted common test code into setup.

2631. By Ian Knight on 2016-03-21

Corrected comments

2630. By Ian Knight on 2016-03-20

Merged changes from trunk

2629. By Ian Knight on 2016-03-20

Cleaned pep8 errors

2628. By Ian Knight on 2016-03-20

Cleaned pep8 errors

2627. By Ian Knight on 2016-03-19

Added testing

2626. By Ian Knight on 2016-03-05

Added smart scaling when manually resized, integrated with settings dialog, fixed some pep8 errors

2625. By Ian Knight on 2016-02-29

Split auto-scroll & height cap features to new branch

2624. By Ken Roberts on 2016-02-28

- Fix projector manager receiving an invalid class response on initial connection
- Fix string encoding to ascii when sending request to projector

lp:~alisonken1/openlp/bug-1550891 (revision 2624)
[SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/1301/
[SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/1223/
[SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1162/
[SUCCESS] https://ci.openlp.io/job/Branch-04a-Windows_Functional_Tests/997/...

2623. By Azaziah on 2016-02-28

This branch fixes the issue where Blank to desktop,
black and theme won't work if Live screen has stolen focus.

Examples of this happening: Clicking anything in the live window or certain single screen mode scenarios.

This was achieved by adding 3 lines of code, one for each method under the definition of methods available in this screen mode.

I also explained this in a comment I inserted to the code.

Since the only way to screw this seems to be by removing these additions,
a test for the...

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.