Merge lp://qastaging/~raoul-snyman/openlp/off-by-one-2.4 into lp://qastaging/openlp

Proposed by Raoul Snyman
Status: Superseded
Proposed branch: lp://qastaging/~raoul-snyman/openlp/off-by-one-2.4
Merge into: lp://qastaging/openlp
Diff against target: 227238 lines (+168761/-11851) (has conflicts)
137 files modified
.bzrignore (+4/-0)
openlp/.version (+4/-0)
openlp/core/__init__.py (+9/-4)
openlp/core/common/__init__.py (+6/-0)
openlp/core/common/historycombobox.py.OTHER (+84/-0)
openlp/core/lib/colorbutton.py.OTHER (+82/-0)
openlp/core/lib/dockwidget.py.OTHER (+56/-0)
openlp/core/lib/listwidgetwithdnd.py.OTHER (+107/-0)
openlp/core/lib/projector/constants.py (+64/-0)
openlp/core/lib/projector/pjlink1.py (+67/-1)
openlp/core/lib/spelltextedit.py.OTHER (+204/-0)
openlp/core/lib/toolbar.py.OTHER (+90/-0)
openlp/core/lib/treewidgetwithdnd.py.OTHER (+144/-0)
openlp/core/resources.py (+87665/-11233)
openlp/core/ui/aboutdialog.py (+14/-0)
openlp/core/ui/exceptionform.py (+7/-0)
openlp/core/ui/generaltab.py (+0/-1)
openlp/core/ui/listpreviewwidget.py.OTHER (+176/-0)
openlp/core/ui/mainwindow.py (+20/-9)
openlp/core/ui/media/systemplayer.py (+35/-2)
openlp/core/ui/mediadockmanager.py.OTHER (+71/-0)
openlp/core/ui/projector/manager.py (+65/-2)
openlp/core/ui/projector/sourceselectform.py (+63/-4)
openlp/core/ui/wizard.py.OTHER (+305/-0)
openlp/core/utils/__init__.py.OTHER (+543/-0)
openlp/core/utils/actions.py.OTHER (+388/-0)
openlp/core/utils/db.py.OTHER (+71/-0)
openlp/core/utils/languagemanager.py.OTHER (+146/-0)
openlp/plugins/bibles/forms/bibleupgradeform.py.OTHER (+561/-0)
openlp/plugins/bibles/lib/importers/http.py (+10/-0)
openlp/plugins/bibles/lib/importers/zefania.py (+11/-0)
openlp/plugins/bibles/lib/mediaitem.py (+8/-0)
openlp/plugins/presentations/lib/pdfcontroller.py (+31/-0)
openlp/plugins/remotes/html/index.html (+18/-0)
openlp/plugins/remotes/html/jquery-migrate.js (+752/-0)
openlp/plugins/remotes/html/jquery-migrate.min.js (+2/-0)
openlp/plugins/remotes/html/jquery.js.OTHER (+11008/-0)
openlp/plugins/remotes/html/jquery.min.js.OTHER (+5/-0)
openlp/plugins/remotes/html/jquery.mobile.css (+2332/-0)
openlp/plugins/remotes/html/jquery.mobile.js.OTHER (+9162/-0)
openlp/plugins/remotes/html/jquery.mobile.min.css.OTHER (+2/-0)
openlp/plugins/remotes/html/jquery.mobile.min.js.OTHER (+2/-0)
openlp/plugins/remotes/html/main.css.OTHER (+32/-0)
openlp/plugins/remotes/html/main.js.OTHER (+45/-0)
openlp/plugins/remotes/html/openlp.css.OTHER (+31/-0)
openlp/plugins/remotes/html/openlp.js.OTHER (+386/-0)
openlp/plugins/remotes/html/stage.css.OTHER (+64/-0)
openlp/plugins/remotes/html/stage.js.OTHER (+170/-0)
openlp/plugins/remotes/lib/remotetab.py (+12/-0)
openlp/plugins/songs/forms/editsongform.py (+76/-15)
openlp/plugins/songs/lib/__init__.py (+8/-0)
openlp/plugins/songs/lib/db.py (+2/-2)
openlp/plugins/songs/lib/importers/easyworship.py (+32/-0)
openlp/plugins/songs/lib/importers/mediashout.py (+7/-0)
openlp/plugins/songs/lib/importers/openlp.py (+5/-0)
openlp/plugins/songs/lib/importers/songbeamer.py (+13/-0)
openlp/plugins/songs/lib/importers/videopsalm.py (+6/-0)
openlp/plugins/songs/lib/mediaitem.py (+26/-0)
openlp/plugins/songs/lib/songselect.py (+57/-5)
openlp/plugins/songusage/forms/songusagedetailform.py (+11/-2)
openlp/plugins/songusage/songusageplugin.py (+3/-3)
resources/i18n/af.ts (+2175/-40)
resources/i18n/bg.ts (+2060/-39)
resources/i18n/cs.ts (+1386/-9)
resources/i18n/da.ts (+1396/-9)
resources/i18n/de.ts (+1381/-11)
resources/i18n/el.ts (+2201/-47)
resources/i18n/en.ts (+1385/-9)
resources/i18n/en_GB.ts (+1384/-9)
resources/i18n/en_ZA.ts (+1374/-9)
resources/i18n/es.ts (+1415/-9)
resources/i18n/et.ts (+1402/-9)
resources/i18n/fi.ts (+1407/-12)
resources/i18n/fr.ts (+1387/-9)
resources/i18n/hu.ts (+1963/-15)
resources/i18n/id.ts (+1377/-9)
resources/i18n/ja.ts (+1701/-12)
resources/i18n/ko.ts (+2409/-28)
resources/i18n/lt.ts (+2504/-40)
resources/i18n/nb.ts (+1378/-11)
resources/i18n/nl.ts (+1377/-9)
resources/i18n/pl.ts (+1726/-12)
resources/i18n/pt_BR.ts (+1685/-16)
resources/i18n/ru.ts (+1379/-8)
resources/i18n/sk.ts (+1408/-9)
resources/i18n/sv.ts (+1772/-17)
resources/i18n/ta_LK.ts (+2194/-39)
resources/i18n/th_TH.ts (+2122/-39)
resources/i18n/zh_CN.ts (+2204/-39)
resources/i18n/zh_TW.ts (+1700/-12)
scripts/translation_utils.py (+4/-0)
tests/functional/openlp_core_common/test_projector_utilities.py (+4/-0)
tests/functional/openlp_core_common/test_registryproperties.py (+31/-1)
tests/functional/openlp_core_lib/test_color_button.py.OTHER (+199/-0)
tests/functional/openlp_core_lib/test_htmlbuilder.py (+25/-0)
tests/functional/openlp_core_lib/test_projector_pjlink1.py (+345/-0)
tests/functional/openlp_core_ui/test_aboutform.py (+44/-0)
tests/functional/openlp_core_ui/test_firsttimeform.py (+20/-0)
tests/functional/openlp_core_ui/test_generaltab.py (+54/-0)
tests/functional/openlp_core_ui/test_listpreviewwidget.py.OTHER (+52/-0)
tests/functional/openlp_core_ui/test_mainwindow.py (+13/-0)
tests/functional/openlp_core_ui/test_projector_sourceselectform.py (+83/-0)
tests/functional/openlp_core_ui/test_servicemanager.py (+140/-11)
tests/functional/openlp_core_ui/test_shortcutlistdialog.py (+60/-0)
tests/functional/openlp_core_ui/test_themetab.py (+84/-0)
tests/functional/openlp_core_ui_media/test_systemplayer.py (+499/-0)
tests/functional/openlp_core_utils/__init__.py.OTHER (+21/-0)
tests/functional/openlp_core_utils/test_actions.py.OTHER (+245/-0)
tests/functional/openlp_core_utils/test_db.py.OTHER (+104/-0)
tests/functional/openlp_core_utils/test_first_time.py.OTHER (+57/-0)
tests/functional/openlp_core_utils/test_init.py.OTHER (+129/-0)
tests/functional/openlp_core_utils/test_utils.py.OTHER (+491/-0)
tests/functional/openlp_plugins/bibles/test_manager.py (+69/-0)
tests/functional/openlp_plugins/presentations/test_pdfcontroller.py (+74/-0)
tests/functional/openlp_plugins/remotes/test_router.py (+23/-0)
tests/functional/openlp_plugins/songs/test_editsongform.py (+35/-0)
tests/functional/openlp_plugins/songs/test_lib.py (+27/-0)
tests/functional/openlp_plugins/songs/test_openlpimporter.py (+75/-0)
tests/functional/openlp_plugins/songs/test_songselect.py (+160/-10)
tests/functional/openlp_plugins/songusage/test_songusage.py (+28/-1)
tests/interfaces/openlp_core_common/test_historycombobox.py.OTHER (+65/-0)
tests/interfaces/openlp_core_lib/test_pluginmanager.py (+10/-0)
tests/interfaces/openlp_core_ui/test_listpreviewwidget.py.OTHER (+106/-0)
tests/interfaces/openlp_core_ui/test_projectorsourceform.py (+5/-8)
tests/interfaces/openlp_core_utils/__init__.py.OTHER (+21/-0)
tests/interfaces/openlp_core_utils/test_utils.py.OTHER (+81/-0)
tests/interfaces/openlp_plugins/custom/forms/test_customform.py (+19/-0)
tests/interfaces/openlp_plugins/songs/forms/test_authorsform.py (+215/-0)
tests/interfaces/openlp_plugins/songusage/test_songusagedetailform.py (+99/-0)
tests/resources/easyslidessongs/Export_2017-01-12_BB.json (+44/-0)
tests/resources/easyslidessongs/Export_2017-01-12_BB.xml (+50/-0)
tests/resources/opensongsongs/Amazing Grace with bad CCLI (+56/-0)
tests/resources/opensongsongs/Amazing Grace without CCLI.json (+42/-0)
tests/resources/songshowplussongs/cleanse-me.json (+38/-0)
tests/resources/videopsalmsongs/as-safe-a-stronghold2.json (+35/-0)
tests/resources/videopsalmsongs/videopsalm-as-safe-a-stronghold2.json (+47/-0)
tests/utils/test_bzr_tags.py (+1/-1)
Text conflict in .bzrignore
Text conflict in openlp/.version
Text conflict in openlp/core/__init__.py
Text conflict in openlp/core/common/__init__.py
Contents conflict in openlp/core/common/historycombobox.py
Contents conflict in openlp/core/lib/colorbutton.py
Contents conflict in openlp/core/lib/dockwidget.py
Contents conflict in openlp/core/lib/listwidgetwithdnd.py
Text conflict in openlp/core/lib/projector/constants.py
Text conflict in openlp/core/lib/projector/pjlink1.py
Contents conflict in openlp/core/lib/spelltextedit.py
Contents conflict in openlp/core/lib/toolbar.py
Contents conflict in openlp/core/lib/treewidgetwithdnd.py
Text conflict in openlp/core/resources.py
Text conflict in openlp/core/ui/aboutdialog.py
Text conflict in openlp/core/ui/exceptionform.py
Contents conflict in openlp/core/ui/listpreviewwidget.py
Text conflict in openlp/core/ui/mainwindow.py
Text conflict in openlp/core/ui/media/systemplayer.py
Contents conflict in openlp/core/ui/mediadockmanager.py
Text conflict in openlp/core/ui/projector/manager.py
Text conflict in openlp/core/ui/projector/sourceselectform.py
Contents conflict in openlp/core/ui/wizard.py
Conflict adding files to openlp/core/utils.  Created directory.
Conflict because openlp/core/utils is not versioned, but has versioned children.  Versioned directory.
Contents conflict in openlp/core/utils/__init__.py
Contents conflict in openlp/core/utils/actions.py
Contents conflict in openlp/core/utils/db.py
Contents conflict in openlp/core/utils/languagemanager.py
Contents conflict in openlp/plugins/bibles/forms/bibleupgradeform.py
Text conflict in openlp/plugins/bibles/lib/importers/http.py
Text conflict in openlp/plugins/bibles/lib/importers/zefania.py
Text conflict in openlp/plugins/bibles/lib/mediaitem.py
Text conflict in openlp/plugins/presentations/lib/pdfcontroller.py
Text conflict in openlp/plugins/remotes/html/index.html
Contents conflict in openlp/plugins/remotes/html/jquery.js
Contents conflict in openlp/plugins/remotes/html/jquery.min.js
Contents conflict in openlp/plugins/remotes/html/jquery.mobile.js
Contents conflict in openlp/plugins/remotes/html/jquery.mobile.min.css
Contents conflict in openlp/plugins/remotes/html/jquery.mobile.min.js
Contents conflict in openlp/plugins/remotes/html/main.css
Contents conflict in openlp/plugins/remotes/html/main.js
Contents conflict in openlp/plugins/remotes/html/openlp.css
Contents conflict in openlp/plugins/remotes/html/openlp.js
Contents conflict in openlp/plugins/remotes/html/stage.css
Contents conflict in openlp/plugins/remotes/html/stage.js
Text conflict in openlp/plugins/remotes/lib/remotetab.py
Text conflict in openlp/plugins/songs/forms/editsongform.py
Text conflict in openlp/plugins/songs/lib/__init__.py
Text conflict in openlp/plugins/songs/lib/importers/easyworship.py
Text conflict in openlp/plugins/songs/lib/importers/mediashout.py
Text conflict in openlp/plugins/songs/lib/importers/openlp.py
Text conflict in openlp/plugins/songs/lib/importers/songbeamer.py
Text conflict in openlp/plugins/songs/lib/importers/videopsalm.py
Text conflict in openlp/plugins/songs/lib/mediaitem.py
Text conflict in openlp/plugins/songs/lib/songselect.py
Text conflict in resources/i18n/af.ts
Text conflict in resources/i18n/bg.ts
Text conflict in resources/i18n/cs.ts
Text conflict in resources/i18n/da.ts
Text conflict in resources/i18n/de.ts
Text conflict in resources/i18n/el.ts
Text conflict in resources/i18n/en.ts
Text conflict in resources/i18n/en_GB.ts
Text conflict in resources/i18n/en_ZA.ts
Text conflict in resources/i18n/es.ts
Text conflict in resources/i18n/et.ts
Text conflict in resources/i18n/fi.ts
Text conflict in resources/i18n/fr.ts
Text conflict in resources/i18n/hu.ts
Text conflict in resources/i18n/id.ts
Text conflict in resources/i18n/ja.ts
Text conflict in resources/i18n/ko.ts
Text conflict in resources/i18n/lt.ts
Text conflict in resources/i18n/nb.ts
Text conflict in resources/i18n/nl.ts
Text conflict in resources/i18n/pl.ts
Text conflict in resources/i18n/pt_BR.ts
Text conflict in resources/i18n/ru.ts
Text conflict in resources/i18n/sk.ts
Text conflict in resources/i18n/sv.ts
Text conflict in resources/i18n/ta_LK.ts
Text conflict in resources/i18n/th_TH.ts
Text conflict in resources/i18n/zh_CN.ts
Text conflict in resources/i18n/zh_TW.ts
Conflict adding file resources/images/ios_app_qr.png.  Moved existing file to resources/images/ios_app_qr.png.moved.
Text conflict in scripts/translation_utils.py
Text conflict in tests/functional/openlp_core_common/test_projector_utilities.py
Text conflict in tests/functional/openlp_core_common/test_registryproperties.py
Contents conflict in tests/functional/openlp_core_lib/test_color_button.py
Text conflict in tests/functional/openlp_core_lib/test_htmlbuilder.py
Text conflict in tests/functional/openlp_core_lib/test_projector_pjlink1.py
Text conflict in tests/functional/openlp_core_ui/test_aboutform.py
Text conflict in tests/functional/openlp_core_ui/test_firsttimeform.py
Contents conflict in tests/functional/openlp_core_ui/test_listpreviewwidget.py
Text conflict in tests/functional/openlp_core_ui/test_mainwindow.py
Text conflict in tests/functional/openlp_core_ui/test_servicemanager.py
Conflict adding file tests/functional/openlp_core_ui/test_shortcutlistdialog.py.  Moved existing file to tests/functional/openlp_core_ui/test_shortcutlistdialog.py.moved.
Conflict adding file tests/functional/openlp_core_ui/test_themetab.py.  Moved existing file to tests/functional/openlp_core_ui/test_themetab.py.moved.
Conflict adding file tests/functional/openlp_core_ui_media/test_systemplayer.py.  Moved existing file to tests/functional/openlp_core_ui_media/test_systemplayer.py.moved.
Conflict adding files to tests/functional/openlp_core_utils.  Created directory.
Conflict because tests/functional/openlp_core_utils is not versioned, but has versioned children.  Versioned directory.
Contents conflict in tests/functional/openlp_core_utils/__init__.py
Contents conflict in tests/functional/openlp_core_utils/test_actions.py
Contents conflict in tests/functional/openlp_core_utils/test_db.py
Contents conflict in tests/functional/openlp_core_utils/test_first_time.py
Contents conflict in tests/functional/openlp_core_utils/test_init.py
Contents conflict in tests/functional/openlp_core_utils/test_utils.py
Conflict adding file tests/functional/openlp_plugins/bibles/test_manager.py.  Moved existing file to tests/functional/openlp_plugins/bibles/test_manager.py.moved.
Text conflict in tests/functional/openlp_plugins/presentations/test_pdfcontroller.py
Text conflict in tests/functional/openlp_plugins/songs/test_editsongform.py
Text conflict in tests/functional/openlp_plugins/songs/test_lib.py
Conflict adding file tests/functional/openlp_plugins/songs/test_openlpimporter.py.  Moved existing file to tests/functional/openlp_plugins/songs/test_openlpimporter.py.moved.
Text conflict in tests/functional/openlp_plugins/songs/test_songselect.py
Text conflict in tests/functional/openlp_plugins/songusage/test_songusage.py
Contents conflict in tests/interfaces/openlp_core_common/test_historycombobox.py
Text conflict in tests/interfaces/openlp_core_lib/test_pluginmanager.py
Contents conflict in tests/interfaces/openlp_core_ui/test_listpreviewwidget.py
Conflict adding files to tests/interfaces/openlp_core_utils.  Created directory.
Conflict because tests/interfaces/openlp_core_utils is not versioned, but has versioned children.  Versioned directory.
Contents conflict in tests/interfaces/openlp_core_utils/__init__.py
Contents conflict in tests/interfaces/openlp_core_utils/test_utils.py
Text conflict in tests/interfaces/openlp_plugins/custom/forms/test_customform.py
Conflict adding file tests/resources/easyslidessongs/Export_2017-01-12_BB.json.  Moved existing file to tests/resources/easyslidessongs/Export_2017-01-12_BB.json.moved.
Conflict adding file tests/resources/easyslidessongs/Export_2017-01-12_BB.xml.  Moved existing file to tests/resources/easyslidessongs/Export_2017-01-12_BB.xml.moved.
Conflict adding file tests/resources/opensongsongs/Amazing Grace with bad CCLI.  Moved existing file to tests/resources/opensongsongs/Amazing Grace with bad CCLI.moved.
Conflict adding file tests/resources/opensongsongs/Amazing Grace without CCLI.json.  Moved existing file to tests/resources/opensongsongs/Amazing Grace without CCLI.json.moved.
Conflict adding file tests/resources/songshowplussongs/cleanse-me.json.  Moved existing file to tests/resources/songshowplussongs/cleanse-me.json.moved.
Conflict adding file tests/resources/songshowplussongs/cleanse-me.sbsong.  Moved existing file to tests/resources/songshowplussongs/cleanse-me.sbsong.moved.
Conflict adding file tests/resources/videopsalmsongs/as-safe-a-stronghold2.json.  Moved existing file to tests/resources/videopsalmsongs/as-safe-a-stronghold2.json.moved.
Conflict adding file tests/resources/videopsalmsongs/videopsalm-as-safe-a-stronghold2.json.  Moved existing file to tests/resources/videopsalmsongs/videopsalm-as-safe-a-stronghold2.json.moved.
To merge this branch: bzr merge lp://qastaging/~raoul-snyman/openlp/off-by-one-2.4
Reviewer Review Type Date Requested Status
OpenLP Core Pending
Review via email: mp+318708@code.qastaging.launchpad.net

This proposal has been superseded by a proposal from 2017-03-02.

To post a comment you must log in.
2676. By Raoul Snyman

Forgot a few things

Unmerged revisions

2676. By Raoul Snyman

Forgot a few things

2675. By Raoul Snyman

Fixed a test

2674. By Raoul Snyman

Some tests to go with it

2673. By Raoul Snyman

Hopefully, for one and for all, fix the off-by-one issues on all platforms

2672. By Raoul Snyman

Release 2.4.5

2671. By Tim Bentley

Translations 03022017

2670. By Raoul Snyman

Fix some bugs in the songsusage plugin:

 * Bug 1532193
 * Bug 1661416

Add this to your merge proposal:
--------------------------------
lp:~raoul-snyman/openlp/fix-songusage-2.4 (revision 2671)
[SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/1899/
[SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/1810/
[SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1749/
[SUCCESS] https://ci.openlp.io/job/Branch-04a-Windows_Functional_Tests/1485/
[SUCCESS] https://ci.openlp.io/jo...

2669. By Tim Bentley

Fix incorrect menu link

lp:~trb143/openlp/fixes245 (revision 2670)
[SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/1898/
[SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/1809/
[SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1748/
[SUCCESS] https://ci.openlp.io/job/Branch-04a-Windows_Functional_Tests/1484/
[SUCCESS] https://ci.openlp.io/job/Branch-04b-Windows_Interface_Tests/1074/
[SUCCESS] https://ci.openlp.io/job/Branch-05a-Code_Analysis/1142/
[SUCCESS] https://...

2668. By Raoul Snyman

We're getting quite a few support tickets from people who think the Projector Manager is for setting up OpenLP's display. Hiding the projector manager by default should prevent this from happening as often as it currently is.

2667. By Tim Bentley

Updated translations
fix the script
fix the utf8 blocker for updates

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.