Merge lp:~meths/openlp/trivialfixes into lp:openlp

Proposed by Jon Tibble
Status: Superseded
Proposed branch: lp:~meths/openlp/trivialfixes
Merge into: lp:openlp
Diff against target: None lines
To merge this branch: bzr merge lp:~meths/openlp/trivialfixes
Reviewer Review Type Date Requested Status
Tim Bentley Needs Fixing
Review via email: mp+12178@code.launchpad.net

This proposal has been superseded by a proposal from 2009-09-21.

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

Some looks go but some is bad.
Lines 21-28 etc make the code more unreadable.
Readability is vital

review: Needs Fixing
lp:~meths/openlp/trivialfixes updated
563. By Jon Tibble

Coding Standards

564. By Tim Bentley

Best merge ever

565. By Tim Bentley

Audit changes and clean up

566. By Jonathan Corwin

Merge from lp:~j-corwin/openlp/presentations

567. By Jon Tibble

Code clean ups

568. By Tim Bentley

Audit Changes to database

569. By Jonathan Corwin

Merge from lp:~j-corwin/openlp/presentations

570. By Jon Tibble

PPTViewer fixes

571. By Jon Tibble

Imports clean up

572. By Tim Bentley

Plugin changes to Audit, Song and Custom

573. By Jon Tibble

None testing and clean ups

574. By Tim Bentley

Plugin updates

575. By Jonathan Corwin

Jons Presentation merge with hack to fix conflicts

576. By Tim Bentley

Audit changes and cleanups

577. By Jonathan Corwin

Presentation merge with gotos

578. By Jon Tibble

Fix presentation starting

579. By Jon Tibble

Use buildIcon and fixes

580. By Tim Bentley

Style cleanups

581. By Jonathan Corwin

Presentations made it at last

582. By Jonathan Corwin

Presentation dll

583. By Tim Bentley

Start of about Text

584. By Jon Tibble

Dialogs, Exceptions and Toolbars

585. By Tim Bentley

Update PluginList Window

586. By Jonathan Corwin

Presentation updates

587. By Tim Bentley

Add Ability to hide plugins

588. By Jonathan Corwin

More Presentation improvements

589. By Tim Bentley

More hiding code changes

590. By Tim Bentley

Fix song issue

591. By Jon Tibble

Presentation cleanups

592. By Jon Tibble

Bible rendering fixes

593. By Tim Bentley

Apply fixes for Jon

594. By Raoul Snyman

Merged in lp:~raoul-snyman/openlp/pluginlist

595. By Tim Bentley

Plugin hinding comes to town

596. By Jonathan Corwin

More Presentation fixes

597. By Tim Bentley

Various changes and fixes

598. By Jonathan Corwin

TLC for the asv

599. By Raoul Snyman

Merged in lp:~raoul-snyman/openlp/versionfix

600. By Tim Bentley

Add Web Bibles to Advanced Tab and other nice features

601. By Jonathan Corwin

Presentation changes

602. By Tim Bentley

Update config files for deployment

603. By Tim Bentley

Changes to settings and SlideController handling

604. By Jon Tibble

Python 2.5 fixes

605. By Raoul Snyman

Merged in lp:~raoul-snyman/openlp/uifixes

606. By Raoul Snyman

Merge from lp:~raoul-snyman/openlp/uifixes

607. By Jonathan Corwin

Merged in lp:~j-corwin/openlp/present

608. By Raoul Snyman

Merged lp:~raoul-snyman/openlp/uifixes

609. By Tim Bentley

Theme Image and Presentation fixes

610. By Jon Tibble

General fixes

611. By Tim Bentley

General Tab Changes

612. By Jonathan Corwin

Merged tweaks to openlpcnv.pyw

613. By Raoul Snyman

Merge from lp:~raoul-snyman/openlp/converter

614. By Raoul Snyman

Fix Slide Controller look and feel

615. By Raoul Snyman

Fix Bible Media manager look and feel

616. By Jonathan Corwin

Presentation fixes for Impress

617. By Tim Bentley

Bible Fixes

618. By Tim Bentley

Theme features - wrap indentation and lines per slide

619. By Tim Bentley

Font Sizing and rendering improvements

620. By Jonathan Corwin

Presentations Impress mini display

621. By Raoul Snyman

Merge from lp:~raoul-snyman/openlp/i18n

622. By Jon Tibble

Fix imports and config item

623. By Tim Bentley

Song editing from Preview, bible fixes

624. By Jon Tibble

Fix imports and typo

625. By Tim Bentley

fix up song edit from preview

626. By Jonathan Corwin

More presentation fixes

627. By Tim Bentley

Save and preview + dynamic theme changing

628. By Raoul Snyman

Fix slide controller look and feel

629. By Raoul Snyman

Fix i18n issues

630. By Tim Bentley

Move Audit to SongUsage , Return of BibleGateway part1. Additions to SlideController

631. By Tim Bentley

Add more bible sources and improve handling

632. By Jon Tibble

Fix plugintabs i18n

633. By Jon Tibble

Fix i18n and cleanup for New Theme

634. By Tim Bentley

Edit Songs and Custom for Service Manager and auto replace

635. By Jon Tibble

Fix i18n for mediaitems

636. By Jon Tibble

Fix unnecessary screen setup

637. By Tim Bentley

Minor fixes

638. By Jon Tibble

Fix theme editing, copyright and song icon

639. By Jon Tibble

Plugin fixes, cleanups and i18n

640. By Tim Bentley

Fixes to Renderer etc

641. By Tim Bentley

Remote Song Editing Finished - minor other changes

642. By Jon Tibble

Fix typos

643. By Tim Bentley

Fix up editing code from Preview and ServiceManager

644. By Raoul Snyman

Fix up converter

645. By Tim Bentley

Clean up the version code and remove not required file

646. By Tim Bentley

Media is starting to work - just

647. By Jon Tibble

Fix mediaitem translation

648. By Jon Tibble

Enable consecutive video playing

649. By Tim Bentley

Minor fixes and copyright

650. By Tim Bentley

Merge it right this time

651. By Jon Tibble

Single monitor display hiding

652. By Jon Tibble

Cleanups

653. By Tim Bentley

Expansion and Song editing fixes

654. By Tim Bentley

Fix song editing error messages

655. By Jon Tibble

Various cleanups and fixes

656. By Jon Tibble

More fixes

657. By Raoul Snyman

Merged in display fixes from lp:~raoul-snyman/openlp/fixes

658. By Jon Tibble

Clean theme handling

659. By Tim Bentley

Remote editing for custom and theme fix

660. By Jon Tibble

Fix file handling

661. By Tim Bentley

Plugin clean ups

662. By Jonathan Corwin

Presentation fixes

663. By Tim Bentley

SlideController cleanups

664. By Tim Bentley

Fix bugs in theme and slidecontroller

665. By Tim Bentley

Clean up slidecontroller

666. By Tim Bentley

Add media Preview code

667. By Tim Bentley

Change version number

668. By Jon Tibble

Unicode and import fixes

669. By Tim Bentley

Slide Controller cleanups and Media bug fixes

670. By Jon Tibble

Cleanups and fixes

671. By Raoul Snyman

Merged in lp:~raoul-snyman/openlp/bitsandbobs

672. By Raoul Snyman

Updated version.txt

673. By Tim Bentley

Refactor Service Item and clean up Slide Controller

674. By Michael Gorven

Merge get-strings: Improve regex to extract translation strings.
https://code.launchpad.net/~mgorven/openlp/get-strings/+merge/15120

675. By Tim Bentley

Updates to the Renderer and impose minimum slide width

676. By Raoul Snyman

Merge from lp:~raoul-snyman/openlp/bitsandbobs

677. By Michael Gorven

Merge lp:~mgorven/openlp/get-strings-ast: Use AST module to parse code and extract translation strings.
https://code.launchpad.net/~mgorven/openlp/get-strings-ast/+merge/15328

678. By Raoul Snyman

Merged in lp:~raoul-snyman/openlp/i18n

679. By Tim Bentley

Verse tagging changes etc

680. By Tim Bentley

Add verse expansion from song plugin

681. By Tim Bentley

Cannot type

682. By Raoul Snyman

Merge from lp:~raoul-snyman/openlp/bitsandbobs

683. By Michael Gorven

Merge lp:~mgorven/openlp/copyright-symbol: Fix copyright symbol in translation strings.
https://code.launchpad.net/~mgorven/openlp/copyright-symbol/+merge/15399

684. By Tim Bentley

Verse Tagging

685. By Tim Bentley

Merge from lp:~trb143/openlp/cleanup

686. By Tim Bentley

Fix Theme handling so Song level works again

687. By Tim Bentley

Fix Theme tab handling

688. By Tim Bentley

Fix bibles and themes

689. By Tim Bentley

Presentation, Custom , bug fixes

690. By Tim Bentley

Add Shadow and Outline options to Themes

691. By Tim Bentley

Fix bug stopping Custom editing

692. By Raoul Snyman

Merged in OpenSong/Bible importer branch.

693. By Raoul Snyman

Merge in changes from lp:~raoul-snyman/openlp/biblesplugin

694. By Raoul Snyman

Updated the copyright.

695. By Tim Bentley

Changes to:
 Alerts so they wait before being displayed
 Presentations so they work correctly
 Themes so the blank line is removed
 Rendering so the correct size is used
 Themes are cached so theme manager loads quicker

Various other fixes

696. By Tim Bentley

More Fixes for Presentations
Fix screen blanking so resets for Video
Fix screen blanking so it does not remember at start up if set by presentations and video.
Fix Pop ups so they display on correct monitor

697. By Raoul Snyman

New version 1 -> 2 Bible converter script.

698. By Tim Bentley

Display updates, Song Usage fixes, Theme display fixes

699. By Tim Bentley

Changes to presentations to allow smart file selection
Fix ServiceManager to load / save services.
Add start of filtering to allow Services to handle presentations where the player is missing
Add debugging to try and sort out Impress crashes.

700. By Raoul Snyman

Some major work on the Bibles plugin:
 - Reworked import system to make it pluggable.
 - Created a Bible Import Wizard.
 - Converted Crosswalk to use BeautifulSoup.
 - Merged HTTP and DB Bible list.
 - Made all Bibles descend from BibleDB.
 - Lots of other changes and fixes.

701. By Tim Bentley

Fix up notification on startup
Fix alerts for presentations
Fix remote client so works better
Add extra key strokes for display of songs

702. By Tim Bentley

Fix Presentation file filter
Fix Cancel for song verse editor

703. By Tim Bentley

Fix number of song verses. > 10

704. By Tim Bentley

Fix theme import bug

705. By Tim Bentley

Fix SongUsage Dialog so should be complete
Minor bug fixes discovered and fixed.
Alerts - Major refactor
* Make a plugin
* Move code from maindisplay into plugin
* Add Location , Font size and History option to Font Tab and fix code to use them
* Add button to Alert Tab to allow History to be edited
* Amend Alert screen to be able to use History if option set
* Build screen to allow alerts to be Added / Edited and Deleted.

706. By Jonathan Corwin

A couple of small changes to get powerpoint+viewer working.

707. By Tim Bentley

Fix displayAlert error
Fix UTF8 settings on SongUSage dialog

708. By Jonathan Corwin

A few more small presentation fixes/cosmetics.

709. By Raoul Snyman

Updated version.txt to the latest revision.

710. By Raoul Snyman

Moved the log file to a location that OpenLP can write to as an unpriviledged user.

711. By Jon Tibble

Import and theme importing fixes

712. By Raoul Snyman

Cleaned up setup.py file, so that a source distribution is possible, and also packages can be built.

713. By Michael Gorven

Add menu entry .desktop file and some source tarball and script fixes.
https://code.launchpad.net/~mgorven/openlp/menu-entry/+merge/19978

714. By Tim Bentley

Fix Presentation Tag and flush Renderer cache on re-paint

715. By Raoul Snyman

Trying to set a tag on trunk.

716. By Tim Bentley

Add HTTP Check to Thread to stop UI blocking at startup
Add Preview option for songs etc from service manager

717. By Tim Bentley

Fix lost text on Song editing
Fixed Display on SlideController
Fixed bugs in last merge
Cleaned up comments and some log debug statements.

718. By Tim Bentley

Automate Media type list from phonon

719. By Raoul Snyman

Added some more icons.

720. By Jonathan Corwin

Split live/preview presentation documents, plus fixes for Windows

721. By Raoul Snyman

A fix to the OSIS importer, and added the version file.

722. By Raoul Snyman

Create the config directory if it doesn't exist yet, in order to save the log file.

723. By Tim Bentley

Cleaned up logging code
Added code to stop themes in use being deleted
Added Service Notes to service items
Fixed ServiceManager context menu so it works based on the item selected
Various minor bug fixes
Fix up bug for Theme savings and OOS

724. By Jonathan Corwin

Presentations:
- Close presentation app down correctly
- Add mode to automatically detect file type

725. By Tim Bentley

Add indication if service item has notes
Add display of notes as Tooltip

726. By Tim Bentley

Remove version tag

727. By Tim Bentley

Fix serviceItem expansion on repaint
Add ALL to Images file filter
Add Icon overlay to serviceItem when we have notes.

728. By Raoul Snyman

Fixed up some problems and inadvertant bugs from the move of the "get-strings.py" file to the scripts directory.

729. By Tim Bentley

ServiceManager fixes

730. By Raoul Snyman

Windows modifications:
- Added Windows build files.
- Added Windows installer files.
- Modified the tabs in the media manager to look a little better on both Windows and Linux.
- Windows icon.

731. By Jon Tibble

Truth test and C style cleanups

732. By Raoul Snyman

Fix "red letter" versions of Crosswalk Bibles.

733. By Jonathan Corwin

Fix issues regarding the blank button for presentations and added methods to extract presentation text and notes for use in the future.

734. By Tim Bentley

Refactor renderer to do outline correctly
Add removal of footer for blank screens
Fix song edit bug allowing preview to be triggered.

735. By Tim Bentley

Fix text strings and new verse tag

736. By Raoul Snyman

Added some icons.

737. By Raoul Snyman

Fixed up Mac OS X detection

--------------- This line and the following will be ignored --------------

modified:
  openlp.pyw
  openlp/core/utils/__init__.py
pending merges:
  Raoul Snyman 2010-03-12 - Fixed up Mac OS X detection

738. By Raoul Snyman

Added various fixes for the Windows build.

739. By Tim Bentley

Text string fixes

740. By Raoul Snyman

Various fixes in the Bibles plugin to get Bibles working correctly in the Windows build.

741. By Tim Bentley

Fix ServiceManager drag and drop`
Fix rendering size issues
Fix screen sizes following display changes

742. By Tim Bentley

Fix blank screen color
Fix save and cancel of services
Fix tool shortcut
add a filter to the save dialog - "OpenLP Service Files (*.osz)

743. By Raoul Snyman

Merged in some translation fixes.

744. By Raoul Snyman

Some fixes in the Bible plugin.

745. By Jon Tibble

Cleanups

746. By Jon Tibble

AppLocation.PluginsDir changes

747. By Raoul Snyman

Fixed the BibleGateway importer.

748. By rimach

Make the "Blank" button work.

749. By Raoul Snyman

Fixed a bug where failed/cancelled imported Bible files are not deleted.

750. By Tim Bentley

Fix NONE appearing as song verses
Delay the hidden window display
Fix missing add status for custom slides

751. By Raoul Snyman

Bug fixes for the Bible imports.

752. By Tim Bentley

Stop double loading of Service items from service manager unless triggered by remote edit.

753. By Raoul Snyman

Being overzealous about unicode.

754. By Raoul Snyman

Various fixes to the Bibles plugin.

755. By Raoul Snyman

Add Christian and Phill to the credits

756. By Raoul Snyman

Bugfixes in Bibles.

757. By Raoul Snyman

Change the "Live" icon.

758. By Jonathan Corwin

Fixed a bug with transparent backgrounds.

759. By Jonathan Corwin

Fix up the bible migration.

760. By Raoul Snyman

Changes:
- Changed the "New" icon to an "Import" icon for the Bibles plugin.
- Consolidated icons to make the resources file a little smaller.
- A few other small tweaks.

761. By Jonathan Corwin

Close down presentation apps at end correctly

762. By Jon Tibble

Unused variable and import fixes

763. By Jon Tibble

Change loop method and remove unused variables

764. By Tim Bentley

Add enter to quick bible edit field

765. By Raoul Snyman

Fixed two bugs in the web downloads import dealing with non-latin characters.

766. By Raoul Snyman

Start presentation apps in right place.

767. By Tim Bentley

Fix bug for PyTQ4.4

768. By Michael Gorven

Correct .desktop file syntax so that rpmbuild doesn't fail.
https://code.launchpad.net/~mgorven/openlp/desktop-file-rpmbuild/+merge/22231

769. By Tim Bentley

Fix text outlines

770. By Raoul Snyman

Update the credits.

771. By Raoul Snyman

Fixed a bug with Strongs in CrossWalk.

772. By Raoul Snyman

Fix to deal with "X.Y.Z" style version (i.e. without the "-bzrXXX").

773. By Raoul Snyman

Fixed the "Bible" item in the "Import" menu.

774. By Tim Bentley

Fix dates

775. By Raoul Snyman

Bible fixes:
 - Red letter text on CrossWalk import.
 - Removed text on web download progress, moved to an "indeterminable" progress style.
 - Some unicode optimisations.

776. By Raoul Snyman

Tag the 1.9.1 release.

777. By Tim Bentley

* Refactor the Alerts plugin and remove an un-needed screen
* Fix saving serviceitems from manager so data is saved correctly(not backward compatible)
* Clean up the Editing code for Songs so Editall works better
* Add missing icons to slidecontroller for theme and hide. (Restore does not work yet!)
* Add ability to add to existing service items for images and bibles
* Add ability to reorder leaves within serviceitems (Images only)
* Refactor the dynamic image replacement code in plugins
* Allow multiple images to be deleted from plugin
* Add more items to context menus.

778. By Jon Tibble

Import cleanups

779. By Raoul Snyman

Fixed a broken import.

780. By Tim Bentley

Fix media path bug

781. By Raoul Snyman

Added images I forgot to add when I cleaned up the images a little.

782. By Jonathan Corwin

Songs of Fellowship song import

783. By Tim Bentley

Display handling cleanups and changes to service item flags

784. By Tim Bentley

Remove old files. Clean up verse tags part 1

785. By Jonathan Corwin

Songs of Fellowship fixes
Multiple song delete from media manager

786. By Tim Bentley

Add multi add to service manager and check image previews

787. By Raoul Snyman

Some fixes to the songs converter script.

788. By Jonathan Corwin

Tidy up song database, and add Arky Arky!

789. By Tim Bentley

Fedora packaging fixes

790. By Tim Bentley

Add time to more service item types
Add video slider bar to preview.
Change hide live to transparent live!
Split video out to own display so text over video can work.
Number of other bugs fixed.
Custom editor has slide split button now

791. By Raoul Snyman

Fix version problems.

792. By Jon Tibble

Import and line ending fixes

793. By Jonathan Corwin

General purpose OOo writer/impress (Word/PPT) import
plus fix for systems without OOo

794. By mahfiaz

Fixed up the loading and saving of non-ascii values to the config file.

795. By Raoul Snyman

dded autocompletion to the authors, topics, songbooks and themes.

796. By Tim Bentley

Alert manager cleanups
Improvements in video display

797. By Jon Tibble

Import fixes and typo

798. By Tim Bentley

Alert manager cleanups
Presentation icons
Detect missing files and change icon

799. By Jonathan Corwin

Refactor signal/slot names for consistency and to remove plugin specifics from core.

800. By Jon Tibble

QSettings, recent files and UI saving

801. By Jon Tibble

Help -> Website and disable unimplemented options

802. By Jon Tibble

Consistency fixes

803. By Tim Bentley

Fix the hide buttons so they work for text and videos. Presentations needs looking at!
Fix presentations so they work
Add new attribute to themes so line spacing can be adjusted bigger and smaller
Alerts over videos now works correctly.
Add new setting so Text frames can be sized and positioned for use where a monitor is different size to the final output.

804. By Tim Bentley

Text over video arrives to OpenLP

805. By Jon Tibble

Coding standards fixes

806. By Tim Bentley

Fix loop in ending video to stop crashes.
Add comments
rename _frame and _frameOP

807. By Jonathan Corwin

Remote operation via web

808. By Tim Bentley

Fix Presentations and add DnD to serviceitem updates

809. By Tim Bentley

Fix bible spelling in database

810. By Raoul Snyman

Documentation!

811. By Jonathan Corwin

Remotes: support more filetypes and subfolders for web
presentation_hide signal support

812. By Tim Bentley

Correctly default initial display on 1st setup
Stop timer on New service Item
Stop serviceitems being played if no player available.

813. By Martin Thompson

Merged from mjthompson/qt4.4

814. By Tim Bentley

Turbo change the screen renderer by adding a cache
Fix names which are incorrect

815. By Martin Thompson

Fixed crash when non-existent monitor is called for in OpenLP.conf

816. By rimach@siduxbox

Add translations and update the code to accept them/use them

817. By andreas@andypc

Fix bug in bibles with 2 bible displays

818. By Tim Bentley

Clean up slide controllers so they display right
Fix screen hight.
Fix renderer so the footer is not line width adjusted.
Various other cleanups

819. By Raoul Snyman

Merged in lp:~raoul-snyman/openlp/song-import
- Removed menu items to import and export dialogs that don't work
- Added the new song Import Wizard
- Reworked the Edit Verse dialog

820. By Tim Bentley

Verse editor cleanups

821. By Jon Tibble

Unused import and variable fixes

822. By Raoul Snyman

Some fixes for the Windows build.

823. By Tim Bentley

Fix memory leak and improve slide controller tags

824. By Raoul Snyman

Created a Windows build script to help automate the building of Windows installers for OpenLP.

825. By Raoul Snyman

Better version checking.

826. By Jon Tibble

Many varied cleanups

827. By andreas@andypc

Now the footer displays both bible versions and their copyright in dual bible view. Also made another small fix (in rev827): "Permission" -> "Permissions"

828. By Raoul Snyman

Some more tweaks and fixes to the Windows builder script.

829. By Jon Tibble

Refactor BaseModel

830. By mahfiaz

Estonian translation

831. By Jon Tibble

Import, exception, naming and whitespace cleanups

832. By Meinert Jordan <email address hidden>

QString to Unicode conversions.

833. By Tim Bentley

Amend verse tagging code for translations

834. By Meinert Jordan <email address hidden>

Fix Qstring bug
Update Combo code

835. By Jon Tibble

Catch correct exception type

836. By frodus@frodus-laptop

Cleaned up the whole tree by replacing all trUtf8() with translate() function

837. By Jon Tibble

Cleanups

838. By Jon Tibble

Cleanups and fixes:
* PEP8 type checking
* Fix theme export breakage
* Naming and whitespace

839. By Jon Tibble

Remove and refactor:
* Remove old song import/export forms
* Refactor theme migration method
* Refactor duplicationed code

840. By Jon Tibble

DocStrings

841. By Jon Tibble

Move VerseType to lib

842. By Raoul Snyman

Tidied up the UI of the Song Maintenance Dialog to make it look good on all OSes.

843. By Tim Bentley

Fix problems with screen blanking

844. By Jon Tibble

Various cleanups:
* Fix bible runtime location
* Naming fixes
* Move addToServiceItem
* Fix db settings location

845. By Jon Tibble

Fix QColorDialog usage

846. By Jon Tibble

Revert resources location patch

847. By Meinert Jordan

Various i18n fixes.

848. By Jonathan Corwin

Fix opening and displaying of presentations

849. By Frode Woldsund

Complete trUtf8 -> translate conversion

850. By Jon Tibble

Bible search fix
Edit and Delete feedback for Media Manager Items
Fix Bible Import Wizard setField errors
Fix addToServiceItem locations
Remove unused scripts/get-strings.py

851. By Jon Tibble

Import translate in splashscreen.py

852. By Tim Bentley

Fix DND problems with live and cache
Fix bible footers being lost
Fix Image editing losing selection.

853. By Jon Tibble

HTTPBible Verse Count and Bug #595671

854. By Raoul Snyman

Merged in song maintenance improvements.

855. By Raoul Snyman

Some streamlining of the song edit form.

856. By Tim Bentley

Translation updates
Remove Text over video for now.
Fix song editing bug

857. By Frode Woldsund

String Cleanup in MainWindow

858. By Jon Tibble

Complete openlp.migration removal

859. By Meinert Jordan

Unicode for Themes

860. By Jon Tibble

Cleanups

861. By Raoul Snyman

Fix up the available image formats somewhat.

862. By Meinert Jordan

Various fixes in the song edit form, and other places.

863. By Raoul Snyman

Fix bug #596506 and bug #596505

864. By Jon Tibble

Cleanups

865. By Tim Bentley

Fix bug #596821

866. By Raoul Snyman

Updated the majority of the translate() functions.

867. By Tim Bentley

Translation string updates

868. By Jonathan Corwin

Bug 596995 - Fix remote plugin via PPA

869. By Jon Tibble

Stray backslashes and translate() updates

870. By Raoul Snyman

Fix up Theme form parentage.

871. By Frode Woldsund

Another translate() bugfix.

872. By Jon Tibble

* Fix log file location (Bug #596822)
* Script resources generation
* Cleanup long lines

873. By Jon Tibble

Fix version check (Bug #597121)

874. By Tim Bentley

Fix screen blanking when in single screen

875. By rimach

Various improvements to the translation_utils script.

876. By Tim Bentley

Update plugin versions and cleanups

877. By Jon Tibble

Ampersands and item selection checking

878. By Raoul Snyman

Fix bug #595676i, improve the OSIS importer and add source languages from Pootle.

879. By Jon Tibble

Fix check_item_selection

880. By Jonathan Corwin

Presentation tidies

881. By Jonathan Corwin

pptviewlib changes

882. By Raoul Snyman

Fix the song plugin's dependence on OpenOffice.org by conditionally importing the SOF and Generic importers.

883. By Frode Woldsund

Fixed (c) symbol.

884. By Tim Bentley

Stop delete of last Image

885. By Jon Tibble

Docstrings

886. By andreas <andreas@andypc>

ListWidget usability improvement

887. By Jon Tibble

Cleanups

888. By Jonathan Corwin

Bug 596361 and other minor presentation fixes

889. By Jonathan Corwin

sofimport error due to missing uno prevented song plugin loading (osx)

890. By Andreas Preikschat

Improved delete button behaviour.

891. By Raoul Snyman

Fixed up problems with version checking.

892. By Jonathan Corwin

Trap presentation errors when OpenOffice.org is not installed

893. By Jon Tibble

Fix off-by-one saving songs

894. By Jon Tibble

Refactor database code

895. By Tim Bentley

Start of Display changes.
- Move output displays to QGraphicScene's
- Sort out Video display so it works with hiding / displaying #595682
- Move Alerts to Html from Images
- Hide the Service Dropdown when Global Theme is set #596541
- Slidecontroller Button cleanups

896. By Andreas Preikschat

Fixed bug #599066 - Deleting bugs in media manager (custom, media, images, presentations).

897. By Jon Tibble

* Fix theme deletion
* Naming fixes
* Docstrings

898. By Jon Tibble

Docstrings

899. By Jon Tibble

Fix service loading

900. By Raoul Snyman

Added decent images for remotes, alerts and song usage.

901. By Jon Tibble

Fix service loading properly (Bug #600091)

902. By Tim Bentley

Replaceable backgrounds get the HTML treatment.
Sensible Text over video returns.

903. By Raoul Snyman

Change namespace of other plugin icons and make ServiceItems use the plugin's icon instead of some arb image "prediction" that is prone to failure.

904. By Jon Tibble

Database fixes and refactorings

905. By Jon Tibble

Cleanups and sizePolicy refactor

906. By Jon Tibble

Fix song loading and wildcard import

907. By Jon Tibble

Cleanup plugins (Bug #600996)

908. By Tim Bentley

Move video and Image clean ups.
Transitions work again after last merge!

909. By Andreas Preikschat

Some random fix ;-)

910. By Tim Bentley

Name cleanups

911. By Jonathan Corwin

Cleanups and fix PPTViewer dll loading

912. By Phill

Fix up video tag for webkit view.
Remove unused tag

913. By Jon Tibble

Import fix

914. By Jon Tibble

Start XML refactoring

915. By Jon Tibble

Fixes and cleanups

916. By Tim Bentley

Fix up plugin Meths style

917. By Jon Tibble

Fix song saving

918. By Jonathan Corwin

Presentation fixes

919. By Raoul Snyman

Shuffle the menus and add a nice little icon for the plugin list.

920. By Raoul Snyman

Fix up some strings and come bugs in the alerts plugin.

921. By Raoul Snyman

Added View Modes.

922. By Raoul Snyman

Fixed a small bug with one of the toggle menu items.

923. By Jon Tibble

Tweaks and cleanups

924. By Jon Tibble

Refactor view mode code

925. By andreas <andreas@andypc>

Whitespace cleanups

926. By andreas <andreas@andypc>

Naming and whitespace cleanups

927. By Jon Tibble

Big cleanup

928. By Jon Tibble

build_icon fixes

929. By Jon Tibble

AdvancedTab

930. By Jon Tibble

Fix service saving (Bug #603798)

931. By Jon Tibble

Fix recent merge

932. By Jonathan Corwin

Common thumbnails for all presentation types and create when presentation first added

933. By Jon Tibble

Import fixes

934. By Andreas Preikschat

Improve song data integrity

935. By Jon Tibble

Save current media plugin (Bug #596540)

936. By Jon Tibble

Theme backgrounds (Bug #594911)

937. By Jon Tibble

Double click live setting

938. By Jon Tibble

Fix theme editing (Bug #594909 part 1)

939. By Jon Tibble

Fix AdvancedTab layout

940. By Jon Tibble

Fix service save icon method

941. By Raoul Snyman

Removed the display tab, moved options to general tab, plus some cleanups.

942. By Jon Tibble

Fix service save location (Bug #605649)

943. By Andreas Preikschat

Import fix

944. By Phill

Sorted out the show/hide desktop.

945. By Jon Tibble

Use populate() for DB objects

946. By Jon Tibble

Tab Order and Theme fix (Bug #606256)

947. By Jon Tibble

Fix English and alignment

948. By Tim Bentley

Fix text hiding bug with images

949. By Jon Tibble

Fixes and cleanups

950. By Billy Lange

Add confirm before theme delete

951. By Martin Thompson

Merged opensong import branch

952. By Andreas Preikschat

Cleanups and song data merging

953. By Jon Tibble

Save Song Book (Bug #607030)

954. By Andreas Preikschat

Prevent topic and author duplication in songs

955. By Jon Tibble

Fix topic/author adding (Bug #607034)

956. By Jon Tibble

DATABASE SCHEMA CHANGE, fixes and cleanups

957. By Jon Tibble

Fix theme saving and song import. Cleanups

958. By Andreas Preikschat

Fix song authors and books

959. By Jon Tibble

Importer fix

960. By Jonathan Corwin

Bug 608149 - Enable presentation controllers by default, and simplify default workflow

961. By Jonathan Corwin

Presentations no longer blanked when go live, if display not blank

962. By Raoul Snyman

Tweak the display of the media manager items to make them stand out slightly more.

963. By Jon Tibble

DocStrings

964. By Jon Tibble

Fix numbered book BG bibles (Bug #609354)

965. By Raoul Snyman

Going through all the strings and making them decent, user-friendly English.

966. By Raoul Snyman

Fix up a couple of things Jon T found in my previous merge proposal, plus some strings I missed.

967. By Raoul Snyman

Update the copyright notice and the credits.

968. By Tim Bentley

Add display update trigger missed in cleanup

969. By Jon Tibble

Bible refactor & search, getter & setter removal, cleanups

970. By Jon Tibble

Long lines

971. By Raoul Snyman

Fixed a small bug where there was a "u" in the verse label with () brackets.

972. By Jon Tibble

Fix showing screen after black and cleanups

973. By Jon Tibble

Naming fixes & trailing line endings

974. By Jon Tibble

Explicit exception handling

975. By Phill

Fix for bug #609442.

976. By Phill

Moved loop settings to a more appropriate tab, removed image tab as a result.

977. By Jon Tibble

Exception fixes and naming cleanups

978. By Jon Tibble

Refactor reference parsing & remove dead code in Bibles

979. By Jon Tibble

Cleanups

980. By Jon Tibble

Refactors, cleanups and fixes

981. By Phill

A very minor presentation fix. About text for remotes was not going on to next line after heading.

982. By Jon Tibble

Fix alerts and screen resizing

983. By Jon Tibble

Fix last commit

984. By Andreas Preikschat

Disable buttons when no item to act on

985. By Jon Tibble

Work with SQLAlchemy 0.6

986. By Tim Bentley

Fix song usage
Fix 598407

987. By Andreas Preikschat

Dual bible fixes

988. By Raoul Snyman

Changed the openlp-logo.svg file to be a single icon SVG and renamed the original file.

989. By Raoul Snyman

Fixed the icon properly this time.

990. By Raoul Snyman

Now the Song Wizard works, just waiting for the importers to catch up.

991. By Raoul Snyman

Fix a string and update the translation sources.

992. By Jon Tibble

Cleanups and a version check fix

993. By Raoul Snyman

Additional failover for version problems.

994. By Raoul Snyman

I was playing, and somehow it got into trunk :-(. This fixes bug #625183.

995. By Jon Tibble

Update OpenLPv2 song importer

996. By Tim Bentley

Fix theme bug reported on Redhat bugzilla

997. By Tim Bentley

Display and renderer changes

998. By Jon Tibble

Cleanups and song form fix (Bug #612282)

999. By Tim Bentley

Renderer fixes and change theme export suffix

1000. By Raoul Snyman

Only show the display screen on startup if it is not on the primary screen.

1001. By Phill

Adding the Words of Worship importer.

1002. By Derek Scotney <email address hidden>

Add CCLI file importer to song wizard

1003. By Andreas Preikschat

Improved dual Bible handling, fixed some edge-case bugs, including bug #625997.

1004. By Raoul Snyman

Fix for bug #621695.

1005. By Tim Bentley

Fix bugs with renderer

1006. By Jonathan Corwin

Fix {} colour substitutions and problems displaying first slide

1007. By Tim Bentley

Speed up backgrounds by removing images and using CSS instead
move spelling text widget to own file
fix up highlighting of fields for spelling and tagging.

1008. By Jonathan Corwin

Calculate page breaks more accurately, and other HTML/CSS tidies

1009. By Phill

Fix incorrect method

1010. By Phill

Rearranged the screen co-ordinate fields.

1011. By Tim Bentley

Clean up the renderer

1012. By Jonathan Corwin

Size maindisplay to full screen correctly, and eliminate maindisplay scrollbars

1013. By Tim Bentley

Fix bug for song CCLI setting
Fix bug for dual bible tab which was a general settings bug.

1014. By Jonathan Corwin

Hook generic and sof song imports into the wizard

1015. By Tim Bentley

Fix bugs regarding screen blanking

1016. By Tim Bentley

Fix song editing bug

1017. By Raoul Snyman

Merge in the openlp.org 1.x importer.

1018. By Raoul Snyman

Added a simple dialog to display any uncaught exceptions.

1019. By Tim Bentley

Short term fix for 633354
Fix display and text bugs

1020. By Tim Bentley

Proper fix for plugin bug

1021. By Jonathan Corwin

Left+Bottom align footer, and prevent wrapping

1022. By Derek Scotney <email address hidden>

Fix verse numbering

1023. By Raoul Snyman

jQuery-fied the JavaScript, made the interface look a little prettier.

1024. By Jonathan Corwin

Tidy song_import code and fix bug 634771

1025. By Raoul Snyman

Just some behind-the-scenes house keeping.

1026. By Tim Bentley

Fix file permission and correct i18n location

1027. By Jonathan Corwin

Loop video background

1028. By Raoul Snyman

Fixes bug #635330 and attempts to fix bug #635338

1029. By Tim Bentley

Fix code so translations can be found

1030. By Raoul Snyman

Various string-related fixes:
- Removed a bunch of double spaces.
- Renamed the translation files.
- Updated the translation files.
- Fixed up a few widgets.
Also fixed up the layout on the Edit Song form.

1031. By Jon Tibble

Cleanups

1032. By Tim Bentley

Fix whitespace and bugs

1033. By Raoul Snyman

Add in code to display a disabled message if an importer is not available.

1034. By Raoul Snyman

Fix for bug #635515.
Added an option to disable the error form.

1035. By Martin Thompson

Integrated with the song import wizard.
More testcases with synthetic data.
More testing done with more real data.

1036. By Raoul Snyman

Some more fixes for the Windows World:
- Fixed location of .qm files, so that they can be found in a Windows build
- Added PyEnchant to the build process
- Fixed up langaugemanager.py so that it conforms to coding standards

1037. By Raoul Snyman

Attempting to solve bug #635338

1038. By Raoul Snyman

Fixed a spelling error.

1039. By Raoul Snyman

Fix bug #640460.

1040. By Raoul Snyman

Some more spelling/grammatical corrections.

1041. By Jonathan Corwin

String fixes

1042. By Andreas Preikschat

Fixed bug #641734

1043. By Raoul Snyman

Fix for bug #640697

1044. By rimach

Change OpenOffice to use pipes not sockets to resolve slow networking issue. Fix option parsing unicode problem for python 2.5

1045. By Raoul Snyman

Added a method to update the translation files.

1046. By Jonathan Corwin

Rendering speedups/fixes

1047. By Jeffrey Smith

Added a song importer for EasyWorship

1048. By Raoul Snyman

Fixed bug #644106

1049. By rimach <rimach@siduxbox>

Fix translation files

1050. By Raoul Snyman

Update strings.

1051. By Jonathan Corwin

Speed up video loop, and adjust left margin for outline

1052. By Tim Bentley

Update plugin list
Fix ServiceManager
Put splash image back
Fix hide screen bug.

1053. By Andreas Preikschat

This fixes the following bugs and issues:
- Bible items cannot be extended any more
- Dual and single Bible verses cannot be mixed (Media Manager/Service Manager)
- Bible item title in the service manager contains all bible passages (separated by a comma) bug #634533 and bug #609355
- Fixed bug #643783

1054. By Tim Bentley

Remove line breaks in ServiceManager

1055. By Jeffrey Smith

Refactor code for making song import wizard pages.

1056. By rimach

Fixed exception thrown on unchecking 'Auto detect' in languages menu
Fixed saving of language setting
Added pinging of review page in translation_util.py

1057. By Raoul Snyman

Fixed bug #598805 - Song order inconsistency.

1058. By Tim Bentley

Fix crash and optimise display

1059. By Tim Bentley

Update Manifest file

1060. By Jeffrey Smith

Better handling of memo files larger than 16MiB.
Handle blank fields more intelligently.

1061. By Jonathan Corwin

Fix song number/book save and load

1062. By Raoul Snyman

Updated translations.

1063. By Tim Bentley

Update preview text

1064. By Tim Bentley

Theme handling cleanups

1065. By Tim Bentley

Fix merge error

1066. By Andreas Preikschat

Bible code tidy

1067. By Tim Bentley

Fix blank line bug

1068. By Tim Bentley

Fix saved service bug

1069. By rimach

Add Song Beamer importer

1070. By Andreas Preikschat

Fixed up chapter and verse comboboxes for advanced Bible search.
A few other cleanups.

1071. By rimach

Added code for:
- translating the Media Manager and all the content (icons, context menus)
- translating the Plugin List

1072. By Tim Bentley

Allow Service Item to be updated from Song Plugin on Edit

1073. By Phill

Update File load extensions for song imports

1074. By Tim Bentley

Fix duplicate file save bug
Fix Dnd bug

1075. By Tim Bentley

Enhance ServiceItem Expand/Collapse features

1076. By Jonathan Corwin

Option to use phonon or webkit for video. Fix blank to image

1077. By Wesley Stout

Start of Documentation

1078. By Andreas Preikschat

A few things:
- Finished bible "text search" (the search considers all verses which are in the database).
- Comment/doc clean ups.
- Changed "permission" to "permissions" since the database uses "permissions" (changing this is just being consequent).
- Disabled search button while searching.

1079. By Andreas Preikschat

Make sure that the 'edit' and 'delete' buttons are disabled after editing all verses (because no verse is selected).

1080. By Raoul Snyman

Some updates to the documentation:
- Added some more classes to the rST files.
- Fixed up some docstrings to proper rST.

1081. By Raoul Snyman

For us developers... pull the bzr version.

1082. By Raoul Snyman

Moved Windows-specific resources into its own "windows" directory.

1083. By andreas <andreas@andypc>

Revised custom Dialog and new edit form

1084. By Andreas Preikschat

Fix for bug #657694 (lines 8-9)
Enhanced the code (lines 11-29)

1085. By Raoul Snyman

Documentation updates.

1086. By Andreas Preikschat

Fixed a bug in the song editor where the last added verse would revert to the previous verse type.

1087. By Jeffrey Smith

This is a fix for bug #659673

1088. By Wesley Stout

Added the Glossary

1089. By Jonathan Corwin

Warn rather than error if COM Impress controller not available.

1090. By Andreas Preikschat

Code Cleanups

1091. By Raoul Snyman

Updated the image plugin page.
Fixed up Wesley's images.

1092. By Tim Bentley

Alerts work again , image performance improvements

1093. By Raoul Snyman

Rearranged the documentation into two separate parts, the API for developers, and the manual for users.

1094. By Raoul Snyman

Updated documentation.
Renamed some classes and files to match naming conventions.

1095. By Tim Bentley

Fix image but and more path optimisation

1096. By Wesley Stout

Video display Documentation

1097. By Raoul Snyman

Updated the dual monitor stuff with some metadata and got a more recent screenshot of dual monitors on a stock standard Windows XP.

1098. By Jon Tibble

Cleanups

1099. By Jon Tibble

Fix spelling of Samuel (Bug #647931)

1100. By Tim Bentley

Changes to Image processing to improve performance.
Moved image storage for Themes and Image plugins to central cache.
Moved conversion to byte array on to a thread
Built basic thread locking management to cover adding and processing at same time

Presentations and Videos work how that always did.

Cleaned up lots of image size and type conversions.

1101. By Andreas Preikschat

Fixed a traceback after editing a image item in the servicemanager (line 62).
Replaced the up/down button text in ServiceItemEditForm/Dialog with icons.
Rearranged the buttons (delete, <space>, up, down).

1102. By Tim Bentley

Fix saving images in services and correct border code

1103. By Tim Bentley

Bug fixes for
Bug #636835: songs.sqlite will not be downsized when deleting songs
Bug #657307: When working with a saved order of service, saving brings up the save new window instead.
Also renamed Fedora to fedora.

1104. By Tim Bentley

Fix missing media Icon
Speed up Vacuum code.
Fix 1002

1105. By Andreas Preikschat

Fix custom and songusage managers

1106. By Meinert Jordan

Some things from my months old todo list:
- enabling nested docks for more flexible container arrangements
- show the next slide content
- some old UTF8 problems

1107. By Raoul Snyman

Clean up resources folder. Got rid of about 30 megs of stuff we don't use.

1108. By Raoul Snyman

Customisable Shortcuts, Phase 1: View-only list of actions and shortcuts, currently also only the actions in the main window are in the shortcut dialog.

1109. By Tim Bentley

Fix mimetype issues

1110. By Tim Bentley

Fix renderer
Fix Image preview.

1111. By Andreas Preikschat

Changed "songmanager" to "manager"
Fixed a bug which occurs when you click on "Save & Preview" a second time

1112. By Jon Tibble

Lots of cleanups

1113. By Andreas Preikschat

Some small clean ups:
- removed lines at the end of the file (if there were more than one)
- some missing spaces

1114. By Raoul Snyman

Finally get round to doing the "expand all" and "collapse all" icons.

1115. By Tim Bentley

Sort themes when read

1116. By Raoul Snyman

Added a "re-index" tool for repopulating the "search_title" field of songs.

1117. By Raoul Snyman

Found and fixed a bug.

1118. By Tim Bentley

Replace theme editor with wizard.
Revamp theme XML schema
Move theme code to use new schema and auto migrate V2 themes to it.
Revamp V1 import code.
Add two new gradient backgrounds.

1119. By Tim Bentley

Fix blank theme problem
Remove blank check box line.

1120. By Tim Bentley

Fix bug with service item edit ids missing
Fix name format error
Add debugging to help with service load and song edit bugs. Need to see what is happening when we hit them.

1121. By Tim Bentley

Fix video backgrounds and Service Loading with edit

1122. By Jon Tibble

Fix BibleGateway searches for BeautifulSoup 3.1

1123. By Tim Bentley

Update theme code to handle lines per slide label.
Remove extra debugging as Author's now work for song loading from services

1124. By Tim Bentley

Fix spelling

1125. By Wesley Stout

Fixed some errors.
Added a few different formats to the documentation for importing songs.

1126. By Tim Bentley

Remove theme for Images.
Sort out silly ness which requires a restart
Add preview when returning from blank screen.
Fix bug in servicemanager where DnD with nothing present crashes.
Clean up Custom Plugin a bit.

Build OpenLyrics Import / Export for service items so song items can be moved across computermabobs.

1127. By andreas <andreas@andypc>

- docs
- disable "edit" and "delete" button when loading a song or creating a new one (*)

(*) To reproduce this, edit/create a song, select a verse and click "Cancel". When you edit/create another song, the "edit" and "delete" buttons are enabled.

Manually fix conflict in comments on merge (trb143)

1128. By andreas <andreas@andypc>

- added the <u>Underline</u> tag
- clean ups

SongBeamerImport:
- clean ups and tweaks
- fixed a bug which would drop the first line of a verse, when it does not have any "verse type"
- convert SongBeamer's html tags to OpenLP specific style

1129. By andreas <andreas@andypc>

hanged importer messages (Bug #668789)
- disabled text search for web bibles (does not matter if the web bible is the dual or normal bible)
- available web bibles in the bible importer are now sorted
- imported bible in the Media Manager are now sorted
- speed improvements (unfortunately this takes the ability to keep unselected item unselected when doing an other search)
- "second" instead of "dual"
- docs, comments
- added an auto completion for bible books ("Quick Search" Tab; "Verse Search" combo box)

1130. By Tim Bentley

Pylint cleanups
Bug fixing in Themes
Spelling Fix in Songs

1131. By Raoul Snyman

Reworked some of the layout and things of the Theme Wizard.

1132. By Jon Tibble

Fix v2 song importer and various cleanups

1133. By Tim Bentley

Fix Theme Bug text color.
Fix serious spelling error.

1134. By Meinert Jordan

- openlp.org 1.x importer detects the character encoding for the database and shows a inputDialog for correcting the guess.
- prefer UTF-8 encoding for CCLI import
- split song order at consecutive white spaces (it rejected song orders with two consecutive spaces)

1135. By Tim Bentley

Add text entry validator to display positions
Fix Spelling

1136. By Derek Scotney <email address hidden>

Fixes unwanted text imported from some SongSelect files. SongSelect only has a few verse types available for verses and adds extra ones by setting the verse type to 'misc' and then including the actual type on the next line. In the case of a 'misc' type or unknown type, the next line is checked for a valid verse type. The fix has been made for both .txt and .usr file types.

1137. By Andreas Preikschat

Changed the string "Parameter(s)" to "Parameter" because the alerts plugin only supports one parameter.

1138. By Meinert Jordan

Import Wizards don't Stop

1139. By Meinert Jordan

Local aware song order

1140. By Andreas Preikschat

Add OpenLP1 bible importer

1141. By Tim Bentley

Fix song imports with missing Authors

1142. By Andreas Preikschat

- fixed progress bar (bible openlp1 import)
- fixed Bug #688647 (mostly copy&paste)
- fixed "reject" method (the import would not stop, if currentId() == 2/3)
- some songbeamer import tweaks

1143. By Tim Bentley

Add Autocompletion to the Songs Dialog
Fix up some lost and confused Camels

1144. By Meinert Jordan

Additional buttons in the exception dialog for sending a bug report per email or saving it to a file.
The report contains the traceback along with library versions.

The bug report is prefilled with the traceback, the openlp version, platform informations (on Linux also KDE or GNOME), the and the versions of all used libraries.

1145. By andreas <andreas@andypc>

- "Save" button now only saves the alert (if the alert has not created before the save button is disabled). -> the buttons are less confusing
- feedback:
1) If the "alert text" field does not contain "<>" but the parameter field is not empty, then a pop up opens.
2) If the "alert text" field does contain "<>" but the parameter field is empty, a pop up opens.

1146. By Andreas Preikschat

Whitespace cleanup

1147. By Tim Bentley

Fix Custom edit bug

1148. By andreas <andreas@andypc>

White Space Cleanups

1149. By Meinert Jordan

Fix: wrong variable names caused osis and http bible imports to crash
Fix: handle unicode in song search string generation
Fix: replaced tab indentation
regenerate search_lyrics on song reindex action

1150. By Tim Bentley

Fix image bug in service manager

1151. By andreas <andreas@andypc>

- camelCase for Ui_FileRenameDialog
- Fixed bug #690774
- Keep copyright field empty if the imported song (from the service list) does not have any copyright information.

1152. By Meinert Jordan <email address hidden>

Rewritten openlp.plugins.bibles.lib.parse_reference() function.
Localization of bible reference separators.
Non-breaking space between verse numbers and verse text.
Web-Import from bibleserver.com
Replaced commas in title strings of biblegateway.csv => completely updated the file

Two known issues:
The localized separators are still hard coded and need GUI configuration.
Not all of the new bibles are full usable, because OpenLP has still unlocalized code for the book names (applies also to other bible imports like OSIS).

1153. By Tim Bentley

Songs being edited must have an Author
Songs being edited must have text in a verse

1154. By Tim Bentley

Bug #692684: Theme Wizard not updating

1155. By Tim Bentley

Fix config tag error

1156. By Tim Bentley

Remove Bible add to existing setting

1157. By andreas <andreas@andypc>

Fix file extensions

1158. By Andreas Preikschat

Added the "final credit" from version 1.

1159. By Tim Bentley

Fix song saving bug #691952
Fix custom edit bug #693150

1160. By Jon Tibble

Cleanups

1161. By andreas <andreas@andypc>

Add Language files

1162. By Meinert Jordan

Fixed a bug where an author was added to the AuthorsSelectionComboItem without a database entry.

1163. By Tim Bentley

Fix up theme delete / rename validation for now.

1164. By Raoul Snyman

Web interface does not always send all necessary data

1165. By Tim Bentley

Number of theme bug fixes and clean ups
Plugin list is now singular

1166. By andreas <andreas@andypc>

Part of corrections to display sizes

1167. By Tim Bentley

Version and Copyright Year updates

1168. By andreas <andreas@andypc>

Update Language files

1169. By rimach <rimach@siduxbox>

SongBeamer fixes
Correct Song Tab error

1170. By andreas <andreas@andypc>

Fix Slidecontroller sizing

1171. By Tim Bentley

Small style cleanups
Add guards for Presentations / Images / Media which are removed from files system after loading
Fix 694079 on Linux by adding css into build
Add guard to delay exiting as shutting down in middle of a service is not a good idea

1172. By Raoul Snyman

Created a new SearchEdit class, and implemented it in the song search.

1173. By Tim Bentley

Fix up presentation display bugs.

1174. By Andreas Preikschat

This fixes edge cases, where the slidecontrollers will not be updated correctly.

(Make sure, that the Media Manager is on the left side and the Theme and Service Manager on the right hand side.)

1) Hide the Theme Manager by pressing F10
2) Hide the Service Manager by pressing F9 (first case)
3) Increase the size of the slidecontrollers.
4) Show the Service Manager by pressing F9 (second case)

I removed the paintEvent from the slidecontroller and inserted it in mainwindow. I do like it the other way around, but doing it this way fixes the edge cases.

1175. By Jonathan Corwin

Fix missing DesktopScreen: https://bugs.launchpad.net/openlp/+bug/672164/comments/9

1176. By Meinert Jordan <email address hidden>

Theme Wizard the layout was distorted because of several manual formating instructions. I limited all format instructions to the necessary minimum. Furthermore I aligned all QFormLayouts towards each other.
It should contain no functional changes except of bug fixes (traped exceptions).
Some widgets ans slots are renamed for a consistent naming scheme.
Small fixes: removed two consecutive spaces and string introducing double quotes from python code. Edited some log.debug() arguments to avoid UnicodeErrors.

1177. By Meinert Jordan <email address hidden>

While walking through the German translation, I observed a couple of problems in the internationalization. These problems are addressed in this branch. There are very few changed translatable strings but a lot which will be recognized as new from linguist.
I couldn't test all calls in the importers, because I don't have bibles in all formats. But nearly all changes in this request should be obvious.

1178. By Raoul Snyman

Fix the save/save as/etc stuff so that it works properly.

1179. By Raoul Snyman

Fix some bugs I accidentally introduced into trunk.

1180. By Raoul Snyman

Fixed bug #641661

1181. By Tim Bentley

Add a Busy Cursor

1182. By Tim Bentley

Remove excessiove debugging

1183. By Raoul Snyman

Added a step to update from bzr before building.

1184. By Tim Bentley

Fix Song dialog for new songs
Fix Auto Service Opening

1185. By Andreas Preikschat

- fixed adding/appending more images to the Service Manager
- possibility to add/append images to the Service Manager if an image is missing
- prevent that "Replace Live Background" can use a non existing image and prevent replacing the background with more images (as this makes no sense)

1186. By Tim Bentley

Allow the exit conformation dialog to be disabled

1187. By Raoul Snyman

Fixed bug #697271

1188. By Raoul Snyman

Fix for bug #696979

1189. By Meinert Jordan <email address hidden>

Fix Layout of Settings Tab and other dialogs

1190. By Tim Bentley

Fix image error text
Add Guard to video background.
Use new event method to display message
Add Fix for theme editor start up bug.

1191. By Andreas Preikschat

Remove not supported html from songs being imported.

1192. By Meinert Jordan

Nearly everything in this commit is either the renaming of variables or rewriting of the layout. The visible layout change in the dialogs default size is mainly limited to label alignments (for resized dialogs, translated strings or some Themes it might be much more).
Functional changes are:
- Preventing a bug, when no bibles are installed
- Fixing a spelling error in osisbooks.csv
- Showing the 'reset background' buttons only, if the background is really replaced.
- showing a character encoding dialog for the ewimporter
- BibleGateway importer fix for rtl

1193. By Raoul Snyman

Fix some overlooked bugs from the change in the way service files are saved.

1194. By Jon Tibble

Cleanups

1195. By Meinert Jordan

The validators are avoiding invalid file names resp. invalid CCL numbers

1196. By Meinert Jordan

Bug #698881 (accessing unavailable presentation controller)
Keep settings if the controller is not available
Add explaining text to unavailable controllers checkButton

1197. By Jon Tibble

Few more cleanups
Fix BibleGateway xrefs (Bug #700271)

1198. By Jon Tibble

Refactor out first_item

1199. By Tim Bentley

This is big but lets get it in soon.
Changes:
- Search for songs by theme on exact match NOT like
- Add ability to create your own displaytabs and manage them by settings.
- Clean up Theme Manager and make more code common.

1200. By Tim Bentley

This time with changes sorry.

1201. By Meinert Jordan

fixed layout problem for long bible names (or long presentation controller names)
unified the linebreak in setSizePolicy() calls

1202. By Meinert Jordan

wrong parentship caused theme and servicemanager to disapear in a floating dock
more intelligent resizing of item list in PluginForm and SongMaintenanceForm
fix in BS web bible parser

1203. By Andreas Preikschat

- added OpenLyrics importer
- continued to implement OpenLyrics features
- split class
- fix wrong use of "theme"
- and other thinks

Importing songs with multiple languages has not been considered (yet). (One song with all languages is imported.)

1204. By Tim Bentley

Correct File Filter and Cleanup

1205. By Andreas Preikschat

- removed the "quick message" and added dialogs instead
- send the cursor_normal and cursor_busy signal when doing a text search

1206. By Jon Tibble

Refactor web bibles

1207. By Jon Tibble

Cleanups

1208. By Jon Tibble

Make OOo stuff more verbose
Fix BibleServer downloads (Bug 701651)

1209. By Tim Bentley

Hide theme delete button for default themes

1210. By Andreas Preikschat

Cleanups

Clean up from last merge:
- removed not needed pretty_print argument
- doc fix
- return None instead of 0

1211. By Tim Bentley

Fix bug 696557. Cache resizing was adding name to full path
Comment tidy ups.

1212. By Jon Tibble

Fix BibleGateway code
Make BibleServer code more robust

1213. By Jon Tibble

Cleanups and refactor unicode file check

1214. By Andreas Preikschat

replaced the "bibles_showprogress" and "bibles_hideprogress" with the "cursor_busy" and "cursor_normal" signals

1215. By Andreas Preikschat

Fix slidecontroller resizing and cleanups

1216. By Jon Tibble

Refactor wizards
Smaller refactor to web bibles
Cleanups

1217. By Jon Tibble

More cleanups
Refactor file deleting
Fix db committing too early (Bug #703073)

1218. By Tim Bentley

Fix Transitions in Bibles
Fix Blank at start Bible slide
Fix Blank display on restart so the correct blanking method is used.

1219. By Jon Tibble

Refactor error messages

1220. By Jon Tibble

Fix local bible quick search.
Fix OpenSong CUV bible import.

1221. By Jon Tibble

Fix song validation and saving

1222. By Andreas Preikschat

Update preview image on background changes

1223. By Garrett

Enable cursor hiding over live display

1224. By Jon Tibble

Lots of small refactors and cleanups

1225. By Andreas Preikschat

Fixes to Service Item Order screen

1226. By Mattias P&#245;ldaru <email address hidden>

Easislides import plugin

1227. By Jon Tibble

Fix song saving with a verse order

1228. By Andreas Preikschat

- removed the doc for an attribute which is not passed
- removed white spaces

1229. By andreas <andreas@andypc>

Translations Update

1230. By Jon Tibble

Fix duplicate checks (Bug #703149)
Cleanup config change responses (Bug #697215)

1231. By Andreas Preikschat

Update songs for multi-language lyrics

1232. By Andreas Preikschat

Better button handling

1233. By Tim Bentley

Fix adding Images to existing service items

1234. By Jon Tibble

Cleanups and bible parsing fix

1235. By Tim Bentley

Add Key Actions to Shortcut Dialogs

1236. By Jon Tibble

Fix breakage and cleanups

1237. By Andreas Preikschat

Service item selection (Bug #598393)

1238. By Jon Tibble

Refactors in UNO and EasiSlides

1239. By Jon Tibble

Fix BaseDirectory check (Bug #706202)

1240. By Tim Bentley

Slide Controller names have been cleaned up and some line lengths fixed
Added guards to presentation code to stop loading if preview images are missing stops crash later on

1241. By Tim Bentley

Bible tidyups
Database corrections
Song of Songs --> Song Of Solomon
Naham --> Nahum
Obad --> Obadiah

1242. By Andreas Preikschat

- fixed a bug, which occurs when you "replace live background" when no item is live (so basically after starting OpenLP)
- update the little preview frame, when you "Blank to Theme/Screen"

1243. By Jon Tibble

Fix Windows AppLocation (Bug #706396)

1244. By Tim Bentley

Fix theme wizard so Outline and Shadow check boxes are checked
Latch image background changes until the theme changes.
Turn off the rest background if the image or video has been changed from the plugin and the theme changes.

1245. By Andreas Preikschat

- Name changes/clean ups.
- I improved the selection behaviour. For example when a child item is supposed to be selected I used "child", otherwise -1 (e. g. when deleting an item).

1246. By Phill

Allows the update check on load to be disabled

1247. By Tim Bentley

Added finish replacement cleanup

1248. By Jon Tibble

Fix theme editing and NGU bible usage

1249. By Jon Tibble

Lots of cleanups and refactors

1250. By Jon Tibble

Fix CSV bible importing (bug #687309)

1251. By andreas <andreas@andypc>

Only trivial changes:
- only allow to select one slide in the slidecontrollers
- make curosr busy when merging authors/topics/books
- cosmetic code change (saves 4 spaces all over the methods)

1252. By Tim Bentley

Fix Up / Down Confusion
Give SongUsage some TLC and fix UTF8 bugs and better messaging.
Service Items now more meaningful in their titles.

1253. By Tim Bentley

Fix Override state on theme edit dialog so the display and values are correct.

1254. By Andreas Preikschat

Changed the title for images in the service manager.
The title is <filename> if the item consists of one image only. Consequently the other case is, that the item consists of more than one image.

1255. By Jon Tibble

Fix BG Chinese bible (Bug #706211)

Fix CSV import to accept the same files V1 did and cater to "not quite" ASCII encoding generated by cp1252 files.

1256. By Jon Tibble

Deduplication

1257. By Tim Bentley

Fix Theme font size

1258. By andreas <andreas@andypc>

Add ability to print OOS document

1259. By Jon Tibble

Fix song edit form and cleanups

1260. By Andreas Preikschat

You cannot append images to a service item, when you use a localised version of OpenLP. This fixes this.

1261. By Jon Tibble

Deduplication, naming and various cleanups

1262. By Jon Tibble

Fix custom edit (Bug #711934)

1263. By Jon Tibble

Start the UI component library with a couple of moves and a new item.
Dedupe song object checking.
Stop reloading songs when loading services without songs in them!
Change mouse cursor when loading services as reloading songs can take time.

1264. By Andreas Preikschat

Enhanced the button behaviour on the alert dialog.

1265. By Andreas Preikschat

Merged (not redundant) parts of documentation/SongFormat.txt into the songs/lib/db module and removed it. Added the media_files and media_files_songs tables (although the doc is not complete there).

1266. By Jon Tibble

Remove scripts now importers take their role.
Fix missing import.
More UI library component refactors.
Clean up spacer use in import forms.
More deduplication in slidecontroller.py

1267. By Tim Bentley

Fix setup.py so it works following file removal.
Fix settings to work with -d option
Upgrade Exception form to allow an attachment.
Upgrade Exception form to force a 20 character error description

1268. By Andreas Preikschat

- Buttons which require a slide to act on are disabled if there is none to act on
- some other changes

1269. By Jon Tibble

Cleanup, speedup and another UI library component

1270. By Jon Tibble

Start deobfuscating UI library
Catch failure to start presenter processes (Bug #712140)

1271. By Tim Bentley

Fix Theme Image copy Bug
Clean up Theme Rename and Copy bugs

1272. By Raoul Snyman

Some updates to the Windows build:
- Set remotes plugin to be disabled
- Uninstall previous installation of OpenLP automatically.

1273. By Tim Bentley

Fix up theme popups

1274. By Jon Tibble

Fix song service load (Bug #696219)
Cleanups
Change cursor when activating plugins

1275. By Andreas Preikschat

I added the Tool Flag, so that the displays will not appear in the task bar.

1276. By Andreas Preikschat

Only show "CCLI License:" in the footer, if the user entered a CCLI number.

1277. By Andreas Preikschat

- Removed the error dialog when there are no service items in the service (as suggested by superfly)
- Added the ability to include the "playing time" of media items
- Moved settings from advanced tab to the dialog
- Added a dialog with preview function. It provides the following settings:
  a) print text (slides)
  b) print notes
  c) print playing time
  (when the user actually prints the service, the settings are saved.)
- Ability to enter Custom Service Notes.

1278. By Jon Tibble

Cleanups - blank lines, line breaks, docstrings, correct string chars.
Remove unused exception
Dedupe presentation controller code
Fill out the range of Delphi colours to fix theme loading (Support 98)
Naming fixes including starting the attack on mainwindow.py.

1279. By Tim Bentley

Fix previews after screen blanking on live controller

1280. By Jon Tibble

Fixes and UI valign component

1281. By Jon Tibble

Fix last commit

1282. By Jon Tibble

UI library - UiStrings

1283. By Jon Tibble

Fixes and translation deduplication

1284. By Raoul Snyman

Fixed up some of the docstrings and updated the documentation.

1285. By Raoul Snyman

Created a new theme for Qt Help.
Added a condition in the configuration depending on the theme.

Note: to get Qt Help, change the theme to "openlp_qthelp" and then build with "make qthelp".

1286. By andreas <andreas@andypc>

- added a OpenLyrics exporter
- save OpenLyrics meta data to songs (service items and xml files)
- fixed a bug in OpenSong import
- fixed verse type when importing xml songs (instead of "V" we add "Verse" to the database)
- verse order in exported songs is now lower case (service items and xml files)
- updated copyright information (not the scripts directory)

Notes to the OpenLyrics export dialog:
- sorting does not work very nicely
- the search does only consider the title of the qlistwidgetitem:
    "title (author, author, author)"
- the search does not remove , and . and the like
- the buttons check/uncheck all songs (also hidden ones)

I thought about two scenarios:
1) Somebody wants to export all songs. He'll use the "check all" button and will not need the search box.

2) The user wants to export single songs. He will use the search box and double click the songs (or check the checkbox).

1287. By Mattias P&#245;ldaru <email address hidden>

Open Data Folder

1288. By Jon Tibble

More UiStrings
Fix UiStrings sentence case
Button box rearranging
Fix failure to grab Impress on close (Support #38)

1289. By Andreas Preikschat

Do not add the entry attribute to songbooks when there is no song number.

1290. By Jon Tibble

Refactor and rename listviews for DnD
Wizard refactors
Cleanups

1291. By Jon Tibble

Fixes, cleanups and UiStrings
Refactor plugins: icon building, settings tabs and media items

1292. By Tim Bentley

Fix reference to none object

1293. By Jon Tibble

Fix data directory paths

1294. By Andreas Preikschat

Fixed selecting the wrong item when moving an item down (re-ordering images)

1295. By Jon Tibble

Fixes

1296. By Tim Bentley

Add ability to set the start point of a media item.
Display the start and end time of an item in service manager.

1297. By Phill

Importer for SongShow Plus

1298. By Raoul Snyman

Re-fixed the data directory on Linux with XDG installed.

1299. By andreas <andreas@andypc>

Implemented a new bible search edit.

1300. By Tim Bentley

Fix up the Video length calculation code

1301. By Jon Tibble

Unicode and translation grammar fixes

1302. By Jon Tibble

Fix song overwrite and cleanups

1303. By mahfiaz

filesystem encoding fix for non-ascii home dir

1304. By Raoul Snyman

Amalgamated OpenLP theme filters into one and removed "All Files" filter to limit the effects of user ignorance.

1305. By rimach

A couple of bug fixes and minor enhancements.

1306. By Mattias P&#245;ldaru <email address hidden>

Fix EasiSlides importer

1307. By Andreas Preikschat

Fix the error 'Corrupt JPEG data: premature end of data segment'

1308. By Andreas Preikschat

- clear search edit line when starting the wizard again
- changed the "uncheck all" and "check all" buttons check/uncheck only those songs which are currently visible. This enables the user to perform more advanced searches.

1309. By Raoul Snyman

Updated InnoSetup script to add a Debug shortcut in the menu.

1310. By mahfiaz

More changes, now internally tags are held not as Salm:1 (previously), nor v:1 (in the meantime), but just as in openlyrics format, v1.
The v1a is not yet supported, it requires spinboxes to be changed first. The old and new should be handled silently side-by-side.

1311. By Jon Tibble

Fix mime data string

1312. By Jon Tibble

Lots of refactoring all over...
Refactor magic numbers to use enumerations:
- VerticalType and HorizontalType in themes (required import tweaking to avoid circular imports)
- LayoutStyle and DisplayStyle for bibles
- SongSearch
Refactor string translations:
- More UiStrings
- Introduce WizardStrings and SongStrings
Refactor song importer __init__() methods to reduce the duplication.
Cleanups for spelling, whitespace, naming, unused variables and imports.

1313. By Raoul Snyman

Fixed up a few things in the documentation.

1314. By Raoul Snyman

Added a README.txt file for Python distribution.

1315. By Jon Tibble

Fix CCLI author import

1316. By Mattias P&#245;ldaru <email address hidden>

Fix two missing objects

1317. By Tim Bentley

Revised Print Dialog and fix Preview Edit

1318. By mahfiaz

Log media extensions.

1319. By Andreas Preikschat

- added a new Songbeamer property
- replaced try
- enumeration fix

1320. By Mattias P&#245;ldaru <email address hidden>

More pythonic code, fixes a possible error, where *.ra would be left out of supported extensions if checked after *.ram.

1321. By Tim Bentley

Move the DisplayTab dialog

1322. By Tim Bentley

Fix breakages from last merge.
Remove old import file.
Set up variables correctly.
Correct the Translation tags.

1323. By Raoul Snyman

Fixed a bug where the settings for remotes was not actually used.

1324. By Andreas Preikschat

Added apocrypha to osis import.

1325. By Mattias P&#245;ldaru <email address hidden>

Add more detailed mimetype logging. We could add the extensions list hack back later, if needed. To decide that, we need more information from users.

1326. By Armin K&#246;hler <email address hidden>

Add importfilter for foilpresenter song files

1327. By Andreas Preikschat

The re-index tool adds 'Author unknown' if songs do not have any author.

1328. By Raoul Snyman

Add the option to change the default display.

1329. By Jon Tibble

Fixes and cleanups

1330. By Raoul Snyman

Add Armin to the copyright notice.

1331. By Andreas Preikschat

Moved redundant code to parent class

1332. By Jon Tibble

Fix missing verse handling

1333. By Armin K&#246;hler <email address hidden>

adapted the handling of author unknown in foilpresenter song importer

1334. By Jon Tibble

Fix non-saving OpenLyrics authors (Bug 724568)

1335. By Raoul Snyman

Fixed bug #700859: Bible importers do not clean up properly after a failed import.

1336. By Andreas Preikschat

Removed unused enumeration class.
Fixed a bug (Clicking the advanced "Search" button will cause a traceback when no bible is present)
Cosmetic cleanups.

1337. By Andreas Preikschat

Clean ups (missing lines, white spaces, etc.)

1338. By Tim Bentley

Move Display Tag Menu Item

1339. By Tim Bentley

Small cleanup

1340. By Armin Köhler

Bug fixes.

1341. By Jon Tibble

Fix Jesus' words in BibleGateway parsing.

1342. By Matthias Hub

OS X build scripts

1343. By Tim Bentley

Fix toolbar separator.

1344. By Raoul Snyman

Updated translations.

1345. By Tim Bentley

Fix hide mouse error

1346. By Andreas Preikschat

Code Cleanups

1347. By mahfiaz

Making it easier to translate and a fix (hopefully).

1348. By Andreas Preikschat

Added the ability to detect (un)plugged screens after OpenLP has started.
Added the ability to detect screen resolution changes.

1349. By mahfiaz

Fixed bug #728637

1350. By Tim Bentley

Speed up start up by not displaying screens twice
Fix Black display between image items

1351. By Raoul Snyman

Updated the translations again.

1352. By Andreas Preikschat

set the 'Add Tool...' menu item invisible

1353. By Andreas Preikschat

- fix a bug, which occurs when viewing (preview/live) a song without/with incomplete footer.
- clean up

1354. By Jon Tibble

Cleanups

1355. By Raoul Snyman

Updated the credits.

1356. By Tim Bentley

Fix not flagging of service item changes

1357. By Andreas Preikschat

- fix "Show Desktop" being not visible (now it's visible all the time)
- fix a bug: sending an image live when you hide the desktop, the image was visible for a short moment

1358. By Tim Bentley

Fix up song duplication bug where search_title seems to often have a space at the end.

Reindex will clean up the database once this is in.

1359. By Tim Bentley

Add first time wizard

1360. By Tim Bentley

Stop Wizard eating songs databases

1361. By Andreas Preikschat

Fixed Bug #727710

1362. By Raoul Snyman

Added an initial Gentoo ebuild file.

1363. By Andreas Preikschat

Added some more debug information.

1364. By Tim Bentley

First time wizard improvements

1365. By Jon Tibble

Cleanups

1366. By Jon Tibble

UiStrings.OpenFile

1367. By Jon Tibble

Head r1366

1368. By Jon Tibble

Head r1373

1369. By Jon Tibble

Unused import

1370. By Jon Tibble

Unused variables

1371. By Jon Tibble

Head r1374

1372. By Jon Tibble

Head r1377

1373. By Jon Tibble

Head r1379

1374. By Jon Tibble

Head r1388

1375. By Jon Tibble

Head r1389

1376. By Jon Tibble

Head r1390

1377. By Jon Tibble

Fix typo

1378. By Jon Tibble

Head r1391

1379. By Jon Tibble

Head r1396

1380. By Jon Tibble

Head r1401

1381. By Jon Tibble

Head r1405

1382. By Jon Tibble

Unused import

1383. By Jon Tibble

Long line

1384. By Jon Tibble

Head r1408

1385. By Jon Tibble

Head r1414

1386. By Jon Tibble

Head r1419

1387. By Jon Tibble

Head r1421

1388. By Jon Tibble

Head r1427

1389. By Jon Tibble

Head r1428

1390. By Jon Tibble

Alignment

1391. By Jon Tibble

Head r1441

1392. By Jon Tibble

Head r1451

1393. By Jon Tibble

Head 1495

1394. By Jon Tibble

Head r1804

1395. By Jon Tibble

Cleanups

1396. By Jon Tibble

Fix undefined variables

1397. By Jon Tibble

Head r1812

1398. By Jon Tibble

Cleanups

1399. By Jon Tibble

Cleanup fix

1400. By Jon Tibble

Whitespace

1401. By Jon Tibble

Revert broken old incomplete thought

1402. By Jon Tibble

Fix spacing

1403. By Jon Tibble

Head r1815

1404. By Jon Tibble

Head r1819

1405. By Jon Tibble

Reduce recent file list duplication (Bug #892668)

1406. By Jon Tibble

Fix non-ascii service filename loading

1407. By Jon Tibble

Head r1821

1408. By Jon Tibble

Fix non-ascii file check on Macs

1409. By Jon Tibble

Head r1824

1410. By Jon Tibble

Head r1829

1411. By Jon Tibble

Head r1831

1412. By Jon Tibble

Fix v1 theme importing

1413. By Jon Tibble

Previous fix broke on non-Windows, try again

1414. By Jon Tibble

Fix logging theme names

1415. By Jon Tibble

Head r1834

1416. By Jon Tibble

Head r1856

1417. By Jon Tibble

Fix unused imports

1418. By Jon Tibble

Head r1859

1419. By Jon Tibble

Dedupe media search

1420. By Jon Tibble

Head r1860

1421. By Jon Tibble

Long line

1422. By Jon Tibble

Indentation

1423. By Jon Tibble

Fix crashes in media settings (Bug #908252)

1424. By Jon Tibble

Head r1863

1425. By Jon Tibble

Head r1866

1426. By Jon Tibble

Head r1868

1427. By Jon Tibble

Head r1897

1428. By Jon Tibble

Unused imports

1429. By Jon Tibble

Head r1901

1430. By Jon Tibble

Cleanups

1431. By Jon Tibble

Head r1902

1432. By Jon Tibble

Unused variables

1433. By Jon Tibble

Head r1903

1434. By Jon Tibble

Head r1904

1435. By Jon Tibble

Head r1906

1436. By Jon Tibble

Bugs #888815 #941966

1437. By Jon Tibble

Head r1908

1438. By Jon Tibble

Head r1909

1439. By Jon Tibble

Head r1910

1440. By Jon Tibble

Head r1912

1441. By Jon Tibble

Head r1917

1442. By Jon Tibble

Head r1941

1443. By Jon Tibble

Head r1973

1444. By Jon Tibble

Head r1978

1445. By Jon Tibble

Head r2003

Unmerged revisions

1445. By Jon Tibble

Head r2003

1444. By Jon Tibble

Head r1978

1443. By Jon Tibble

Head r1973

1442. By Jon Tibble

Head r1941

1441. By Jon Tibble

Head r1917

1440. By Jon Tibble

Head r1912

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openlp/core/lib/mediamanageritem.py'
2--- openlp/core/lib/mediamanageritem.py 2009-09-16 04:59:38 +0000
3+++ openlp/core/lib/mediamanageritem.py 2009-09-21 17:56:36 +0000
4@@ -136,7 +136,8 @@
5 self.Toolbar = OpenLPToolbar(self)
6 self.PageLayout.addWidget(self.Toolbar)
7
8- def addToolbarButton(self, title, tooltip, icon, slot=None, objectname=None):
9+ def addToolbarButton(self, title, tooltip, icon, slot=None,
10+ objectname=None):
11 """
12 A method to help developers easily add a button to the toolbar.
13
14@@ -192,31 +193,43 @@
15 ## File Button ##
16 if self.hasFileIcon:
17 self.addToolbarButton(
18- translate(self.TranslationContext, u'Load '+self.PluginTextShort),
19- translate(self.TranslationContext, u'Load a new '+self.PluginTextShort),
20- u':'+self.IconPath+ u'_load.png', self.onFileClick, self.PluginTextShort+u'FileItem')
21+ translate(self.TranslationContext,
22+ u'Load ' + self.PluginTextShort),
23+ translate(self.TranslationContext,
24+ u'Load a new ' + self.PluginTextShort),
25+ u':' + self.IconPath + u'_load.png', self.onFileClick,
26+ self.PluginTextShort + u'FileItem')
27 ## New Button ##
28 if self.hasNewIcon:
29 self.addToolbarButton(
30- translate(self.TranslationContext, u'New '+self.PluginTextShort),
31- translate(self.TranslationContext, u'Add a new '+self.PluginTextShort),
32- u':'+self.IconPath+ u'_new.png', self.onNewClick, self.PluginTextShort+u'NewItem')
33+ translate(self.TranslationContext,
34+ u'New ' + self.PluginTextShort),
35+ translate(self.TranslationContext,
36+ u'Add a new ' + self.PluginTextShort),
37+ u':' + self.IconPath + u'_new.png', self.onNewClick,
38+ self.PluginTextShort + u'NewItem')
39 ## Edit Button ##
40 if self.hasEditIcon:
41 self.addToolbarButton(
42- translate(self.TranslationContext, u'Edit '+self.PluginTextShort),
43- translate(self.TranslationContext, u'Edit the selected '+self.PluginTextShort),
44- u':'+self.IconPath+ u'_edit.png', self.onEditClick, self.PluginTextShort+u'EditItem')
45+ translate(self.TranslationContext,
46+ u'Edit ' + self.PluginTextShort),
47+ translate(self.TranslationContext,
48+ u'Edit the selected ' + self.PluginTextShort),
49+ u':' + self.IconPath + u'_edit.png', self.onEditClick,
50+ self.PluginTextShort + u'EditItem')
51 ## Delete Button ##
52 self.addToolbarButton(
53- translate(self.TranslationContext, u'Delete '+self.PluginTextShort),
54+ translate(self.TranslationContext,
55+ u'Delete ' + self.PluginTextShort),
56 translate(self.TranslationContext, u'Delete the selected item'),
57- u':'+self.IconPath+ u'_delete.png', self.onDeleteClick, self.PluginTextShort+u'DeleteItem')
58+ u':' + self.IconPath + u'_delete.png', self.onDeleteClick,
59+ self.PluginTextShort + u'DeleteItem')
60 ## Separator Line ##
61 self.addToolbarSeparator()
62 ## Preview ##
63 self.addToolbarButton(
64- translate(self.TranslationContext, u'Preview '+self.PluginTextShort),
65+ translate(self.TranslationContext,
66+ u'Preview ' + self.PluginTextShort),
67 translate(self.TranslationContext, u'Preview the selected item'),
68 u':/system/system_preview.png', self.onPreviewClick, u'PreviewItem')
69 ## Live Button ##
70@@ -226,9 +239,12 @@
71 u':/system/system_live.png', self.onLiveClick, u'LiveItem')
72 ## Add to service Button ##
73 self.addToolbarButton(
74- translate(self.TranslationContext, u'Add '+self.PluginTextShort+u' To Service'),
75- translate(self.TranslationContext, u'Add the selected item(s) to the service'),
76- u':/system/system_add.png', self.onAddClick, self.PluginTextShort+u'AddItem')
77+ translate(self.TranslationContext,
78+ u'Add ' + self.PluginTextShort + u' To Service'),
79+ translate(self.TranslationContext,
80+ u'Add the selected item(s) to the service'),
81+ u':/system/system_add.png', self.onAddClick,
82+ self.PluginTextShort + u'AddItem')
83
84 def addListViewToToolBar(self):
85 #Add the List widget
86@@ -236,7 +252,8 @@
87 self.ListView.uniformItemSizes = True
88 self.ListView.setGeometry(QtCore.QRect(10, 100, 256, 591))
89 self.ListView.setSpacing(1)
90- self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
91+ self.ListView.setSelectionMode(
92+ QtGui.QAbstractItemView.ExtendedSelection)
93 self.ListView.setAlternatingRowColors(True)
94 self.ListView.setDragEnabled(True)
95 self.ListView.setObjectName(self.PluginTextShort+u'ListView')
96@@ -247,12 +264,14 @@
97 if self.hasEditIcon:
98 self.ListView.addAction(contextMenuAction(self.ListView,
99 ':' +self.IconPath+u'_new.png',
100- translate(self.TranslationContext, u'&Edit '+self.PluginTextShort),
101+ translate(self.TranslationContext,
102+ u'&Edit ' + self.PluginTextShort),
103 self.onEditClick))
104 self.ListView.addAction(contextMenuSeparator(self.ListView))
105 self.ListView.addAction(contextMenuAction(
106 self.ListView, ':/system/system_preview.png',
107- translate(self.TranslationContext, u'&Preview '+self.PluginTextShort),
108+ translate(self.TranslationContext,
109+ u'&Preview ' + self.PluginTextShort),
110 self.onPreviewClick))
111 self.ListView.addAction(contextMenuAction(
112 self.ListView, ':/system/system_live.png',
113@@ -301,20 +320,23 @@
114 count = 0
115 filelist = []
116 while count < self.ListView.count():
117- bitem = self.ListView.item(count)
118+ bitem = self.ListView.item(count)
119 filename = unicode((bitem.data(QtCore.Qt.UserRole)).toString())
120 filelist.append(filename)
121 count += 1
122 return filelist
123
124 def loadList(self, list):
125- raise NotImplementedError(u'MediaManagerItem.loadList needs to be defined by the plugin')
126+ raise NotImplementedError(
127+ u'MediaManagerItem.loadList needs to be defined by the plugin')
128
129 def onNewClick(self):
130- raise NotImplementedError(u'MediaManagerItem.onNewClick needs to be defined by the plugin')
131+ raise NotImplementedError(
132+ u'MediaManagerItem.onNewClick needs to be defined by the plugin')
133
134 def onEditClick(self):
135- raise NotImplementedError(u'MediaManagerItem.onEditClick needs to be defined by the plugin')
136+ raise NotImplementedError(
137+ u'MediaManagerItem.onEditClick needs to be defined by the plugin')
138
139 def onDeleteClick(self):
140 raise NotImplementedError(u'MediaManagerItem.onDeleteClick needs to be defined by the plugin')
141@@ -323,7 +345,7 @@
142 raise NotImplementedError(u'MediaManagerItem.generateSlideData needs to be defined by the plugin')
143
144 def onPreviewClick(self):
145- log.debug(self.PluginTextShort+u' Preview Requested')
146+ log.debug(self.PluginTextShort + u' Preview Requested')
147 service_item = self.buildServiceItem()
148 if service_item is not None:
149 self.parent.preview_controller.addServiceItem(service_item)
150@@ -335,7 +357,7 @@
151 self.parent.live_controller.addServiceItem(service_item)
152
153 def onAddClick(self):
154- log.debug(self.PluginTextShort+u' Add Requested')
155+ log.debug(self.PluginTextShort + u' Add Requested')
156 service_item = self.buildServiceItem()
157 if service_item is not None:
158 self.parent.service_manager.addServiceItem(service_item)
159@@ -345,7 +367,8 @@
160 Common method for generating a service item
161 """
162 service_item = ServiceItem(self.parent)
163- service_item.addIcon(u':/media/media_'+self.PluginTextShort.lower()+u'.png')
164+ service_item.addIcon(
165+ u':/media/media_' + self.PluginTextShort.lower() + u'.png')
166 if self.generateSlideData(service_item):
167 self.ListView.clearSelection()
168 return service_item
169
170=== modified file 'openlp/core/lib/pluginmanager.py'
171--- openlp/core/lib/pluginmanager.py 2009-09-19 23:05:30 +0000
172+++ openlp/core/lib/pluginmanager.py 2009-09-21 17:56:36 +0000
173@@ -26,7 +26,7 @@
174 import sys
175 import logging
176
177-from openlp.core.lib import Plugin, PluginStatus
178+from openlp.core.lib import Plugin, PluginStatus
179
180 class PluginManager(object):
181 """
182
183=== modified file 'openlp/core/lib/renderer.py'
184--- openlp/core/lib/renderer.py 2009-09-20 13:21:05 +0000
185+++ openlp/core/lib/renderer.py 2009-09-21 17:56:36 +0000
186@@ -188,13 +188,13 @@
187 else:
188 pos = len(line)
189 split_text = line
190- while metrics.width(split_text, -1) > line_width:
191+ while metrics.width(split_text, -1) > line_width:
192 #Find the next space to the left
193 pos = line[:pos].rfind(u' ')
194 #no more spaces found
195 if pos == 0:
196 split_text = line
197- while metrics.width(split_text, -1) > line_width:
198+ while metrics.width(split_text, -1) > line_width:
199 split_text = split_text[:-1]
200 pos = len(split_text)
201 else:
202@@ -242,7 +242,7 @@
203 # reset the frame. first time do not worry about what you paint on.
204 self._frame = QtGui.QImage(self.bg_frame)
205 x, y = self._correctAlignment(self._rect, bbox)
206- bbox = self._render_lines_unaligned(lines, False, (x, y), True)
207+ bbox = self._render_lines_unaligned(lines, False, (x, y), True)
208 if footer_lines is not None:
209 bbox = self._render_lines_unaligned(footer_lines, True,
210 (self._rect_footer.left(), self._rect_footer.top()), True)
211@@ -327,7 +327,8 @@
212 # centre align
213 y = rect.top() + (rect.height() - bbox.height()) / 2
214 else:
215- log.error(u'Invalid value for theme.VerticalAlign:%s' % self._theme.display_verticalAlign)
216+ log.error(u'Invalid value for theme.VerticalAlign:%s',
217+ self._theme.display_verticalAlign)
218 return x, y
219
220 def _render_lines_unaligned(self, lines, footer, tlcorner=(0, 0),
221@@ -400,7 +401,7 @@
222 startx = x
223 starty = y
224 rightextent = None
225- #print "inputs", startx, starty, maxx, maxy
226+ #print "inputs", startx, starty, maxx, maxy
227 # dont allow alignment messing with footers
228 if footer:
229 align = 0
230@@ -412,7 +413,7 @@
231 for linenum in range(len(lines)):
232 line = lines[linenum]
233 #find out how wide line is
234- w, h = self._get_extent_and_render(line, footer, tlcorner=(x, y),
235+ w, h = self._get_extent_and_render(line, footer, tlcorner=(x, y),
236 draw=False)
237 if self._theme.display_shadow:
238 w += shadow_offset
239
240=== modified file 'openlp/core/lib/rendermanager.py'
241--- openlp/core/lib/rendermanager.py 2009-09-20 07:12:47 +0000
242+++ openlp/core/lib/rendermanager.py 2009-09-21 17:56:36 +0000
243@@ -121,7 +121,8 @@
244 else:
245 if theme is not None:
246 self.theme = theme
247- elif self.global_style == u'Song' or self.global_style == u'Service':
248+ elif self.global_style == u'Song' or \
249+ self.global_style == u'Service':
250 if self.service_theme == u'':
251 self.theme = self.global_theme
252 else:
253@@ -129,9 +130,10 @@
254 else:
255 self.theme = self.global_theme
256 if self.theme != self.renderer.theme_name:
257- log.debug(u'theme is now %s', self.theme)
258+ log.debug(u'theme is now %s', self.theme)
259 self.themedata = self.theme_manager.getThemeData(self.theme)
260- self.calculate_default(self.screen_list[self.current_display][u'size'])
261+ self.calculate_default(
262+ self.screen_list[self.current_display][u'size'])
263 self.renderer.set_theme(self.themedata)
264 self.build_text_rectangle(self.themedata)
265
266@@ -212,7 +214,7 @@
267 self.renderer.set_frame_dest(self.width, self.height)
268 return self.renderer.generate_frame_from_lines(main_text, footer_text)
269
270- def resize_image(self, image, width = 0, height = 0):
271+ def resize_image(self, image, width=0, height=0):
272 """
273 Resize an image to fit on the current screen.
274
275@@ -253,6 +255,7 @@
276 self.width = screen.width()
277 self.height = screen.height()
278 self.screen_ratio = float(self.height) / float(self.width)
279- log.debug(u'calculate default %d, %d, %f', self.width, self.height, self.screen_ratio )
280+ log.debug(u'calculate default %d, %d, %f',
281+ self.width, self.height, self.screen_ratio )
282 # 90% is start of footer
283 self.footer_start = int(self.height * 0.90)
284
285=== modified file 'openlp/core/ui/__init__.py'
286--- openlp/core/ui/__init__.py 2009-09-08 19:58:05 +0000
287+++ openlp/core/ui/__init__.py 2009-09-21 17:56:36 +0000
288@@ -39,5 +39,5 @@
289 from mainwindow import MainWindow
290
291 __all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'MasterToolbar',
292- 'MainWindow', 'MainDisplay', 'SlideController', 'ServiceManager',
293+ 'MainWindow', 'MainDisplay', 'SlideController', 'ServiceManager',
294 'ThemeManager', 'AmendThemeForm']
295
296=== modified file 'openlp/core/ui/alertstab.py'
297--- openlp/core/ui/alertstab.py 2009-09-08 19:58:05 +0000
298+++ openlp/core/ui/alertstab.py 2009-09-21 17:56:36 +0000
299@@ -24,7 +24,7 @@
300
301 from PyQt4 import QtCore, QtGui
302
303-from openlp.core.lib import SettingsTab, translate
304+from openlp.core.lib import SettingsTab, translate
305
306 class AlertsTab(SettingsTab):
307 """
308@@ -33,7 +33,8 @@
309 def __init__(self):
310 self.font_color = '#ffffff'
311 self.bg_color = '#660000'
312- SettingsTab.__init__(self, translate(u'AlertsTab', u'Alerts'), u'Alerts')
313+ SettingsTab.__init__(
314+ self, translate(u'AlertsTab', u'Alerts'), u'Alerts')
315
316 def setupUi(self):
317 self.setObjectName(u'AlertsTab')
318@@ -110,10 +111,12 @@
319 self.SlideRightLayout.setMargin(0)
320 self.SlideRightLayout.setObjectName(u'SlideRightLayout')
321 self.PreviewGroupBox = QtGui.QGroupBox(self.AlertRightColumn)
322- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
323+ sizePolicy = QtGui.QSizePolicy(
324+ QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
325 sizePolicy.setHorizontalStretch(0)
326 sizePolicy.setVerticalStretch(0)
327- sizePolicy.setHeightForWidth(self.PreviewGroupBox.sizePolicy().hasHeightForWidth())
328+ sizePolicy.setHeightForWidth(
329+ self.PreviewGroupBox.sizePolicy().hasHeightForWidth())
330 self.PreviewGroupBox.setSizePolicy(sizePolicy)
331 self.PreviewGroupBox.setObjectName(u'PreviewGroupBox')
332 self.PreviewLayout = QtGui.QVBoxLayout(self.PreviewGroupBox)
333@@ -124,7 +127,8 @@
334 self.FontPreview.setMinimumSize(QtCore.QSize(280, 100))
335 self.FontPreview.setReadOnly(True)
336 self.FontPreview.setFocusPolicy(QtCore.Qt.NoFocus)
337- self.FontPreview.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter)
338+ self.FontPreview.setAlignment(
339+ QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter)
340 self.FontPreview.setObjectName(u'FontPreview')
341 self.PreviewLayout.addWidget(self.FontPreview)
342 self.SlideRightLayout.addWidget(self.PreviewGroupBox)
343@@ -146,11 +150,13 @@
344 self.FontGroupBox.setTitle(translate(u'AlertsTab', u'Font'))
345 self.FontLabel.setText(translate(u'AlertsTab', u'Font Name:'))
346 self.FontColorLabel.setText(translate(u'AlertsTab', u'Font Color:'))
347- self.BackgroundColorLabel.setText(translate(u'AlertsTab', u'Background Color:'))
348+ self.BackgroundColorLabel.setText(
349+ translate(u'AlertsTab', u'Background Color:'))
350 self.TimeoutLabel.setText(translate(u'AlertsTab', u'Alert timeout:'))
351 self.TimeoutSpinBox.setSuffix(translate(u'AlertsTab', u's'))
352 self.PreviewGroupBox.setTitle(translate(u'AlertsTab', u'Preview'))
353- self.FontPreview.setText(translate(u'AlertsTab', u'openlp.org 2.0 rocks!'))
354+ self.FontPreview.setText(
355+ translate(u'AlertsTab', u'openlp.org 2.0 rocks!'))
356
357 def onBackgroundColorButtonClicked(self):
358 self.bg_color = QtGui.QColorDialog.getColor(
359@@ -174,12 +180,17 @@
360
361 def load(self):
362 self.timeout = int(self.config.get_config(u'timeout', 5))
363- self.font_color = unicode(self.config.get_config(u'font color', u'#ffffff'))
364- self.bg_color = unicode(self.config.get_config(u'background color', u'#660000'))
365- self.font_face = unicode(self.config.get_config(u'font face', QtGui.QFont().family()))
366+ self.font_color = unicode(
367+ self.config.get_config(u'font color', u'#ffffff'))
368+ self.bg_color = unicode(
369+ self.config.get_config(u'background color', u'#660000'))
370+ self.font_face = unicode(
371+ self.config.get_config(u'font face', QtGui.QFont().family()))
372 self.TimeoutSpinBox.setValue(self.timeout)
373- self.FontColorButton.setStyleSheet(u'background-color: %s' % self.font_color)
374- self.BackgroundColorButton.setStyleSheet(u'background-color: %s' % self.bg_color)
375+ self.FontColorButton.setStyleSheet(
376+ u'background-color: %s' % self.font_color)
377+ self.BackgroundColorButton.setStyleSheet(
378+ u'background-color: %s' % self.bg_color)
379 font = QtGui.QFont()
380 font.setFamily(self.font_face)
381 self.FontComboBox.setCurrentFont(font)
382@@ -198,5 +209,5 @@
383 font.setBold(True)
384 font.setPointSize(16)
385 self.FontPreview.setFont(font)
386- self.FontPreview.setStyleSheet(
387- u'background-color: %s; color: %s' % (self.bg_color, self.font_color))
388+ self.FontPreview.setStyleSheet(u'background-color: %s; color: %s' % \
389+ (self.bg_color, self.font_color))
390
391=== modified file 'openlp/core/ui/amendthemeform.py'
392--- openlp/core/ui/amendthemeform.py 2009-09-13 18:42:45 +0000
393+++ openlp/core/ui/amendthemeform.py 2009-09-21 17:56:36 +0000
394@@ -33,7 +33,7 @@
395
396 log = logging.getLogger(u'AmendThemeForm')
397
398-class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
399+class AmendThemeForm(QtGui.QDialog, Ui_AmendThemeDialog):
400
401 def __init__(self, thememanager, parent=None):
402 QtGui.QDialog.__init__(self, parent)
403
404=== modified file 'openlp/core/ui/maindisplay.py'
405--- openlp/core/ui/maindisplay.py 2009-09-08 19:58:05 +0000
406+++ openlp/core/ui/maindisplay.py 2009-09-21 17:56:36 +0000
407@@ -26,7 +26,7 @@
408 from PyQt4 import QtCore, QtGui
409
410 from time import sleep
411-from openlp.core.lib import translate, Receiver
412+from openlp.core.lib import translate, Receiver
413
414 class MainDisplay(QtGui.QWidget):
415 """
416@@ -129,7 +129,7 @@
417 self.displayBlank = False
418 self.frameView(self.frame)
419
420- def displayAlert(self, text=u''):
421+ def displayAlert(self, text=u''):
422 """
423 Called from the Alert Tab to display an alert
424
425@@ -141,7 +141,8 @@
426 painter = QtGui.QPainter(alertframe)
427 top = alertframe.rect().height() * 0.9
428 painter.fillRect(
429- QtCore.QRect(0, top, alertframe.rect().width(), alertframe.rect().height() - top),
430+ QtCore.QRect(0, top,
431+ alertframe.rect().width(), alertframe.rect().height() - top),
432 QtGui.QColor(alertTab.bg_color))
433 font = QtGui.QFont()
434 font.setFamily(alertTab.font_face)
435
436=== modified file 'openlp/core/ui/mainwindow.py'
437--- openlp/core/ui/mainwindow.py 2009-09-19 23:05:30 +0000
438+++ openlp/core/ui/mainwindow.py 2009-09-21 17:56:36 +0000
439@@ -28,7 +28,7 @@
440 from PyQt4 import QtCore, QtGui
441
442 from openlp.core.ui import AboutForm, SettingsForm, AlertForm, \
443- ServiceManager, ThemeManager, MainDisplay, SlideController, \
444+ ServiceManager, ThemeManager, MainDisplay, SlideController, \
445 PluginForm
446 from openlp.core.lib import translate, Plugin, MediaManagerItem, \
447 SettingsTab, RenderManager, PluginConfig, str_to_bool, OpenLPDockWidget, \
448@@ -119,7 +119,7 @@
449
450 # self.MediaManagerDock.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored,
451 # QtGui.QSizePolicy.Maximum))
452-# geometry = self.MediaManagerDock.geometry()
453+# geometry = self.MediaManagerDock.geometry()
454 # geometry.setWidth(self.settingsmanager.mainwindow_left)
455 # self.MediaManagerDock.setGeometry(geometry)
456 # self.MediaManagerDock.setMinimumWidth(10)
457
458=== modified file 'openlp/core/ui/plugindialoglistform.py'
459--- openlp/core/ui/plugindialoglistform.py 2009-09-18 17:37:11 +0000
460+++ openlp/core/ui/plugindialoglistform.py 2009-09-21 17:56:36 +0000
461@@ -9,7 +9,7 @@
462
463 import logging
464 from PyQt4 import QtCore, QtGui
465-from openlp.core.lib import translate, PluginStatus
466+from openlp.core.lib import translate, PluginStatus
467
468 class PluginForm(QtGui.QDialog):
469 global log
470@@ -45,14 +45,18 @@
471 self.ButtonBox.setObjectName(u'ButtonBox')
472
473 self.retranslateUi(PluginForm)
474- QtCore.QObject.connect(self.ButtonBox, QtCore.SIGNAL(u'accepted()'), PluginForm.close)
475+ QtCore.QObject.connect(self.ButtonBox,
476+ QtCore.SIGNAL(u'accepted()'), PluginForm.close)
477 QtCore.QMetaObject.connectSlotsByName(PluginForm)
478
479 def retranslateUi(self, PluginForm):
480 PluginForm.setWindowTitle(translate(u'PluginForm', u'Plugin list'))
481- self.PluginViewList.horizontalHeaderItem(0).setText(translate(u'PluginForm', u'Name'))
482- self.PluginViewList.horizontalHeaderItem(1).setText(translate(u'PluginForm', u'Version'))
483- self.PluginViewList.horizontalHeaderItem(2).setText(translate(u'PluginForm', u'Status'))
484+ self.PluginViewList.horizontalHeaderItem(0).setText(
485+ translate(u'PluginForm', u'Name'))
486+ self.PluginViewList.horizontalHeaderItem(1).setText(
487+ translate(u'PluginForm', u'Version'))
488+ self.PluginViewList.horizontalHeaderItem(2).setText(
489+ translate(u'PluginForm', u'Status'))
490
491 def load(self):
492 """
493@@ -68,14 +72,14 @@
494 item2 = QtGui.QTableWidgetItem(plugin.version)
495 item2.setTextAlignment(QtCore.Qt.AlignVCenter)
496 if plugin.status == PluginStatus.Active:
497- item3 = QtGui.QTableWidgetItem(translate(u'PluginForm', u'Active'))
498+ item3 = QtGui.QTableWidgetItem(
499+ translate(u'PluginForm', u'Active'))
500 else:
501- item3 = QtGui.QTableWidgetItem(translate(u'PluginForm', u'Inactive'))
502+ item3 = QtGui.QTableWidgetItem(
503+ translate(u'PluginForm', u'Inactive'))
504 item3.setTextAlignment(QtCore.Qt.AlignVCenter)
505 self.PluginViewList.setItem(row, 0, item1)
506 self.PluginViewList.setItem(row, 1, item2)
507 self.PluginViewList.setItem(row, 2, item3)
508 self.PluginViewList.setRowHeight(row, 15)
509
510-
511-
512
513=== modified file 'openlp/core/ui/servicemanager.py'
514--- openlp/core/ui/servicemanager.py 2009-09-19 21:45:50 +0000
515+++ openlp/core/ui/servicemanager.py 2009-09-21 17:56:36 +0000
516@@ -33,7 +33,7 @@
517 from PyQt4 import QtCore, QtGui
518 from openlp.core.lib import PluginConfig, OpenLPToolbar, ServiceItem, \
519 RenderManager, translate, buildIcon, ServiceType, \
520- contextMenuAction, contextMenuSeparator, Receiver
521+ contextMenuAction, contextMenuSeparator, Receiver
522 from openlp.core.utils import ConfigHelper
523
524 class ServiceManagerList(QtGui.QTreeWidget):
525@@ -285,7 +285,7 @@
526 temp = self.serviceItems[item]
527 self.serviceItems.remove(self.serviceItems[item])
528 self.serviceItems.insert(item - 1, temp)
529- self.repaintServiceList(item - 1, count)
530+ self.repaintServiceList(item - 1, count)
531 self.parent.serviceChanged(False, self.serviceName)
532
533 def onServiceDown(self):
534@@ -298,7 +298,7 @@
535 temp = self.serviceItems[item]
536 self.serviceItems.remove(self.serviceItems[item])
537 self.serviceItems.insert(item + 1, temp)
538- self.repaintServiceList(item + 1, count)
539+ self.repaintServiceList(item + 1, count)
540 self.parent.serviceChanged(False, self.serviceName)
541
542 def onServiceEnd(self):
543@@ -539,7 +539,7 @@
544 pos = 0
545 count = 0
546 for item in items:
547- parentitem = item.parent()
548+ parentitem = item.parent()
549 if parentitem is None:
550 pos = item.data(0, QtCore.Qt.UserRole).toInt()[0]
551 else:
552
553=== modified file 'openlp/core/ui/slidecontroller.py'
554--- openlp/core/ui/slidecontroller.py 2009-09-20 07:38:23 +0000
555+++ openlp/core/ui/slidecontroller.py 2009-09-21 17:56:36 +0000
556@@ -60,8 +60,8 @@
557
558 class SlideController(QtGui.QWidget):
559 """
560- SlideController is the slide controller widget. This widget is what the user
561- uses to control the displaying of verses/slides/etc on the screen.
562+ SlideController is the slide controller widget. This widget is what the
563+ user uses to control the displaying of verses/slides/etc on the screen.
564 """
565 global log
566 log = logging.getLogger(u'SlideController')
567@@ -74,7 +74,8 @@
568 self.settingsmanager = settingsmanager
569 self.isLive = isLive
570 self.parent = parent
571- self.image_list = [u'Start Loop', u'Stop Loop', u'Loop Separator', u'Image SpinBox']
572+ self.image_list = [
573+ u'Start Loop', u'Stop Loop', u'Loop Separator', u'Image SpinBox']
574 self.timer_id = 0
575 self.commandItem = None
576 self.Panel = QtGui.QWidget(parent.ControlSplitter)
577@@ -177,7 +178,8 @@
578 sizePolicy.setHeightForWidth(
579 self.SlidePreview.sizePolicy().hasHeightForWidth())
580 self.SlidePreview.setSizePolicy(sizePolicy)
581- self.SlidePreview.setFixedSize(QtCore.QSize(self.settingsmanager.slidecontroller_image, 225))
582+ self.SlidePreview.setFixedSize(
583+ QtCore.QSize(self.settingsmanager.slidecontroller_image, 225))
584 self.SlidePreview.setFrameShape(QtGui.QFrame.Box)
585 self.SlidePreview.setFrameShadow(QtGui.QFrame.Plain)
586 self.SlidePreview.setLineWidth(1)
587@@ -238,7 +240,8 @@
588 """
589 log.debug(u'addServiceItem')
590 #If old item was a command tell it to stop
591- if self.commandItem is not None and self.commandItem.service_item_type == ServiceType.Command:
592+ if self.commandItem is not None and \
593+ self.commandItem.service_item_type == ServiceType.Command:
594 Receiver().send_message(u'%s_stop'% self.commandItem.name.lower())
595 self.commandItem = item
596 before = time.time()
597@@ -246,8 +249,9 @@
598 log.info(u'Rendering took %4s' % (time.time() - before))
599 self.enableToolBar(item)
600 if item.service_item_type == ServiceType.Command:
601- Receiver().send_message(u'%s_start'%item.name.lower(), \
602- [item.shortname, item.service_item_path, item.service_frames[0][u'title']])
603+ Receiver().send_message(u'%s_start' % item.name.lower(), \
604+ [item.shortname, item.service_item_path,
605+ item.service_frames[0][u'title']])
606 else:
607 self.displayServiceManagerItems(item, 0)
608
609@@ -259,13 +263,15 @@
610 """
611 log.debug(u'addServiceItem')
612 #If old item was a command tell it to stop
613- if self.commandItem is not None and self.commandItem.service_item_type == ServiceType.Command:
614+ if self.commandItem is not None and \
615+ self.commandItem.service_item_type == ServiceType.Command:
616 Receiver().send_message(u'%s_stop'% self.commandItem.name.lower())
617 self.commandItem = item
618 self.enableToolBar(item)
619 if item.service_item_type == ServiceType.Command:
620- Receiver().send_message(u'%s_start'%item.name.lower(), \
621- [item.shortname, item.service_item_path, item.service_frames[0][u'title']])
622+ Receiver().send_message(u'%s_start' % item.name.lower(), \
623+ [item.shortname, item.service_item_path,
624+ item.service_frames[0][u'title']])
625 else:
626 self.displayServiceManagerItems(item, slideno)
627
628@@ -279,9 +285,11 @@
629 self.serviceitem = serviceitem
630 self.PreviewListWidget.clear()
631 self.PreviewListWidget.setRowCount(0)
632- self.PreviewListWidget.setColumnWidth(0, self.settingsmanager.slidecontroller_image)
633+ self.PreviewListWidget.setColumnWidth(
634+ 0, self.settingsmanager.slidecontroller_image)
635 for framenumber, frame in enumerate(self.serviceitem.frames):
636- self.PreviewListWidget.setRowCount(self.PreviewListWidget.rowCount() + 1)
637+ self.PreviewListWidget.setRowCount(
638+ self.PreviewListWidget.rowCount() + 1)
639 item = QtGui.QTableWidgetItem()
640 label = QtGui.QLabel()
641 label.setMargin(8)
642@@ -294,9 +302,11 @@
643 label.setText(frame[u'text'])
644 self.PreviewListWidget.setCellWidget(framenumber, 0, label)
645 self.PreviewListWidget.setItem(framenumber, 0, item)
646- slide_height = self.settingsmanager.slidecontroller_image * self.parent.RenderManager.screen_ratio
647+ slide_height = self.settingsmanager.slidecontroller_image * \
648+ self.parent.RenderManager.screen_ratio
649 self.PreviewListWidget.setRowHeight(framenumber, slide_height)
650- self.PreviewListWidget.setColumnWidth(0, self.PreviewListWidget.viewport().size().width())
651+ self.PreviewListWidget.setColumnWidth(
652+ 0, self.PreviewListWidget.viewport().size().width())
653 if slideno > self.PreviewListWidget.rowCount():
654 self.PreviewListWidget.selectRow(self.PreviewListWidget.rowCount())
655 else:
656@@ -357,7 +367,8 @@
657 Go to the previous slide.
658 """
659 if self.commandItem.service_item_type == ServiceType.Command:
660- Receiver().send_message(u'%s_previous'% self.commandItem.name.lower())
661+ Receiver().send_message(
662+ u'%s_previous'% self.commandItem.name.lower())
663 else:
664 row = self.PreviewListWidget.currentRow() - 1
665 if row == -1:
666@@ -377,7 +388,8 @@
667 Start the timer loop running and store the timer id
668 """
669 if self.PreviewListWidget.rowCount() > 1:
670- self.timer_id = self.startTimer(int(self.DelaySpinBox.value()) * 1000)
671+ self.timer_id = self.startTimer(
672+ int(self.DelaySpinBox.value()) * 1000)
673
674 def onStopLoop(self):
675 """
676@@ -398,4 +410,5 @@
677 """
678 row = self.PreviewListWidget.currentRow()
679 if row > -1 and row < self.PreviewListWidget.rowCount():
680- self.parent.LiveController.addServiceManagerItem(self.commandItem, row)
681+ self.parent.LiveController.addServiceManagerItem(
682+ self.commandItem, row)
683
684=== modified file 'openlp/core/ui/splashscreen.py'
685--- openlp/core/ui/splashscreen.py 2009-09-08 19:58:05 +0000
686+++ openlp/core/ui/splashscreen.py 2009-09-21 17:56:36 +0000
687@@ -29,36 +29,42 @@
688 def __init__(self, version):
689 self.splash_screen = QtGui.QSplashScreen()
690 self.setupUi()
691- starting = translate(u'SplashScreen',u'Starting')
692- self.message=starting+u'..... '+version
693+ starting = translate(u'SplashScreen', u'Starting')
694+ self.message = starting + u'..... ' + version
695
696 def setupUi(self):
697 self.splash_screen.setObjectName(u'splash_screen')
698 self.splash_screen.setWindowModality(QtCore.Qt.NonModal)
699 self.splash_screen.setEnabled(True)
700 self.splash_screen.resize(370, 370)
701- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
702+ sizePolicy = QtGui.QSizePolicy(
703+ QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
704 sizePolicy.setHorizontalStretch(0)
705 sizePolicy.setVerticalStretch(0)
706- sizePolicy.setHeightForWidth(self.splash_screen.sizePolicy().hasHeightForWidth())
707+ sizePolicy.setHeightForWidth(
708+ self.splash_screen.sizePolicy().hasHeightForWidth())
709 self.splash_screen.setSizePolicy(sizePolicy)
710 self.splash_screen.setContextMenuPolicy(QtCore.Qt.PreventContextMenu)
711 icon = QtGui.QIcon()
712- icon.addPixmap(QtGui.QPixmap(u':/icon/openlp-logo-16x16.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
713+ icon.addPixmap(QtGui.QPixmap(u':/icon/openlp-logo-16x16.png'),
714+ QtGui.QIcon.Normal, QtGui.QIcon.Off)
715 splash_image = QtGui.QPixmap(u':/graphics/openlp-splash-screen.png')
716 self.splash_screen.setWindowIcon(icon)
717 self.splash_screen.setPixmap(splash_image)
718 self.splash_screen.setMask(splash_image.mask())
719- self.splash_screen.setWindowFlags(QtCore.Qt.SplashScreen | QtCore.Qt.WindowStaysOnTopHint)
720+ self.splash_screen.setWindowFlags(
721+ QtCore.Qt.SplashScreen | QtCore.Qt.WindowStaysOnTopHint)
722 self.retranslateUi()
723 QtCore.QMetaObject.connectSlotsByName(self.splash_screen)
724
725 def retranslateUi(self):
726- self.splash_screen.setWindowTitle(translate(u'splash_screen', u'Splash Screen'))
727+ self.splash_screen.setWindowTitle(
728+ translate(u'splash_screen', u'Splash Screen'))
729
730 def show(self):
731 self.splash_screen.show()
732- self.splash_screen.showMessage(self.message, QtCore.Qt.AlignLeft | QtCore.Qt.AlignBottom, QtCore.Qt.black)
733+ self.splash_screen.showMessage(self.message,
734+ QtCore.Qt.AlignLeft | QtCore.Qt.AlignBottom, QtCore.Qt.black)
735 self.splash_screen.repaint()
736
737 def finish(self, widget):
738
739=== modified file 'openlp/core/ui/thememanager.py'
740--- openlp/core/ui/thememanager.py 2009-09-14 18:53:56 +0000
741+++ openlp/core/ui/thememanager.py 2009-09-21 17:56:36 +0000
742@@ -97,10 +97,10 @@
743
744 def changeGlobalFromTab(self, themeName):
745 log.debug(u'changeGlobalFromTab %s', themeName)
746- for count in range (0, self.ThemeListWidget.count()):
747+ for count in range (0, self.ThemeListWidget.count()):
748 #reset the old name
749 item = self.ThemeListWidget.item(count)
750- oldName = item.text()
751+ oldName = item.text()
752 newName = unicode(item.data(QtCore.Qt.UserRole).toString())
753 if oldName != newName:
754 self.ThemeListWidget.item(count).setText(newName)
755@@ -112,9 +112,9 @@
756
757 def changeGlobalFromScreen(self, index):
758 log.debug(u'changeGlobalFromScreen %s', index)
759- for count in range (0, self.ThemeListWidget.count()):
760+ for count in range (0, self.ThemeListWidget.count()):
761 item = self.ThemeListWidget.item(count)
762- oldName = item.text()
763+ oldName = item.text()
764 #reset the old name
765 if oldName != unicode(item.data(QtCore.Qt.UserRole).toString()):
766 self.ThemeListWidget.item(count).setText(
767@@ -194,12 +194,13 @@
768 path = unicode(path)
769 if path != u'':
770 self.config.set_last_dir(path, 1)
771- themePath = os.path.join(path, theme + u'.theme')
772+ themePath = os.path.join(path, theme + u'.theme')
773 zip = zipfile.ZipFile(themePath, 'w')
774 source = os.path.join(self.path, theme)
775 for root, dirs, files in os.walk(source):
776 for name in files:
777- zip.write(os.path.join(source, name), os.path.join(theme, name))
778+ zip.write(
779+ os.path.join(source, name), os.path.join(theme, name))
780 zip.close()
781
782 def onImportTheme(self):
783@@ -226,7 +227,7 @@
784 for name in files:
785 if name.endswith(u'.png'):
786 #check to see file is in theme root directory
787- theme = os.path.join(self.path, name)
788+ theme = os.path.join(self.path, name)
789 if os.path.exists(theme):
790 (path, filename) = os.path.split(unicode(file))
791 textName = os.path.splitext(name)[0]
792@@ -244,7 +245,7 @@
793 self.pushThemes()
794
795 def pushThemes(self):
796- Receiver().send_message(u'update_themes', self.getThemes() )
797+ Receiver().send_message(u'update_themes', self.getThemes() )
798
799 def getThemes(self):
800 return self.themelist
801
802=== modified file 'openlp/core/ui/themestab.py'
803--- openlp/core/ui/themestab.py 2009-09-08 19:58:05 +0000
804+++ openlp/core/ui/themestab.py 2009-09-21 17:56:36 +0000
805@@ -24,7 +24,7 @@
806
807 from PyQt4 import QtCore, QtGui
808
809-from openlp.core.lib import SettingsTab, translate, Receiver
810+from openlp.core.lib import SettingsTab, translate, Receiver
811
812 class ThemesTab(SettingsTab):
813 """
814@@ -32,7 +32,8 @@
815 """
816 def __init__(self, parent):
817 self.parent = parent
818- SettingsTab.__init__(self, translate(u'ThemesTab', u'Themes'), u'Themes')
819+ SettingsTab.__init__(
820+ self, translate(u'ThemesTab', u'Themes'), u'Themes')
821
822 def setupUi(self):
823 self.setObjectName(u'ThemesTab')
824@@ -106,15 +107,19 @@
825 def retranslateUi(self):
826 self.GlobalGroupBox.setTitle(translate(u'ThemesTab', u'Global theme'))
827 self.LevelGroupBox.setTitle(translate(u'ThemesTab', u'Theme level'))
828- self.SongLevelRadioButton.setText(translate(u'ThemesTab', u'Song level'))
829+ self.SongLevelRadioButton.setText(
830+ translate(u'ThemesTab', u'Song level'))
831 self.SongLevelLabel.setText(translate(u'ThemesTab', u'Use the theme from each song in the database. If a song doesn\'t have a theme associated with it, then use the service\'s theme. If the service doesn\'t have a theme, then use the global theme.'))
832- self.ServiceLevelRadioButton.setText(translate(u'ThemesTab', u'Service level'))
833+ self.ServiceLevelRadioButton.setText(
834+ translate(u'ThemesTab', u'Service level'))
835 self.ServiceLevelLabel.setText(translate(u'ThemesTab', u'Use the theme from the service, overriding any of the individual songs\' themes. If the service doesn\'t have a theme, then use the global theme.'))
836- self.GlobalLevelRadioButton.setText(translate(u'ThemesTab', u'Global level'))
837+ self.GlobalLevelRadioButton.setText(
838+ translate(u'ThemesTab', u'Global level'))
839 self.GlobalLevelLabel.setText(translate(u'ThemesTab', u'Use the global theme, overriding any themes associated with either the service or the songs.'))
840
841 def load(self):
842- self.global_style = self.config.get_config(u'theme global style', u'Global')
843+ self.global_style = self.config.get_config(
844+ u'theme global style', u'Global')
845 self.global_theme = self.config.get_config(u'theme global theme', u'')
846 if self.global_style == u'Global':
847 self.GlobalLevelRadioButton.setChecked(True)
848@@ -126,29 +131,35 @@
849 def save(self):
850 self.config.set_config(u'theme global style', self.global_style )
851 self.config.set_config(u'theme global theme',self.global_theme)
852- Receiver().send_message(u'update_global_theme', self.global_theme )
853+ Receiver().send_message(u'update_global_theme', self.global_theme )
854
855 def postSetUp(self):
856- Receiver().send_message(u'update_global_theme', self.global_theme )
857+ Receiver().send_message(u'update_global_theme', self.global_theme )
858
859 def onSongLevelButtonPressed(self):
860 self.global_style= u'Song'
861- self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
862+ self.parent.RenderManager.set_global_theme(
863+ self.global_theme, self.global_style)
864
865 def onServiceLevelButtonPressed(self):
866 self.global_style= u'Service'
867- self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
868+ self.parent.RenderManager.set_global_theme(
869+ self.global_theme, self.global_style)
870
871 def onGlobalLevelButtonPressed(self):
872 self.global_style= u'Global'
873- self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
874+ self.parent.RenderManager.set_global_theme(
875+ self.global_theme, self.global_style)
876
877 def onDefaultComboBoxChanged(self, value):
878 self.global_theme = unicode(self.DefaultComboBox.currentText())
879- self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
880- image = self.parent.ThemeManagerContents.getPreviewImage(self.global_theme)
881+ self.parent.RenderManager.set_global_theme(
882+ self.global_theme, self.global_style)
883+ image = self.parent.ThemeManagerContents.getPreviewImage(
884+ self.global_theme)
885 preview = QtGui.QPixmap(unicode(image))
886- display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
887+ display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio,
888+ QtCore.Qt.SmoothTransformation)
889 self.DefaultListView.setPixmap(display)
890
891 def updateThemeList(self, theme_list):
892@@ -160,14 +171,18 @@
893 self.DefaultComboBox.clear()
894 for theme in theme_list:
895 self.DefaultComboBox.addItem(theme)
896- id = self.DefaultComboBox.findText(self.global_theme, QtCore.Qt.MatchExactly)
897+ id = self.DefaultComboBox.findText(
898+ self.global_theme, QtCore.Qt.MatchExactly)
899 if id == -1:
900 id = 0 # Not Found
901 self.global_theme = u''
902 self.DefaultComboBox.setCurrentIndex(id)
903- self.parent.RenderManager.set_global_theme(self.global_theme, self.global_style)
904+ self.parent.RenderManager.set_global_theme(
905+ self.global_theme, self.global_style)
906 if self.global_theme is not u'':
907- image = self.parent.ThemeManagerContents.getPreviewImage(self.global_theme)
908+ image = self.parent.ThemeManagerContents.getPreviewImage(
909+ self.global_theme)
910 preview = QtGui.QPixmap(unicode(image))
911- display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
912+ display = preview.scaled(300, 255, QtCore.Qt.KeepAspectRatio,
913+ QtCore.Qt.SmoothTransformation)
914 self.DefaultListView.setPixmap(display)
915
916=== modified file 'openlp/migration/migratesongs.py'
917--- openlp/migration/migratesongs.py 2009-09-08 19:58:05 +0000
918+++ openlp/migration/migratesongs.py 2009-09-21 17:56:36 +0000
919@@ -31,17 +31,18 @@
920 from sqlalchemy import *
921 from sqlalchemy.sql import select
922 from sqlalchemy import create_engine
923-from sqlalchemy.orm import scoped_session, sessionmaker, mapper, relation, clear_mappers
924+from sqlalchemy.orm import scoped_session, sessionmaker, mapper, relation, \
925+ clear_mappers
926 from openlp.plugins.songs.lib.models import metadata, session, \
927- engine, songs_table, Song, Author, Topic, Book
928+ engine, songs_table, Song, Author, Topic, Book
929 from openlp.plugins.songs.lib.tables import *
930 from openlp.plugins.songs.lib.classes import *
931
932 def init_models(url):
933 engine = create_engine(url)
934 metadata.bind = engine
935- session = scoped_session(sessionmaker(autoflush=True, autocommit=False,
936- bind=engine))
937+ session = scoped_session(
938+ sessionmaker(autoflush=True, autocommit=False, bind=engine))
939 mapper(Author, authors_table)
940 mapper(TAuthor, temp_authors_table)
941 mapper(Book, song_books_table)
942@@ -57,7 +58,7 @@
943 return session
944
945 temp_authors_table = Table(u'authors_temp', metadata,
946- Column(u'authorid', types.Integer, primary_key=True),
947+ Column(u'authorid', types.Integer, primary_key=True),
948 Column(u'authorname', String(40))
949 )
950
951@@ -154,14 +155,18 @@
952 song.search_title = u''
953 song.search_lyrics = u''
954 print songs_temp.songtitle
955- aa = self.session.execute(u'select * from songauthors_temp where songid =' + unicode(songs_temp.songid) )
956+ aa = self.session.execute(
957+ u'select * from songauthors_temp where songid =' + \
958+ unicode(songs_temp.songid) )
959 for row in aa:
960 a = row['authorid']
961 authors_temp = self.session.query(TAuthor).get(a)
962- bb = self.session.execute(u'select * from authors where display_name = \"%s\"' % unicode(authors_temp.authorname) ).fetchone()
963+ bb = self.session.execute(
964+ u'select * from authors where display_name = \"%s\"' % \
965+ unicode(authors_temp.authorname) ).fetchone()
966 if bb is None:
967 author = Author()
968- author.display_name = authors_temp.authorname
969+ author.display_name = authors_temp.authorname
970 author.first_name = u''
971 author.last_name = u''
972 else:
973@@ -180,11 +185,11 @@
974 conn = sqlite3.connect(self.data_path + os.sep + database)
975 conn.execute("""update songs set search_title =
976 replace(replace(replace(replace(replace(replace(replace(replace(
977- replace(title, '&', 'and'), ',', ''), ';', ''), ':', ''),
978+ replace(title, '&', 'and'), ',', ''), ';', ''), ':', ''),
979 '(u', ''), ')', ''), '{', ''), '}',''),'?','');""")
980 conn.execute("""update songs set search_lyrics =
981 replace(replace(replace(replace(replace(replace(replace(replace(
982- replace(lyrics, '&', 'and'), ',', ''), ';', ''), ':', ''),
983+ replace(lyrics, '&', 'and'), ',', ''), ';', ''), ':', ''),
984 '(u', ''), ')', ''), '{', ''), '}',''),'?','')
985 ;""")
986 conn.commit()
987
988=== modified file 'openlp/plugins/audit/auditplugin.py'
989--- openlp/plugins/audit/auditplugin.py 2009-09-19 19:45:15 +0000
990+++ openlp/plugins/audit/auditplugin.py 2009-09-21 17:56:36 +0000
991@@ -27,7 +27,7 @@
992 from PyQt4 import QtCore, QtGui
993 from datetime import date
994
995-from openlp.core.lib import Plugin, Receiver, translate, str_to_bool
996+from openlp.core.lib import Plugin, Receiver, translate, str_to_bool
997 from openlp.plugins.audit.lib import AuditTab
998
999 class AuditPlugin(Plugin):
1000@@ -98,7 +98,8 @@
1001 QtCore.QObject.connect(Receiver.get_receiver(),
1002 QtCore.SIGNAL(u'audit_changed'), self.onUpdateAudit)
1003 self.auditFileName = self.config.get_config(u'audit file', u'')
1004- self.auditActive = str_to_bool(self.config.get_config(u'audit active', False))
1005+ self.auditActive = str_to_bool(
1006+ self.config.get_config(u'audit active', False))
1007 if self.auditFileName == u'':
1008 self.auditActive = False
1009 self.ToolsAuditItem.setEnabled(False)
1010@@ -117,7 +118,8 @@
1011 """
1012 if self.auditActive:
1013 for author in auditData[1]:
1014- self.auditFile.write(u'\"%s\",\"%s\",\"%s\",\"%s\"\n' % (date.today(), auditData[0], author, auditData[2]))
1015+ self.auditFile.write(u'\"%s\",\"%s\",\"%s\",\"%s\"\n' % \
1016+ (date.today(), auditData[0], author, auditData[2]))
1017 self.auditFile.flush()
1018
1019 def onUpdateAudit(self):
1020@@ -126,7 +128,8 @@
1021 Sort out the file and the auditing state
1022 """
1023 self.auditFileNameNew = self.config.get_config(u'audit file', u'')
1024- self.auditActive = str_to_bool(self.config.get_config(u'audit active', False))
1025+ self.auditActive = str_to_bool(
1026+ self.config.get_config(u'audit active', False))
1027 if self.auditFileNameNew == u'':
1028 self.auditActive = False
1029 self.ToolsAuditItem.setChecked(self.auditActive)
1030
1031=== modified file 'openlp/plugins/audit/lib/audittab.py'
1032--- openlp/plugins/audit/lib/audittab.py 2009-09-19 19:31:18 +0000
1033+++ openlp/plugins/audit/lib/audittab.py 2009-09-21 17:56:36 +0000
1034@@ -24,7 +24,7 @@
1035
1036 from PyQt4 import QtCore, QtGui
1037
1038-from openlp.core.lib import SettingsTab, str_to_bool, translate, Receiver
1039+from openlp.core.lib import SettingsTab, str_to_bool, translate, Receiver
1040
1041 class AuditTab(SettingsTab):
1042 """
1043@@ -45,7 +45,8 @@
1044 self.AuditFileName.setObjectName("AuditFileName")
1045 self.horizontalLayout.addWidget(self.AuditFileName)
1046 icon1 = QtGui.QIcon()
1047- icon1.addPixmap(QtGui.QPixmap(u':/imports/import_load.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
1048+ icon1.addPixmap(QtGui.QPixmap(u':/imports/import_load.png'),
1049+ QtGui.QIcon.Normal, QtGui.QIcon.Off)
1050 self.AuditFileButton = QtGui.QPushButton(self)
1051 self.AuditFileButton.setObjectName("AuditFileButton")
1052 self.AuditFileButton.setIcon(icon1)
1053@@ -63,19 +64,23 @@
1054 def retranslateUi(self):
1055 self.AuditModeGroupBox.setTitle(translate(u'AuditTab', u'Audit File'))
1056 self.AuditActive.setText(translate(u'AuditTab', 'Audit available:'))
1057- self.WarningLabel.setText(translate(u'AuditTab', u'A restart is needed for this change to become effective'))
1058+ self.WarningLabel.setText(translate(u'AuditTab',
1059+ u'A restart is needed for this change to become effective'))
1060
1061 def load(self):
1062 self.AuditFileName.setText(self.config.get_config(u'Audit file', u''))
1063 self.AuditActive.setChecked(int(self.config.get_config(u'startup', 0)))
1064
1065 def onAuditFileButtonClicked(self):
1066- filename = QtGui.QFileDialog.getOpenFileName(self, u'Audit File',self.AuditFileName.text())
1067+ filename = QtGui.QFileDialog.getOpenFileName(
1068+ self, u'Audit File',self.AuditFileName.text())
1069 if filename != u'':
1070 filename = unicode(filename)
1071 self.AuditFileName.setText(filename)
1072
1073 def save(self):
1074- self.config.set_config(u'Audit file', unicode(self.AuditFileName.text()))
1075- self.config.set_config(u'startup', unicode(self.AuditActive.checkState()))
1076+ self.config.set_config(
1077+ u'Audit file', unicode(self.AuditFileName.text()))
1078+ self.config.set_config(
1079+ u'startup', unicode(self.AuditActive.checkState()))
1080 Receiver().send_message(u'audit_changed')
1081
1082=== modified file 'openlp/plugins/bibles/bibleplugin.py'
1083--- openlp/plugins/bibles/bibleplugin.py 2009-09-08 19:58:05 +0000
1084+++ openlp/plugins/bibles/bibleplugin.py 2009-09-21 17:56:36 +0000
1085@@ -25,7 +25,6 @@
1086 import logging
1087
1088 from PyQt4 import QtCore, QtGui
1089-from PyQt4.QtCore import *
1090
1091 from openlp.core.lib import Plugin, translate
1092
1093@@ -62,7 +61,8 @@
1094 import_menu.addAction(self.ImportBibleItem)
1095 self.ImportBibleItem.setText(translate(u'BiblePlugin', u'&Bible'))
1096 # Signals and slots
1097- QtCore.QObject.connect(self.ImportBibleItem, QtCore.SIGNAL(u'triggered()'), self.onBibleNewClick)
1098+ QtCore.QObject.connect(self.ImportBibleItem,
1099+ QtCore.SIGNAL(u'triggered()'), self.onBibleNewClick)
1100
1101 def add_export_menu_item(self, export_menu):
1102 self.ExportBibleItem = QtGui.QAction(export_menu)
1103
1104=== modified file 'openlp/plugins/bibles/forms/bibleimportform.py'
1105--- openlp/plugins/bibles/forms/bibleimportform.py 2009-09-08 19:58:05 +0000
1106+++ openlp/plugins/bibles/forms/bibleimportform.py 2009-09-21 17:56:36 +0000
1107@@ -31,7 +31,7 @@
1108 from PyQt4 import QtCore, QtGui
1109
1110 from bibleimportdialog import Ui_BibleImportDialog
1111-from openlp.core.lib import Receiver, translate
1112+from openlp.core.lib import Receiver, translate
1113
1114
1115 class BibleImportForm(QtGui.QDialog, Ui_BibleImportDialog):
1116@@ -41,7 +41,7 @@
1117 """
1118 Class documentation goes here.
1119 """
1120- def __init__(self, config, biblemanager , bibleplugin, parent = None):
1121+ def __init__(self, config, biblemanager, bibleplugin, parent=None):
1122 '''
1123 Constructor
1124 '''
1125@@ -196,23 +196,28 @@
1126 log.debug(u'Import Bible')
1127 message = None
1128 if self.bible_type == u'OSIS':
1129- loaded = self.biblemanager.register_osis_file_bible(unicode(self.BibleNameEdit.displayText()),
1130+ loaded = self.biblemanager.register_osis_file_bible(
1131+ unicode(self.BibleNameEdit.displayText()),
1132 self.OSISLocationEdit.displayText())
1133 elif self.bible_type == u'CSV':
1134- loaded = self.biblemanager.register_csv_file_bible(unicode(self.BibleNameEdit.displayText()),
1135- self.BooksLocationEdit.displayText(), self.VerseLocationEdit.displayText())
1136+ loaded = self.biblemanager.register_csv_file_bible(
1137+ unicode(self.BibleNameEdit.displayText()),
1138+ self.BooksLocationEdit.displayText(),
1139+ self.VerseLocationEdit.displayText())
1140 else:
1141 # set a value as it will not be needed
1142 self.setMax(1)
1143- bible = self.bible_versions[unicode(self.BibleComboBox.currentText())]
1144- loaded = self.biblemanager.register_http_bible(unicode(self.BibleComboBox.currentText()), \
1145- unicode(self.LocationComboBox.currentText()), \
1146- unicode(bible), \
1147- unicode(self.AddressEdit.displayText()), \
1148- unicode(self.UsernameEdit .displayText()), \
1149- unicode(self.PasswordEdit.displayText()))
1150+ bible = self.bible_versions[
1151+ unicode(self.BibleComboBox.currentText())]
1152+ loaded = self.biblemanager.register_http_bible(
1153+ unicode(self.BibleComboBox.currentText()),
1154+ unicode(self.LocationComboBox.currentText()),
1155+ unicode(bible), unicode(self.AddressEdit.displayText()),
1156+ unicode(self.UsernameEdit .displayText()),
1157+ unicode(self.PasswordEdit.displayText()))
1158 if loaded:
1159- self.biblemanager.save_meta_data(unicode(self.BibleNameEdit.displayText()),
1160+ self.biblemanager.save_meta_data(
1161+ unicode(self.BibleNameEdit.displayText()),
1162 unicode(self.VersionNameEdit.displayText()),
1163 unicode(self.CopyrightEdit.displayText()),
1164 unicode(self.PermisionEdit.displayText()))
1165@@ -226,7 +231,8 @@
1166 return loaded, message
1167
1168 def checkOsis(self):
1169- if len(self.BooksLocationEdit.displayText()) > 0 or len(self.VerseLocationEdit.displayText()) > 0:
1170+ if len(self.BooksLocationEdit.displayText()) > 0 or \
1171+ len(self.VerseLocationEdit.displayText()) > 0:
1172 self.setCsv()
1173 else:
1174 # Was CSV and is not any more stops lostFocus running mad
1175@@ -235,7 +241,8 @@
1176 self.resetScreenFieldStates()
1177
1178 def checkHttp(self):
1179- if self.BibleComboBox.currentIndex() != 0 : # First slot is blank so no bible
1180+ if self.BibleComboBox.currentIndex() != 0 :
1181+ # First slot is blank so no bible
1182 self.setHttp()
1183 else:
1184 # Was HTTP and is not any more stops lostFocus running mad
1185
1186=== modified file 'openlp/plugins/bibles/lib/bibleCSVimpl.py'
1187--- openlp/plugins/bibles/lib/bibleCSVimpl.py 2009-09-08 19:58:05 +0000
1188+++ openlp/plugins/bibles/lib/bibleCSVimpl.py 2009-09-21 17:56:36 +0000
1189@@ -42,7 +42,8 @@
1190 """
1191 self.bibledb = bibledb
1192 self.loadbible = True
1193- QtCore.QObject.connect(Receiver().get_receiver(),QtCore.SIGNAL(u'openlpstopimport'),self.stop_import)
1194+ QtCore.QObject.connect(Receiver().get_receiver(),
1195+ QtCore.SIGNAL(u'openlpstopimport'), self.stop_import)
1196
1197 def stop_import(self):
1198 self.loadbible= False
1199@@ -80,7 +81,7 @@
1200 # split into 3 units and leave the rest as a single field
1201 p = line.split(u',', 3)
1202 p0 = p[0].replace(u'"', u'')
1203- p3 = p[3].replace(u'"',u'')
1204+ p3 = p[3].replace(u'"',u'')
1205 if book_ptr is not p0:
1206 book = self.bibledb.get_bible_book(p0)
1207 book_ptr = book.name
1208
1209=== modified file 'openlp/plugins/bibles/lib/bibleDBimpl.py'
1210--- openlp/plugins/bibles/lib/bibleDBimpl.py 2009-09-12 17:24:16 +0000
1211+++ openlp/plugins/bibles/lib/bibleDBimpl.py 2009-09-21 17:56:36 +0000
1212@@ -59,7 +59,7 @@
1213 self._load_testament(u'New Testament')
1214 self._load_testament(u'Apocrypha')
1215
1216- def add_verse(self, bookid, chap, vse, text):
1217+ def add_verse(self, bookid, chap, vse, text):
1218 #log.debug(u'add_verse %s,%s,%s", bookid, chap, vse)
1219 verse = Verse()
1220 verse.book_id = bookid
1221@@ -113,7 +113,7 @@
1222 return False
1223
1224 def _load_testament(self, testament):
1225- log.debug(u'load_testaments %s', testament)
1226+ log.debug(u'load_testaments %s', testament)
1227 test = ONTestament()
1228 test.name = testament
1229 self.session.add(test)
1230
1231=== modified file 'openlp/plugins/bibles/lib/bibleHTTPimpl.py'
1232--- openlp/plugins/bibles/lib/bibleHTTPimpl.py 2009-09-08 19:58:05 +0000
1233+++ openlp/plugins/bibles/lib/bibleHTTPimpl.py 2009-09-21 17:56:36 +0000
1234@@ -39,21 +39,32 @@
1235 log.debug(u'init %s', proxyurl)
1236 self.proxyurl = proxyurl
1237
1238- def get_bible_chapter(self, version, bookid, bookname, chapter) :
1239+ def get_bible_chapter(self, version, bookid, bookname, chapter) :
1240 """
1241 Access and decode bibles via the BibleGateway website
1242- Version - the version of the bible like 31 for New International version
1243- bookid - Book id for the book of the bible - eg 1 for Genesis
1244- bookname - not used
1245- chapter - chapter number
1246+
1247+ ``Version``
1248+ The version of the bible like 31 for New International version
1249+
1250+ ``bookid``
1251+ Book id for the book of the bible - eg 1 for Genesis
1252+
1253+ ``bookname``
1254+ Not used
1255+
1256+ ``chapter``
1257+ Chapter number
1258 """
1259- log.debug( u'get_bible_chapter %s,%s,%s,%s', version, bookid, bookname, chapter)
1260- urlstring = u'http://www.biblegateway.com/passage/?book_id='+unicode(bookid)+u'&chapter'+unicode(chapter)+u'&version='+unicode(version)
1261+ log.debug(u'get_bible_chapter %s,%s,%s,%s',
1262+ version, bookid, bookname, chapter)
1263+ urlstring = u'http://www.biblegateway.com/passage/?book_id=' + \
1264+ unicode(bookid) + u'&chapter' + unicode(chapter) + u'&version=' + \
1265+ unicode(version)
1266 xml_string = self._get_web_text(urlstring, self.proxyurl)
1267 #print xml_string
1268- VerseSearch = u'class='+u'"'+u'sup'+u'"'+u'>'
1269+ VerseSearch = u'class=' + u'"' + u'sup' + u'"' + u'>'
1270 verse = 1
1271- i= xml_string.find(u'result-text-style-normal')
1272+ i = xml_string.find(u'result-text-style-normal')
1273 xml_string = xml_string[i:len(xml_string)]
1274 versePos = xml_string.find(VerseSearch)
1275 #print versePos
1276@@ -62,11 +73,11 @@
1277 verseText = '' # clear out string
1278 versePos = xml_string.find(u'</span', versePos)
1279 i = xml_string.find(VerseSearch, versePos+1)
1280- #print i , versePos
1281+ #print i , versePos
1282 if i == -1:
1283 i = xml_string.find(u'</div', versePos+1)
1284 j = xml_string.find(u'<strong', versePos+1)
1285- #print i , j
1286+ #print i , j
1287 if j > 0 and j < i:
1288 i = j
1289 verseText = xml_string[versePos + 7 : i ]
1290@@ -75,9 +86,11 @@
1291 bible[verse] = self._clean_text(verseText) # store the verse
1292 versePos = -1
1293 else:
1294- i = xml_string[:i].rfind(u'<span')+1
1295- verseText = xml_string[versePos + 7 : i - 1 ] # Loose the </span>
1296- xml_string = xml_string[i - 1 :len(xml_string)] # chop off verse 1
1297+ i = xml_string[:i].rfind(u'<span') + 1
1298+ # Loose the </span>
1299+ verseText = xml_string[versePos + 7 : i - 1 ]
1300+ # Chop off verse 1
1301+ xml_string = xml_string[i - 1 :len(xml_string)]
1302 versePos = xml_string.find(VerseSearch) #look for the next verse
1303 bible[verse] = self._clean_text(verseText) # store the verse
1304 verse += 1
1305@@ -92,16 +105,26 @@
1306 log.debug(u'init %s', proxyurl)
1307 self.proxyurl = proxyurl
1308
1309- def get_bible_chapter(self, version, bookid, bookname, chapter) :
1310- log.debug( u'getBibleChapter %s,%s,%s,%s', version, bookid, bookname, chapter)
1311+ def get_bible_chapter(self, version, bookid, bookname, chapter) :
1312+ log.debug(u'getBibleChapter %s,%s,%s,%s',
1313+ version, bookid, bookname, chapter)
1314 """
1315 Access and decode bibles via the Crosswalk website
1316- Version - the version of the bible like niv for New International version
1317- bookid - not used
1318- bookname - text name of in english eg 'gen' for Genesis
1319- chapter - chapter number
1320+
1321+ ``version``
1322+ The version of the bible like niv for New International Version
1323+
1324+ ``bookid``
1325+ Not used
1326+
1327+ ``bookname``
1328+ Text name of in english e.g. 'gen' for Genesis
1329+
1330+ ``chapter``
1331+ Chapter number
1332 """
1333- log.debug(u'get_bible_chapter %s,%s,%s,%s', version, bookid, bookname, chapter)
1334+ log.debug(u'get_bible_chapter %s,%s,%s,%s',
1335+ version, bookid, bookname, chapter)
1336 bookname = bookname.replace(u' ', u'')
1337 urlstring = u'http://bible.crosswalk.com/OnlineStudyBible/bible.cgi?word=%s+%d&version=%s' % (bookname, chapter, version)
1338 xml_string = self._get_web_text(urlstring, self.proxyurl)
1339@@ -135,7 +158,7 @@
1340 #remove the <B> at the front
1341 xml_string = xml_string[i + 3 :len(xml_string)]
1342 versePos = xml_string.find(u'<BLOCKQUOTE>')
1343- #log.debug(u'verse pos %d', versePos)
1344+ #log.debug(u'verse pos %d', versePos)
1345 bible = {}
1346 while versePos > 0:
1347 verseText = u''
1348@@ -153,7 +176,7 @@
1349 verseText = xml_string[versePos: i]
1350 versePos = 0
1351 else:
1352- #log.debug( i, versePos)
1353+ #log.debug( i, versePos)
1354 verseText = xml_string[versePos: i]
1355 versePos = i
1356 #print verseText
1357@@ -170,7 +193,9 @@
1358 def __init__(self):
1359 """
1360 Finds all the bibles defined for the system
1361- Creates an Interface Object for each bible containing connection information
1362+ Creates an Interface Object for each bible containing connection
1363+ information
1364+
1365 Throws Exception if no Bibles are found.
1366
1367 Init confirms the bible exists and stores the database path.
1368@@ -202,18 +227,19 @@
1369 log.debug(u'set_bible_source %s', biblesource)
1370 self.biblesource = biblesource
1371
1372- def get_bible_chapter(self, version, bookid, bookname, chapter):
1373+ def get_bible_chapter(self, version, bookid, bookname, chapter):
1374 """
1375 Receive the request and call the relevant handler methods
1376 """
1377- log.debug(u'get_bible_chapter %s,%s,%s,%s', version, bookid, bookname, chapter)
1378+ log.debug(u'get_bible_chapter %s,%s,%s,%s',
1379+ version, bookid, bookname, chapter)
1380 log.debug(u'biblesource = %s', self.biblesource)
1381 try:
1382 if self.biblesource.lower() == u'crosswalk':
1383 ev = CWExtract(self.proxyurl)
1384 else:
1385 ev = BGExtract(self.proxyurl)
1386- return ev.get_bible_chapter(self.bibleid, bookid, bookname, chapter)
1387+ return ev.get_bible_chapter(self.bibleid, bookid, bookname, chapter)
1388 except Exception, e:
1389 log.error(u'Error thrown = %s', e.args[0])
1390 print e
1391
1392=== modified file 'openlp/plugins/bibles/lib/bibleOSISimpl.py'
1393--- openlp/plugins/bibles/lib/bibleOSISimpl.py 2009-09-08 19:58:05 +0000
1394+++ openlp/plugins/bibles/lib/bibleOSISimpl.py 2009-09-21 17:56:36 +0000
1395@@ -86,7 +86,7 @@
1396 The Import dialog, so that we can increase the counter on
1397 the progress bar.
1398 """
1399- detect_file = open(osisfile_record, u'r')
1400+ detect_file = open(osisfile_record, u'r')
1401 details = chardet.detect(detect_file.read(2048))
1402 detect_file.close()
1403 osis = codecs.open(osisfile_record, u'r', details['encoding'])
1404@@ -102,7 +102,7 @@
1405 pos = file_record.find(verseText)
1406 if pos > -1: # we have a verse
1407 epos= file_record.find(u'>', pos)
1408- ref = file_record[pos+15:epos-1] # Book Reference
1409+ ref = file_record[pos+15:epos-1] # Book Reference
1410 #lets find the bible text only
1411 # find start of text
1412 pos = epos + 1
1413@@ -113,10 +113,10 @@
1414 text = self.remove_block(u'<title', u'</title>', text)
1415 text = self.remove_block(u'<note', u'</note>', text)
1416 text = self.remove_block(u'<divineName', u'</divineName>', text)
1417- text = self.remove_tag(u'<lb', text)
1418- text = self.remove_tag(u'<q', text)
1419- text = self.remove_tag(u'<l', text)
1420- text = self.remove_tag(u'<lg', text)
1421+ text = self.remove_tag(u'<lb', text)
1422+ text = self.remove_tag(u'<q', text)
1423+ text = self.remove_tag(u'<l', text)
1424+ text = self.remove_tag(u'<lg', text)
1425 # Strange tags where the end is not the same as the start
1426 # The must be in this order as at least one bible has them
1427 # crossing and the removal does not work.
1428@@ -127,12 +127,12 @@
1429 #print "Y", search_text, e
1430 pos = -1
1431 else:
1432- text = text[:pos] + text[epos + 4: ]
1433+ text = text[:pos] + text[epos + 4: ]
1434 pos = text.find(u'<FI>')
1435 pos = text.find(u'<RF>')
1436 while pos > -1:
1437 epos = text.find(u'<Rf>', pos)
1438- text = text[:pos] + text[epos + 4: ]
1439+ text = text[:pos] + text[epos + 4: ]
1440 #print "X", pos, epos, text
1441 pos = text.find(u'<RF>')
1442 # split up the reference
1443@@ -184,7 +184,7 @@
1444 if epos == -1:
1445 pos = -1
1446 else:
1447- text = text[:pos] + text[epos + len(end_tag): ]
1448+ text = text[:pos] + text[epos + len(end_tag): ]
1449 pos = text.find(start_tag)
1450 return text
1451
1452@@ -203,6 +203,6 @@
1453 pos = text.find(start_tag)
1454 while pos > -1:
1455 epos = text.find(u'/>', pos)
1456- text = text[:pos] + text[epos + 2: ]
1457+ text = text[:pos] + text[epos + 2: ]
1458 pos = text.find(start_tag)
1459 return text
1460
1461=== modified file 'openlp/plugins/bibles/lib/biblestab.py'
1462--- openlp/plugins/bibles/lib/biblestab.py 2009-09-13 07:39:48 +0000
1463+++ openlp/plugins/bibles/lib/biblestab.py 2009-09-21 17:56:36 +0000
1464@@ -26,7 +26,7 @@
1465
1466 from PyQt4 import Qt, QtCore, QtGui
1467
1468-from openlp.core.lib import translate, str_to_bool, Receiver
1469+from openlp.core.lib import translate, str_to_bool, Receiver
1470 from openlp.core.lib import SettingsTab
1471
1472 class BiblesTab(SettingsTab):
1473@@ -42,7 +42,8 @@
1474 self.show_new_chapters = False
1475 self.display_style = 0
1476 self.bible_search = True
1477- SettingsTab.__init__(self, translate(u'BiblesTab', u'Bibles'), u'Bibles')
1478+ SettingsTab.__init__(
1479+ self, translate(u'BiblesTab', u'Bibles'), u'Bibles')
1480
1481 def setupUi(self):
1482 self.setObjectName(u'BiblesTab')
1483@@ -142,34 +143,53 @@
1484 self.BibleLayout.addWidget(self.BibleRightWidget)
1485 # Signals and slots
1486 QtCore.QObject.connect(self.NewChaptersCheckBox,
1487- QtCore.SIGNAL(u'stateChanged(int)'), self.onNewChaptersCheckBoxChanged)
1488+ QtCore.SIGNAL(u'stateChanged(int)'),
1489+ self.onNewChaptersCheckBoxChanged)
1490 QtCore.QObject.connect(self.BibleSearchCheckBox,
1491- QtCore.SIGNAL(u'stateChanged(int)'), self.onBibleSearchCheckBoxChanged)
1492+ QtCore.SIGNAL(u'stateChanged(int)'),
1493+ self.onBibleSearchCheckBoxChanged)
1494 QtCore.QObject.connect(self.DisplayStyleComboBox,
1495- QtCore.SIGNAL(u'activated(int)'), self.onDisplayStyleComboBoxChanged)
1496+ QtCore.SIGNAL(u'activated(int)'),
1497+ self.onDisplayStyleComboBoxChanged)
1498 QtCore.QObject.connect(self.BibleThemeComboBox,
1499 QtCore.SIGNAL(u'activated(int)'), self.onBibleThemeComboBoxChanged)
1500 QtCore.QObject.connect(self.LayoutStyleComboBox,
1501- QtCore.SIGNAL(u'activated(int)'), self.onLayoutStyleComboBoxChanged)
1502+ QtCore.SIGNAL(u'activated(int)'),
1503+ self.onLayoutStyleComboBoxChanged)
1504 QtCore.QObject.connect(Receiver.get_receiver(),
1505 QtCore.SIGNAL(u'update_themes'), self.updateThemeList)
1506
1507 def retranslateUi(self):
1508- self.VerseDisplayGroupBox.setTitle(translate(u'SettingsForm', u'Verse Display'))
1509- self.NewChaptersCheckBox.setText(translate(u'SettingsForm', u'Only show new chapter numbers'))
1510- self.LayoutStyleLabel.setText(translate(u'SettingsForm', u'Layout Style:'))
1511- self.DisplayStyleLabel.setText(translate(u'SettingsForm', u'Display Style:'))
1512- self.BibleThemeLabel.setText(translate(u'SettingsForm', u'Bible Theme:'))
1513- self.LayoutStyleComboBox.setItemText(0, translate(u'SettingsForm', u'verse per slide'))
1514- self.LayoutStyleComboBox.setItemText(1, translate(u'SettingsForm', u'verse per line'))
1515- self.LayoutStyleComboBox.setItemText(2, translate(u'SettingsForm', u'continuous'))
1516- self.DisplayStyleComboBox.setItemText(0, translate(u'SettingsForm', u'No brackets'))
1517- self.DisplayStyleComboBox.setItemText(1, translate(u'SettingsForm', u'( and )'))
1518- self.DisplayStyleComboBox.setItemText(2, translate(u'SettingsForm', u'{ and }'))
1519- self.DisplayStyleComboBox.setItemText(3, translate(u'SettingsForm', u'[ and ]'))
1520- self.ChangeNoteLabel.setText(translate(u'SettingsForm', u'Note:\nChanges don\'t affect verses already in the service'))
1521- self.BibleSearchGroupBox.setTitle(translate(u'SettingsForm', u'Search'))
1522- self.BibleSearchCheckBox.setText(translate(u'SettingsForm', u'Search-as-you-type'))
1523+ self.VerseDisplayGroupBox.setTitle(
1524+ translate(u'SettingsForm', u'Verse Display'))
1525+ self.NewChaptersCheckBox.setText(
1526+ translate(u'SettingsForm', u'Only show new chapter numbers'))
1527+ self.LayoutStyleLabel.setText(
1528+ translate(u'SettingsForm', u'Layout Style:'))
1529+ self.DisplayStyleLabel.setText(
1530+ translate(u'SettingsForm', u'Display Style:'))
1531+ self.BibleThemeLabel.setText(
1532+ translate(u'SettingsForm', u'Bible Theme:'))
1533+ self.LayoutStyleComboBox.setItemText(
1534+ 0, translate(u'SettingsForm', u'verse per slide'))
1535+ self.LayoutStyleComboBox.setItemText(
1536+ 1, translate(u'SettingsForm', u'verse per line'))
1537+ self.LayoutStyleComboBox.setItemText(
1538+ 2, translate(u'SettingsForm', u'continuous'))
1539+ self.DisplayStyleComboBox.setItemText(
1540+ 0, translate(u'SettingsForm', u'No brackets'))
1541+ self.DisplayStyleComboBox.setItemText(
1542+ 1, translate(u'SettingsForm', u'( and )'))
1543+ self.DisplayStyleComboBox.setItemText(
1544+ 2, translate(u'SettingsForm', u'{ and }'))
1545+ self.DisplayStyleComboBox.setItemText(
1546+ 3, translate(u'SettingsForm', u'[ and ]'))
1547+ self.ChangeNoteLabel.setText(translate(u'SettingsForm',
1548+ u'Note:\nChanges don\'t affect verses already in the service'))
1549+ self.BibleSearchGroupBox.setTitle(
1550+ translate(u'SettingsForm', u'Search'))
1551+ self.BibleSearchCheckBox.setText(
1552+ translate(u'SettingsForm', u'Search-as-you-type'))
1553
1554 def onBibleThemeComboBoxChanged(self):
1555 self.bible_theme = self.BibleThemeComboBox.currentText()
1556@@ -195,20 +215,27 @@
1557 self.bible_search = True
1558
1559 def load(self):
1560- self.show_new_chapters = str_to_bool(self.config.get_config(u'display new chapter', u'False'))
1561- self.display_style = int(self.config.get_config(u'display brackets', u'0'))
1562- self.layout_style = int(self.config.get_config(u'verse layout style', u'0'))
1563+ self.show_new_chapters = str_to_bool(
1564+ self.config.get_config(u'display new chapter', u'False'))
1565+ self.display_style = int(
1566+ self.config.get_config(u'display brackets', u'0'))
1567+ self.layout_style = int(
1568+ self.config.get_config(u'verse layout style', u'0'))
1569 self.bible_theme = self.config.get_config(u'bible theme', u'0')
1570- self.bible_search = str_to_bool(self.config.get_config(u'search as type', u'True'))
1571+ self.bible_search = str_to_bool(
1572+ self.config.get_config(u'search as type', u'True'))
1573 self.NewChaptersCheckBox.setChecked(self.show_new_chapters)
1574 self.DisplayStyleComboBox.setCurrentIndex(self.display_style)
1575 self.LayoutStyleComboBox.setCurrentIndex(self.layout_style)
1576 self.BibleSearchCheckBox.setChecked(self.bible_search)
1577
1578 def save(self):
1579- self.config.set_config(u'display new chapter', unicode(self.show_new_chapters))
1580- self.config.set_config(u'display brackets', unicode(self.display_style))
1581- self.config.set_config(u'verse layout style', unicode(self.layout_style))
1582+ self.config.set_config(
1583+ u'display new chapter', unicode(self.show_new_chapters))
1584+ self.config.set_config(
1585+ u'display brackets', unicode(self.display_style))
1586+ self.config.set_config(
1587+ u'verse layout style', unicode(self.layout_style))
1588 self.config.set_config(u'search as type', unicode(self.bible_search))
1589 self.config.set_config(u'bible theme', unicode(self.bible_theme))
1590
1591@@ -220,7 +247,8 @@
1592 self.BibleThemeComboBox.addItem(u'')
1593 for theme in theme_list:
1594 self.BibleThemeComboBox.addItem(theme)
1595- id = self.BibleThemeComboBox.findText(unicode(self.bible_theme), QtCore.Qt.MatchExactly)
1596+ id = self.BibleThemeComboBox.findText(
1597+ unicode(self.bible_theme), QtCore.Qt.MatchExactly)
1598 if id == -1:
1599 # Not Found
1600 id = 0
1601
1602=== modified file 'openlp/plugins/bibles/lib/manager.py'
1603--- openlp/plugins/bibles/lib/manager.py 2009-09-17 23:10:25 +0000
1604+++ openlp/plugins/bibles/lib/manager.py 2009-09-21 17:56:36 +0000
1605@@ -81,7 +81,7 @@
1606 def reload_bibles(self):
1607 log.debug(u'Reload bibles')
1608 files = self.config.get_files(self.bibleSuffix)
1609- log.debug(u'Bible Files %s', files )
1610+ log.debug(u'Bible Files %s', files )
1611 self.bible_db_cache = {}
1612 self.bible_http_cache = {}
1613 # books of the bible with testaments
1614@@ -166,7 +166,7 @@
1615 Defaults to *None*. The password to accompany the username.
1616 """
1617 log.debug(u'register_HTTP_bible %s, %s, %s, %s, %s, %s',
1618- biblename, biblesource, bibleid, proxyurl, proxyid, proxypass)
1619+ biblename, biblesource, bibleid, proxyurl, proxyid, proxypass)
1620 if self._is_new_bible(biblename):
1621 # Create new Bible
1622 nbible = BibleDBImpl(self.biblePath, biblename, self.config)
1623@@ -271,7 +271,7 @@
1624 log.debug(u'get_bible_books %s', bible)
1625 return self.bible_db_cache[bible].get_bible_books()
1626
1627- def get_book_chapter_count(self, bible, book):
1628+ def get_book_chapter_count(self, bible, book):
1629 """
1630 Returns the number of Chapters for a given book
1631 """
1632@@ -283,7 +283,7 @@
1633 Returns all the number of verses for a given
1634 book and chapterMaxBibleBookVerses
1635 """
1636- log.debug(u'get_book_verse_count %s,%s,%s', bible, book, chapter)
1637+ log.debug(u'get_book_verse_count %s,%s,%s', bible, book, chapter)
1638 return self.bible_db_cache[bible].get_max_bible_book_verses(
1639 book, chapter)
1640
1641@@ -300,7 +300,7 @@
1642 Saves the bibles meta data
1643 """
1644 log.debug(u'save_meta data %s,%s, %s,%s',
1645- bible, version, copyright, permissions)
1646+ bible, version, copyright, permissions)
1647 self.bible_db_cache[bible].save_meta(u'Version', version)
1648 self.bible_db_cache[bible].save_meta(u'Copyright', copyright)
1649 self.bible_db_cache[bible].save_meta(u'Permissions', permissions)
1650@@ -309,7 +309,7 @@
1651 """
1652 Returns the meta data for a given key
1653 """
1654- log.debug(u'get_meta %s,%s', bible, key)
1655+ log.debug(u'get_meta %s,%s', bible, key)
1656 return self.bible_db_cache[bible].get_meta(key)
1657
1658 def get_verse_text(self, bible, bookname, schapter, echapter, sverse,
1659@@ -414,7 +414,7 @@
1660 """
1661 Check cache to see if new bible
1662 """
1663- for b , o in self.bible_db_cache.iteritems():
1664+ for b , o in self.bible_db_cache.iteritems():
1665 log.debug(u'Bible from cache in is_new_bible %s', b )
1666 if b == name :
1667 return False
1668
1669=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
1670--- openlp/plugins/bibles/lib/mediaitem.py 2009-09-16 10:50:13 +0000
1671+++ openlp/plugins/bibles/lib/mediaitem.py 2009-09-21 17:56:36 +0000
1672@@ -28,7 +28,7 @@
1673 from PyQt4 import QtCore, QtGui
1674
1675 from openlp.core.lib import translate, ServiceItem, MediaManagerItem, \
1676- Receiver, contextMenuAction, contextMenuSeparator, BaseListWithDnD
1677+ Receiver, contextMenuAction, contextMenuSeparator, BaseListWithDnD
1678 from openlp.plugins.bibles.forms import BibleImportForm
1679 from openlp.plugins.bibles.lib.manager import BibleMode
1680
1681@@ -329,10 +329,10 @@
1682 log.debug(u'Advanced Search Button pressed')
1683 bible = unicode(self.AdvancedVersionComboBox.currentText())
1684 book = unicode(self.AdvancedBookComboBox.currentText())
1685- chapter_from = int(self.AdvancedFromChapter.currentText())
1686- chapter_to = int(self.AdvancedToChapter.currentText())
1687- verse_from = int(self.AdvancedFromVerse.currentText())
1688- verse_to = int(self.AdvancedToVerse.currentText())
1689+ chapter_from = int(self.AdvancedFromChapter.currentText())
1690+ chapter_to = int(self.AdvancedToChapter.currentText())
1691+ verse_from = int(self.AdvancedFromVerse.currentText())
1692+ verse_to = int(self.AdvancedToVerse.currentText())
1693 self.search_results = self.parent.biblemanager.get_verse_text(
1694 bible, book, chapter_from, chapter_to, verse_from, verse_to)
1695 if self.ClearAdvancedSearchComboBox.currentIndex() == 0:
1696@@ -374,7 +374,7 @@
1697 raw_footer = []
1698 bible_text = u''
1699 for item in items:
1700- bitem = self.ListView.item(item.row())
1701+ bitem = self.ListView.item(item.row())
1702 text = unicode((bitem.data(QtCore.Qt.UserRole)).toString())
1703 verse = text[:text.find(u'(')]
1704 bible = text[text.find(u'(') + 1:-1]
1705@@ -457,13 +457,13 @@
1706 self.adjustComboBox(1, self.verses, self.AdvancedToVerse)
1707
1708 def adjustComboBox(self, frm, to , combo):
1709- log.debug(u'adjustComboBox %s , %s , %s', combo, frm, to)
1710+ log.debug(u'adjustComboBox %s , %s , %s', combo, frm, to)
1711 combo.clear()
1712 for i in range(int(frm), int(to) + 1):
1713 combo.addItem(unicode(i))
1714
1715 def displayResults(self, bible):
1716- for count, verse in enumerate(self.search_results):
1717+ for count, verse in enumerate(self.search_results):
1718 bible_text = u' %s %d:%d (%s)' % (verse.book.name,
1719 verse.chapter, verse.verse, bible)
1720 bible_verse = QtGui.QListWidgetItem(bible_text)
1721@@ -474,7 +474,7 @@
1722 if cr is not None:
1723 cr.setSelected(True)
1724
1725- def searchByReference(self, bible, search):
1726+ def searchByReference(self, bible, search):
1727 log.debug(u'searchByReference %s ,%s', bible, search)
1728 book = u''
1729 start_chapter = u''
1730@@ -529,7 +529,7 @@
1731 sp1 = sp[1].split(u':')
1732 if len(sp1) == 1:
1733 end_chapter = start_chapter
1734- end_verse = sp1[0]
1735+ end_verse = sp1[0]
1736 else:
1737 end_chapter = sp1[0]
1738 end_verse = sp1[1]
1739
1740=== modified file 'openlp/plugins/custom/forms/editcustomform.py'
1741--- openlp/plugins/custom/forms/editcustomform.py 2009-09-12 18:27:17 +0000
1742+++ openlp/plugins/custom/forms/editcustomform.py 2009-09-21 17:56:36 +0000
1743@@ -115,7 +115,7 @@
1744 self.ThemeComboBox.setCurrentIndex(0)
1745
1746 def accept(self):
1747- valid , message = self._validate()
1748+ valid , message = self._validate()
1749 if not valid:
1750 QtGui.QMessageBox.critical(self,
1751 translate(u'customEditDialog', u'Error'), message,
1752@@ -126,7 +126,8 @@
1753 sxml.add_lyrics_to_song()
1754 count = 1
1755 for i in range (0, self.VerseListView.count()):
1756- sxml.add_verse_to_lyrics(u'custom', unicode(count), unicode(self.VerseListView.item(i).text()))
1757+ sxml.add_verse_to_lyrics(u'custom', unicode(count),
1758+ unicode(self.VerseListView.item(i).text()))
1759 count += 1
1760 self.customSlide.title = unicode(self.TitleEdit.displayText())
1761 self.customSlide.text = unicode(sxml.extract_xml())
1762@@ -201,9 +202,11 @@
1763 for row in unicode(self.VerseTextEdit.toPlainText()).split(u'---'):
1764 self.VerseListView.addItem(row)
1765 else:
1766- self.VerseListView.currentItem().setText(self.VerseTextEdit.toPlainText())
1767+ self.VerseListView.currentItem().setText(
1768+ self.VerseTextEdit.toPlainText())
1769 #number of lines has change
1770- if len(self.beforeText.split(u'\n')) != len(self.VerseTextEdit.toPlainText().split(u'\n')):
1771+ if len(self.beforeText.split(u'\n')) != \
1772+ len(self.VerseTextEdit.toPlainText().split(u'\n')):
1773 tempList = {}
1774 for row in range(0, self.VerseListView.count()):
1775 tempList[row] = self.VerseListView.item(row).text()
1776@@ -227,9 +230,11 @@
1777 message = u''
1778 if len(self.TitleEdit.displayText()) == 0:
1779 valid = False
1780- message = translate(u'customEditDialog', u'You need to enter a title \n')
1781+ message = translate(
1782+ u'customEditDialog', u'You need to enter a title \n')
1783 # must have 1 slide
1784 if self.VerseListView.count() == 0:
1785 valid = False
1786- message += translate(u'customEditDialog', u'You need to enter a slide \n')
1787- return valid, message
1788+ message += translate(
1789+ u'customEditDialog', u'You need to enter a slide \n')
1790+ return valid, message
1791
1792=== modified file 'openlp/plugins/custom/lib/mediaitem.py'
1793--- openlp/plugins/custom/lib/mediaitem.py 2009-09-12 18:27:17 +0000
1794+++ openlp/plugins/custom/lib/mediaitem.py 2009-09-21 17:56:36 +0000
1795@@ -26,7 +26,7 @@
1796
1797 from PyQt4 import QtCore, QtGui
1798
1799-from openlp.core.lib import MediaManagerItem, SongXMLParser, ServiceItem, \
1800+from openlp.core.lib import MediaManagerItem, SongXMLParser, ServiceItem, \
1801 translate, contextMenuAction, contextMenuSeparator, BaseListWithDnD
1802
1803 class CustomListView(BaseListWithDnD):
1804@@ -65,7 +65,8 @@
1805 self.ListView.clear()
1806 for CustomSlide in list:
1807 custom_name = QtGui.QListWidgetItem(CustomSlide.title)
1808- custom_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(CustomSlide.id))
1809+ custom_name.setData(
1810+ QtCore.Qt.UserRole, QtCore.QVariant(CustomSlide.id))
1811 self.ListView.addItem(custom_name)
1812
1813 def onNewClick(self):
1814
1815=== modified file 'openlp/plugins/images/imageplugin.py'
1816--- openlp/plugins/images/imageplugin.py 2009-09-08 19:58:05 +0000
1817+++ openlp/plugins/images/imageplugin.py 2009-09-21 17:56:36 +0000
1818@@ -27,7 +27,7 @@
1819 from PyQt4 import QtCore, QtGui
1820
1821 from openlp.core.lib import Plugin
1822-from openlp.plugins.images.lib import ImageMediaItem, ImageTab
1823+from openlp.plugins.images.lib import ImageMediaItem, ImageTab
1824
1825 class ImagePlugin(Plugin):
1826 global log
1827
1828=== modified file 'openlp/plugins/images/lib/imagetab.py'
1829--- openlp/plugins/images/lib/imagetab.py 2009-09-08 19:58:05 +0000
1830+++ openlp/plugins/images/lib/imagetab.py 2009-09-21 17:56:36 +0000
1831@@ -24,7 +24,7 @@
1832
1833 from PyQt4 import QtCore, QtGui
1834
1835-from openlp.core.lib import SettingsTab, str_to_bool, translate, Receiver
1836+from openlp.core.lib import SettingsTab, str_to_bool, translate, Receiver
1837
1838 class ImageTab(SettingsTab):
1839 """
1840@@ -53,7 +53,8 @@
1841 self.TimeoutSpacer = QtGui.QSpacerItem(147, 20,
1842 QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
1843 self.TimeoutLayout.addItem(self.TimeoutSpacer)
1844- self.ImageLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.ImageModeGroupBox)
1845+ self.ImageLayout.setWidget(
1846+ 0, QtGui.QFormLayout.LabelRole, self.ImageModeGroupBox)
1847 # Signals and slots
1848 QtCore.QObject.connect(self.TimeoutSpinBox,
1849 QtCore.SIGNAL(u'valueChanged(int)'), self.onTimeoutSpinBoxChanged)
1850@@ -71,7 +72,7 @@
1851
1852 def save(self):
1853 self.config.set_config(u'loop delay', self.loop_delay)
1854- Receiver().send_message(u'update_spin_delay', self.loop_delay )
1855+ Receiver().send_message(u'update_spin_delay', self.loop_delay )
1856
1857 def postSetUp(self):
1858- Receiver().send_message(u'update_spin_delay', self.loop_delay )
1859+ Receiver().send_message(u'update_spin_delay', self.loop_delay )
1860
1861=== modified file 'openlp/plugins/images/lib/mediaitem.py'
1862--- openlp/plugins/images/lib/mediaitem.py 2009-09-12 18:27:17 +0000
1863+++ openlp/plugins/images/lib/mediaitem.py 2009-09-21 17:56:36 +0000
1864@@ -26,7 +26,8 @@
1865 import os
1866
1867 from PyQt4 import QtCore, QtGui
1868-from openlp.core.lib import MediaManagerItem, ServiceItem, translate, BaseListWithDnD, buildIcon
1869+from openlp.core.lib import MediaManagerItem, ServiceItem, translate, \
1870+ BaseListWithDnD, buildIcon
1871
1872 # We have to explicitly create separate classes for each plugin
1873 # in order for DnD to the Service manager to work correctly.
1874@@ -61,9 +62,11 @@
1875 MediaManagerItem.__init__(self, parent, icon, title)
1876
1877 def initialise(self):
1878- self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
1879+ self.ListView.setSelectionMode(
1880+ QtGui.QAbstractItemView.ExtendedSelection)
1881 self.ListView.setIconSize(QtCore.QSize(88,50))
1882- self.servicePath = os.path.join(self.parent.config.get_data_path(), u'.thumbnails')
1883+ self.servicePath = os.path.join(
1884+ self.parent.config.get_data_path(), u'.thumbnails')
1885 if os.path.exists(self.servicePath) == False:
1886 os.mkdir(self.servicePath)
1887 self.loadList(self.parent.config.load_list(self.ConfigSection))
1888@@ -103,9 +106,9 @@
1889 return False
1890 service_item.title = u'Image(s)'
1891 for item in items:
1892- bitem = self.ListView.item(item.row())
1893+ bitem = self.ListView.item(item.row())
1894 filename = unicode((bitem.data(QtCore.Qt.UserRole)).toString())
1895 frame = QtGui.QImage(unicode(filename))
1896 (path, name) = os.path.split(filename)
1897- service_item.add_from_image(path, name, frame)
1898+ service_item.add_from_image(path, name, frame)
1899 return True
1900
1901=== modified file 'openlp/plugins/media/lib/mediaitem.py'
1902--- openlp/plugins/media/lib/mediaitem.py 2009-09-15 21:59:20 +0000
1903+++ openlp/plugins/media/lib/mediaitem.py 2009-09-21 17:56:36 +0000
1904@@ -81,7 +81,7 @@
1905 filename = self.ListData.getFilename(index)
1906 frame = QtGui.QImage(unicode(filename))
1907 (path, name) = os.path.split(filename)
1908- service_item.add_from_image(path, name, frame)
1909+ service_item.add_from_image(path, name, frame)
1910 return True
1911
1912 def onPreviewClick(self):
1913
1914=== modified file 'openlp/plugins/media/lib/mediatab.py'
1915--- openlp/plugins/media/lib/mediatab.py 2009-09-08 19:58:05 +0000
1916+++ openlp/plugins/media/lib/mediatab.py 2009-09-21 17:56:36 +0000
1917@@ -24,7 +24,7 @@
1918
1919 from PyQt4 import QtCore, QtGui
1920
1921-from openlp.core.lib import SettingsTab, str_to_bool, translate
1922+from openlp.core.lib import SettingsTab, str_to_bool, translate
1923
1924 class MediaTab(SettingsTab):
1925 """
1926@@ -50,14 +50,16 @@
1927 self.UseVMRLabel.setObjectName(u'UseVMRLabel')
1928 self.MediaModeLayout.addWidget(self.UseVMRLabel)
1929
1930- self.MediaLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.MediaModeGroupBox)
1931+ self.MediaLayout.setWidget(
1932+ 0, QtGui.QFormLayout.LabelRole, self.MediaModeGroupBox)
1933 # Signals and slots
1934 QtCore.QObject.connect(self.UseVMRCheckBox,
1935 QtCore.SIGNAL(u'stateChanged(int)'), self.onVMRCheckBoxChanged)
1936
1937 def retranslateUi(self):
1938 self.MediaModeGroupBox.setTitle(translate(u'MediaTab', u'Media Mode'))
1939- self.UseVMRCheckBox.setText(translate(u'MediaTab', u'Use Video Mode Rendering'))
1940+ self.UseVMRCheckBox.setText(
1941+ translate(u'MediaTab', u'Use Video Mode Rendering'))
1942 self.UseVMRLabel.setText(translate(u'MediaTab', u'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">\n'
1943 u'<html><head><meta name="qrichtext" content="1" /><style type="text/css">\n'
1944 u'p, li { white-space: pre-wrap; }\n'
1945@@ -72,7 +74,8 @@
1946 self.use_vmr_mode = True
1947
1948 def load(self):
1949- self.use_vmr_mode = str_to_bool(self.config.get_config(u'use mode layout', u'False'))
1950+ self.use_vmr_mode = str_to_bool(
1951+ self.config.get_config(u'use mode layout', u'False'))
1952 if self.use_vmr_mode :
1953 self.UseVMRCheckBox.setChecked(True)
1954
1955
1956=== modified file 'openlp/plugins/presentations/lib/impresscontroller.py'
1957--- openlp/plugins/presentations/lib/impresscontroller.py 2009-09-18 16:06:25 +0000
1958+++ openlp/plugins/presentations/lib/impresscontroller.py 2009-09-21 17:56:36 +0000
1959@@ -27,7 +27,7 @@
1960 # http://nxsy.org/comparing-documents-with-openoffice-and-python
1961
1962 import logging
1963-import os , subprocess
1964+import os , subprocess
1965 import time
1966 import sys
1967
1968
1969=== modified file 'openlp/plugins/presentations/lib/mediaitem.py'
1970--- openlp/plugins/presentations/lib/mediaitem.py 2009-09-12 18:27:17 +0000
1971+++ openlp/plugins/presentations/lib/mediaitem.py 2009-09-21 17:56:36 +0000
1972@@ -26,7 +26,8 @@
1973 import os
1974
1975 from PyQt4 import QtCore, QtGui
1976-from openlp.core.lib import MediaManagerItem, ServiceItem, translate, BaseListWithDnD
1977+from openlp.core.lib import MediaManagerItem, ServiceItem, translate, \
1978+ BaseListWithDnD
1979 from openlp.plugins.presentations.lib import MessageListener
1980
1981 # We have to explicitly create separate classes for each plugin
1982@@ -64,10 +65,12 @@
1983
1984 def addEndHeaderBar(self):
1985 self.PresentationWidget = QtGui.QWidget(self)
1986- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
1987+ sizePolicy = QtGui.QSizePolicy(
1988+ QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
1989 sizePolicy.setHorizontalStretch(0)
1990 sizePolicy.setVerticalStretch(0)
1991- sizePolicy.setHeightForWidth(self.PresentationWidget.sizePolicy().hasHeightForWidth())
1992+ sizePolicy.setHeightForWidth(
1993+ self.PresentationWidget.sizePolicy().hasHeightForWidth())
1994 self.PresentationWidget.setSizePolicy(sizePolicy)
1995 self.PresentationWidget.setObjectName(u'PresentationWidget')
1996 self.DisplayLayout = QtGui.QGridLayout(self.PresentationWidget)
1997@@ -78,7 +81,8 @@
1998 self.DisplayTypeLabel = QtGui.QLabel(self.PresentationWidget)
1999 self.DisplayTypeLabel.setObjectName(u'SearchTypeLabel')
2000 self.DisplayLayout.addWidget(self.DisplayTypeLabel, 0, 0, 1, 1)
2001- self.DisplayTypeLabel.setText(translate(u'PresentationMediaItem', u'Present using:'))
2002+ self.DisplayTypeLabel.setText(
2003+ translate(u'PresentationMediaItem', u'Present using:'))
2004 # Add the Presentation widget to the page layout
2005 self.PageLayout.addWidget(self.PresentationWidget)
2006
2007@@ -102,7 +106,8 @@
2008 item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
2009 row = self.ListView.row(item)
2010 self.ListView.takeItem(row)
2011- self.parent.config.set_list(self.ConfigSection, self.ListData.getFileList())
2012+ self.parent.config.set_list(
2013+ self.ConfigSection, self.ListData.getFileList())
2014
2015 def generateSlideData(self, service_item):
2016 items = self.ListView.selectedIndexes()
2017@@ -111,8 +116,8 @@
2018 service_item.title = unicode(self.DisplayTypeComboBox.currentText())
2019 service_item.shortname = unicode(self.DisplayTypeComboBox.currentText())
2020 for item in items:
2021- bitem = self.ListView.item(item.row())
2022+ bitem = self.ListView.item(item.row())
2023 filename = unicode((bitem.data(QtCore.Qt.UserRole)).toString())
2024 (path, name) = os.path.split(filename)
2025- service_item.add_from_command(path, name)
2026+ service_item.add_from_command(path, name)
2027 return True
2028
2029=== modified file 'openlp/plugins/presentations/lib/messagelistener.py'
2030--- openlp/plugins/presentations/lib/messagelistener.py 2009-09-18 06:07:10 +0000
2031+++ openlp/plugins/presentations/lib/messagelistener.py 2009-09-21 17:56:36 +0000
2032@@ -26,8 +26,8 @@
2033
2034 class MessageListener(object):
2035 """
2036- This is the Presentation listener who acts on events from the slide controller
2037- and passes the messages on the the correct presentation handlers
2038+ This is the Presentation listener who acts on events from the slide
2039+ controller and passes the messages on the the correct presentation handlers
2040 """
2041 global log
2042 log=logging.getLogger(u'MessageListener')
2043@@ -55,7 +55,7 @@
2044 Start of new presentation
2045 Save the handler as any new presentations start here
2046 """
2047- self.handler, file = self.decodeMessage(message)
2048+ self.handler, file = self.decodeMessage(message)
2049 self.controllers[self.handler].loadPresentation(file)
2050
2051 def next(self, message):
2052
2053=== modified file 'openlp/plugins/presentations/lib/presentationtab.py'
2054--- openlp/plugins/presentations/lib/presentationtab.py 2009-09-12 17:24:16 +0000
2055+++ openlp/plugins/presentations/lib/presentationtab.py 2009-09-21 17:56:36 +0000
2056@@ -24,14 +24,15 @@
2057
2058 from PyQt4 import Qt, QtCore, QtGui
2059
2060-from openlp.core.lib import SettingsTab, translate, str_to_bool
2061+from openlp.core.lib import SettingsTab, translate, str_to_bool
2062
2063 class PresentationTab(SettingsTab):
2064 """
2065 PresentationsTab is the Presentations settings tab in the settings dialog.
2066 """
2067 def __init__(self):
2068- SettingsTab.__init__(self, translate(u'PresentationTab', u'Presentation'), u'Presentations')
2069+ SettingsTab.__init__(self,
2070+ translate(u'PresentationTab', u'Presentation'), u'Presentations')
2071
2072 def setupUi(self):
2073 self.setObjectName(u'PresentationTab')
2074@@ -41,7 +42,8 @@
2075 self.PresentationLayout.setObjectName(u'PresentationLayout')
2076 self.PresentationLeftWidget = QtGui.QWidget(self)
2077 self.PresentationLeftWidget.setObjectName(u'PresentationLeftWidget')
2078- self.PresentationLeftLayout = QtGui.QVBoxLayout(self.PresentationLeftWidget)
2079+ self.PresentationLeftLayout = QtGui.QVBoxLayout(
2080+ self.PresentationLeftWidget)
2081 self.PresentationLeftLayout.setObjectName(u'PresentationLeftLayout')
2082 self.PresentationLeftLayout.setSpacing(8)
2083 self.PresentationLeftLayout.setMargin(0)
2084@@ -60,17 +62,20 @@
2085 self.PowerpointCheckBox.setTristate(False)
2086 self.PowerpointCheckBox.setObjectName(u'PowerpointCheckBox')
2087 self.VerseDisplayLayout.addWidget(self.PowerpointCheckBox, 0, 0, 1, 1)
2088- self.PowerpointViewerCheckBox = QtGui.QCheckBox(self.VerseDisplayGroupBox)
2089+ self.PowerpointViewerCheckBox = QtGui.QCheckBox(
2090+ self.VerseDisplayGroupBox)
2091 self.PowerpointViewerCheckBox.setTristate(False)
2092 self.PowerpointViewerCheckBox.setObjectName(u'PowerpointViewerCheckBox')
2093- self.VerseDisplayLayout.addWidget(self.PowerpointViewerCheckBox, 1, 0, 1, 1)
2094+ self.VerseDisplayLayout.addWidget(
2095+ self.PowerpointViewerCheckBox, 1, 0, 1, 1)
2096 self.ImpressCheckBox = QtGui.QCheckBox(self.VerseDisplayGroupBox)
2097 self.ImpressCheckBox.setTristate(False)
2098 self.ImpressCheckBox.setObjectName(u'ImpressCheckBox')
2099 self.VerseDisplayLayout.addWidget(self.ImpressCheckBox, 2, 0, 1, 1)
2100 self.PresentationThemeWidget = QtGui.QWidget(self.VerseDisplayGroupBox)
2101 self.PresentationThemeWidget.setObjectName(u'PresentationThemeWidget')
2102- self.PresentationThemeLayout = QtGui.QHBoxLayout(self.PresentationThemeWidget)
2103+ self.PresentationThemeLayout = QtGui.QHBoxLayout(
2104+ self.PresentationThemeWidget)
2105 self.PresentationThemeLayout.setSpacing(8)
2106 self.PresentationThemeLayout.setMargin(0)
2107 self.PresentationThemeLayout.setObjectName(u'PresentationThemeLayout')
2108@@ -81,7 +86,8 @@
2109 self.PresentationLayout.addWidget(self.PresentationLeftWidget)
2110 self.PresentationRightWidget = QtGui.QWidget(self)
2111 self.PresentationRightWidget.setObjectName(u'PresentationRightWidget')
2112- self.PresentationRightLayout = QtGui.QVBoxLayout(self.PresentationRightWidget)
2113+ self.PresentationRightLayout = QtGui.QVBoxLayout(
2114+ self.PresentationRightWidget)
2115 self.PresentationRightLayout.setObjectName(u'PresentationRightLayout')
2116 self.PresentationRightLayout.setSpacing(8)
2117 self.PresentationRightLayout.setMargin(0)
2118@@ -91,16 +97,25 @@
2119 self.PresentationLayout.addWidget(self.PresentationRightWidget)
2120
2121 def retranslateUi(self):
2122- self.PowerpointCheckBox.setText(translate(u'PresentationTab', 'Powerpoint available:'))
2123- self.PowerpointViewerCheckBox.setText(translate(u'PresentationTab', 'PowerpointViewer available:'))
2124- self.ImpressCheckBox.setText(translate(u'PresentationTab', 'Impress available:'))
2125+ self.PowerpointCheckBox.setText(
2126+ translate(u'PresentationTab', 'Powerpoint available:'))
2127+ self.PowerpointViewerCheckBox.setText(
2128+ translate(u'PresentationTab', 'PowerpointViewer available:'))
2129+ self.ImpressCheckBox.setText(
2130+ translate(u'PresentationTab', 'Impress available:'))
2131
2132 def load(self):
2133- self.PowerpointCheckBox.setChecked(int(self.config.get_config(u'Powerpoint', 0)))
2134- self.PowerpointViewerCheckBox.setChecked(int(self.config.get_config(u'Powerpoint Viewer', 0)))
2135- self.ImpressCheckBox.setChecked(int(self.config.get_config(u'Impress', 0)))
2136+ self.PowerpointCheckBox.setChecked(
2137+ int(self.config.get_config(u'Powerpoint', 0)))
2138+ self.PowerpointViewerCheckBox.setChecked(
2139+ int(self.config.get_config(u'Powerpoint Viewer', 0)))
2140+ self.ImpressCheckBox.setChecked(
2141+ int(self.config.get_config(u'Impress', 0)))
2142
2143 def save(self):
2144- self.config.set_config(u'Powerpoint', unicode(self.PowerpointCheckBox.checkState()))
2145- self.config.set_config(u'Powerpoint Viewer', unicode(self.PowerpointViewerCheckBox.checkState()))
2146- self.config.set_config(u'Impress', unicode(self.ImpressCheckBox.checkState()))
2147+ self.config.set_config(
2148+ u'Powerpoint', unicode(self.PowerpointCheckBox.checkState()))
2149+ self.config.set_config(u'Powerpoint Viewer',
2150+ unicode(self.PowerpointViewerCheckBox.checkState()))
2151+ self.config.set_config(
2152+ u'Impress', unicode(self.ImpressCheckBox.checkState()))
2153
2154=== modified file 'openlp/plugins/presentations/presentationplugin.py'
2155--- openlp/plugins/presentations/presentationplugin.py 2009-09-18 16:06:25 +0000
2156+++ openlp/plugins/presentations/presentationplugin.py 2009-09-21 17:56:36 +0000
2157@@ -28,7 +28,7 @@
2158
2159 from PyQt4 import QtCore, QtGui
2160
2161-from openlp.core.lib import Plugin, MediaManagerItem
2162+from openlp.core.lib import Plugin, MediaManagerItem
2163 from openlp.plugins.presentations.lib import PresentationMediaItem, \
2164 PresentationTab, ImpressController
2165 try:
2166
2167=== modified file 'openlp/plugins/remotes/lib/remotetab.py'
2168--- openlp/plugins/remotes/lib/remotetab.py 2009-09-07 19:00:24 +0000
2169+++ openlp/plugins/remotes/lib/remotetab.py 2009-09-21 17:56:36 +0000
2170@@ -20,14 +20,15 @@
2171
2172 from PyQt4 import QtCore, QtGui
2173
2174-from openlp.core.lib import SettingsTab, str_to_bool, translate
2175+from openlp.core.lib import SettingsTab, str_to_bool, translate
2176
2177 class RemoteTab(SettingsTab):
2178 """
2179 RemoteTab is the Remotes settings tab in the settings dialog.
2180 """
2181 def __init__(self):
2182- SettingsTab.__init__(self, translate(u'RemoteTab', u'Remotes'), u'Remotes')
2183+ SettingsTab.__init__(
2184+ self, translate(u'RemoteTab', u'Remotes'), u'Remotes')
2185
2186 def setupUi(self):
2187 self.setObjectName(u'RemoteTab')
2188@@ -49,18 +50,25 @@
2189 self.WarningLabel = QtGui.QLabel(self.RemoteModeGroupBox)
2190 self.WarningLabel.setObjectName(u'WarningLabel')
2191 self.RemoteModeLayout.addWidget(self.WarningLabel)
2192- self.RemoteLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.RemoteModeGroupBox)
2193+ self.RemoteLayout.setWidget(
2194+ 0, QtGui.QFormLayout.LabelRole, self.RemoteModeGroupBox)
2195
2196 def retranslateUi(self):
2197- self.RemoteModeGroupBox.setTitle(translate(u'RemoteTab', u'Remotes Receiver Port'))
2198+ self.RemoteModeGroupBox.setTitle(
2199+ translate(u'RemoteTab', u'Remotes Receiver Port'))
2200 self.RemoteActive.setText(translate(u'RemoteTab', 'Remote available:'))
2201- self.WarningLabel.setText(translate(u'RemoteTab', u'A restart is needed for this change to become effective'))
2202+ self.WarningLabel.setText(translate(u'RemoteTab',
2203+ u'A restart is needed for this change to become effective'))
2204
2205 def load(self):
2206- self.RemotePortSpinBox.setValue(int(self.config.get_config(u'remote port', 4316)))
2207- self.RemoteActive.setChecked(int(self.config.get_config(u'startup', 0)))
2208+ self.RemotePortSpinBox.setValue(
2209+ int(self.config.get_config(u'remote port', 4316)))
2210+ self.RemoteActive.setChecked(int(
2211+ self.config.get_config(u'startup', 0)))
2212
2213 def save(self):
2214- self.config.set_config(u'remote port', unicode(self.RemotePortSpinBox.value()))
2215- self.config.set_config(u'startup', unicode(self.RemoteActive.checkState()))
2216+ self.config.set_config(
2217+ u'remote port', unicode(self.RemotePortSpinBox.value()))
2218+ self.config.set_config(
2219+ u'startup', unicode(self.RemoteActive.checkState()))
2220
2221
2222=== modified file 'openlp/plugins/remotes/remoteclient-cli.py'
2223--- openlp/plugins/remotes/remoteclient-cli.py 2009-09-02 01:44:09 +0000
2224+++ openlp/plugins/remotes/remoteclient-cli.py 2009-09-21 17:56:36 +0000
2225@@ -33,7 +33,7 @@
2226 print u'Errow thrown ', sys.exc_info()[1]
2227
2228 def format_message(options):
2229- return u'%s:%s' % (options.event, options.message)
2230+ return u'%s:%s' % (options.event, options.message)
2231
2232 def main():
2233 usage = "usage: %prog [options] arg1 arg2"
2234
2235=== modified file 'openlp/plugins/remotes/remoteplugin.py'
2236--- openlp/plugins/remotes/remoteplugin.py 2009-09-13 07:39:48 +0000
2237+++ openlp/plugins/remotes/remoteplugin.py 2009-09-21 17:56:36 +0000
2238@@ -62,12 +62,12 @@
2239 def readData(self):
2240 log.info(u'Remoted data has arrived')
2241 while self.server.hasPendingDatagrams():
2242- datagram, host, port = self.server.readDatagram(
2243+ datagram, host, port = self.server.readDatagram(
2244 self.server.pendingDatagramSize())
2245 self.handle_datagram(datagram)
2246
2247 def handle_datagram(self, datagram):
2248- log.info(u'Sending event %s ', datagram)
2249+ log.info(u'Sending event %s ', datagram)
2250 pos = datagram.find(u':')
2251 event = unicode(datagram[:pos].lower())
2252
2253
2254=== modified file 'openlp/plugins/songs/lib/manager.py'
2255--- openlp/plugins/songs/lib/manager.py 2009-09-18 11:55:26 +0000
2256+++ openlp/plugins/songs/lib/manager.py 2009-09-21 17:56:36 +0000
2257@@ -27,7 +27,7 @@
2258
2259 from sqlalchemy import asc, desc
2260 from openlp.plugins.songs.lib.models import init_models, metadata, session, \
2261- engine, songs_table, Song, Author, Topic, Book
2262+ engine, songs_table, Song, Author, Topic, Book
2263
2264 import logging
2265
2266
2267=== modified file 'openlp/plugins/songs/lib/mediaitem.py'
2268--- openlp/plugins/songs/lib/mediaitem.py 2009-09-18 16:06:39 +0000
2269+++ openlp/plugins/songs/lib/mediaitem.py 2009-09-21 17:56:36 +0000
2270@@ -27,7 +27,7 @@
2271 from PyQt4 import QtCore, QtGui
2272
2273 from openlp.core.lib import MediaManagerItem, translate, ServiceItem, \
2274- SongXMLParser, contextMenuAction, contextMenuSeparator, BaseListWithDnD, \
2275+ SongXMLParser, contextMenuAction, contextMenuSeparator, BaseListWithDnD, \
2276 Receiver
2277 from openlp.plugins.songs.forms import EditSongForm, SongMaintenanceForm
2278
2279@@ -49,7 +49,7 @@
2280 self.PluginTextShort = u'Song'
2281 self.ConfigSection = u'song'
2282 MediaManagerItem.__init__(self, parent, icon, title)
2283- self.edit_song_form = EditSongForm(self.parent.songmanager, self)
2284+ self.edit_song_form = EditSongForm(self.parent.songmanager, self)
2285 self.song_maintenance_form = SongMaintenanceForm(
2286 self.parent.songmanager, self)
2287
2288@@ -306,7 +306,7 @@
2289 raw_footer.append(author_list)
2290 raw_footer.append(song.copyright )
2291 raw_footer.append(unicode(
2292- translate(u'SongMediaItem', u'CCL Licence: ') + ccl ))
2293+ translate(u'SongMediaItem', u'CCL Licence: ') + ccl))
2294 service_item.raw_footer = raw_footer
2295 service_item.audit = [service_item.title, author_audit, ccl]
2296 return True
2297
2298=== modified file 'openlp/plugins/songs/lib/songxml.py'
2299--- openlp/plugins/songs/lib/songxml.py 2009-09-08 19:58:05 +0000
2300+++ openlp/plugins/songs/lib/songxml.py 2009-09-21 17:56:36 +0000
2301@@ -71,7 +71,7 @@
2302 class _OpenSong(XmlRootClass):
2303 """Class for import of OpenSogn"""
2304
2305- def __init__(self, xmlContent = None):
2306+ def __init__(self, xmlContent = None):
2307 """Initialize from given xml content"""
2308 super(_OpenSong, self).__init__()
2309 self.from_buffer(xmlContent)
2310@@ -81,7 +81,7 @@
2311 global _blankOpenSongXml
2312 self._setFromXml(_blankOpenSongXml, 'song')
2313
2314- def from_buffer(self, xmlContent):
2315+ def from_buffer(self, xmlContent):
2316 """Initialize from buffer(string) with xml content"""
2317 self._reset()
2318 if xmlContent != None :
2319@@ -259,7 +259,7 @@
2320 """Return the songid for the database"""
2321 return self.songid
2322
2323- def from_opensong_buffer(self, xmlcontent):
2324+ def from_opensong_buffer(self, xmlcontent):
2325 """Initialize from buffer(string) of xml lines in opensong format"""
2326 self._reset()
2327 opensong = _OpenSong(xmlcontent)
2328@@ -275,20 +275,20 @@
2329 self.set_category_array(opensong.get_category_array())
2330 self.set_lyrics(opensong.get_lyrics())
2331
2332- def from_opensong_file(self, xmlfilename):
2333+ def from_opensong_file(self, xmlfilename):
2334 """Initialize from file containing xml
2335
2336 xmlfilename -- path to xml file
2337 """
2338 lst = []
2339- f = open(xmlfilename, 'r')
2340+ f = open(xmlfilename, 'r')
2341 for line in f :
2342 lst.append(line)
2343 f.close()
2344 xml = "".join(lst)
2345 self.from_opensong_buffer(xml)
2346
2347- def _remove_punctuation(self, title):
2348+ def _remove_punctuation(self, title):
2349 """Remove the puntuation chars from title
2350
2351 chars are: .,:;!?&%#/\@`$'|"^~*-
2352@@ -296,7 +296,7 @@
2353 punctuation = ".,:;!?&%#'\"/\\@`$|^~*-"
2354 s = title
2355 for c in punctuation :
2356- s = s.replace(c, '')
2357+ s = s.replace(c, '')
2358 return s
2359
2360 def set_title(self, title):
2361@@ -322,7 +322,8 @@
2362 return self.search_title
2363
2364 def from_ccli_text_buffer(self, textList):
2365- """Create song from a list of texts (strings) - CCLI text format expected
2366+ """
2367+ Create song from a list of texts (strings) - CCLI text format expected
2368
2369 textList (list of strings) -- the song
2370 """
2371@@ -377,13 +378,13 @@
2372 self.set_song_cclino(sCcli)
2373 self.set_lyrics(lyrics)
2374
2375- def from_ccli_text_file(self, textFileName):
2376+ def from_ccli_text_file(self, textFileName):
2377 """Create song from a list of texts read from given file
2378
2379 textFileName -- path to text file
2380 """
2381 lines = []
2382- f = open(textFileName, 'r')
2383+ f = open(textFileName, 'r')
2384 for orgline in f:
2385 lines.append(orgline.rstrip())
2386 f.close()
2387@@ -424,7 +425,7 @@
2388 """Return copyright info string"""
2389 return self._assure_string(self.copyright)
2390
2391- def set_copyright(self, copyright):
2392+ def set_copyright(self, copyright):
2393 """Set the copyright string"""
2394 self.copyright = copyright
2395
2396@@ -432,7 +433,7 @@
2397 """Return the songCclino"""
2398 return self._assure_string(self.song_cclino)
2399
2400- def set_song_cclino(self, song_cclino):
2401+ def set_song_cclino(self, song_cclino):
2402 """Set the song_cclino"""
2403 self.song_cclino = song_cclino
2404
2405@@ -440,7 +441,7 @@
2406 """Return the theme name for the song"""
2407 return self._assure_string(self.theme)
2408
2409- def set_theme(self, theme):
2410+ def set_theme(self, theme):
2411 """Set the theme name (string)"""
2412 self.theme = theme
2413
2414@@ -448,7 +449,7 @@
2415 """Return the song_book (string)"""
2416 return self._assure_string(self.song_book)
2417
2418- def set_song_book(self, song_book):
2419+ def set_song_book(self, song_book):
2420 """Set the song_book (string)"""
2421 self.song_book = song_book
2422
2423@@ -456,7 +457,7 @@
2424 """Return the song_number (string)"""
2425 return self._assure_string(self.song_number)
2426
2427- def set_song_number(self, song_number):
2428+ def set_song_number(self, song_number):
2429 """Set the song_number (string)"""
2430 self.song_number = song_number
2431
2432@@ -464,7 +465,7 @@
2433 """Return the comments (string)"""
2434 return self._assure_string(self.comments)
2435
2436- def set_comments(self, comments):
2437+ def set_comments(self, comments):
2438 """Set the comments (string)"""
2439 self.comments = comments
2440
2441@@ -472,11 +473,11 @@
2442 """Get the verseOrder (string) - preferably space delimited"""
2443 return self._assure_string(self.verse_order)
2444
2445- def set_verse_order(self, verse_order):
2446+ def set_verse_order(self, verse_order):
2447 """Set the verse order (string) - space delimited"""
2448 self.verse_order = verse_order
2449
2450- def get_author_list(self, asOneString = True):
2451+ def get_author_list(self, asOneString = True):
2452 """Return the list of authors as a string
2453
2454 asOneString
2455@@ -491,7 +492,7 @@
2456 res = self._split_to_list(self.author_list)
2457 return res
2458
2459- def set_author_list(self, author_list):
2460+ def set_author_list(self, author_list):
2461 """Set the author_list
2462
2463 author_list -- a string or list of strings
2464@@ -501,7 +502,7 @@
2465 else :
2466 self.author_list = self._list_to_string(author_list)
2467
2468- def get_category_array(self, asOneString = True):
2469+ def get_category_array(self, asOneString = True):
2470 """Return the list of categories as a string
2471
2472 asOneString
2473@@ -516,7 +517,7 @@
2474 res = self._split_to_list(self.category_array)
2475 return res
2476
2477- def set_category_array(self, category_array):
2478+ def set_category_array(self, category_array):
2479 """Set the category_array
2480
2481 category_array -- a string or list of strings
2482@@ -530,7 +531,7 @@
2483 """Return the show_title flag (bool)"""
2484 return self.show_title
2485
2486- def set_show_title(self, show_title):
2487+ def set_show_title(self, show_title):
2488 """Set the show_title flag (bool)"""
2489 self.show_title = show_title
2490
2491@@ -538,7 +539,7 @@
2492 """Return the show_author_list flag"""
2493 return self.show_author_list
2494
2495- def set_show_author_list(self, show_author_list):
2496+ def set_show_author_list(self, show_author_list):
2497 """Set the show_author_list flag (bool)"""
2498 self.show_author_list = show_author_list
2499
2500@@ -554,7 +555,7 @@
2501 """Return the showSongCclino (string)"""
2502 return self.show_song_cclino
2503
2504- def set_show_song_cclino(self, show_song_cclino):
2505+ def set_show_song_cclino(self, show_song_cclino):
2506 """Set the show_song_cclino flag (bool)"""
2507 self.show_song_cclino = show_song_cclino
2508
2509@@ -565,7 +566,7 @@
2510 """
2511 return self.lyrics
2512
2513- def set_lyrics(self, lyrics):
2514+ def set_lyrics(self, lyrics):
2515 """Set the lyrics as a list of strings"""
2516 self.lyrics = lyrics
2517 self._parse_lyrics()
2518@@ -594,7 +595,7 @@
2519 numOfSlides = len(self.slideList)
2520 return numOfSlides
2521
2522- def get_preview_slide(self, slideNumber):
2523+ def get_preview_slide(self, slideNumber):
2524 """Return the preview text for specified slide number
2525
2526 slideNumber -- 0: all slides, 1..n : specific slide
2527@@ -618,7 +619,7 @@
2528 # remove formattingincluding themes
2529 return res
2530
2531- def get_render_slide(self, slideNumber):
2532+ def get_render_slide(self, slideNumber):
2533 """Return the slide to be rendered including the additional
2534 properties
2535
2536
2537=== modified file 'openlp/plugins/songs/lib/tables.py'
2538--- openlp/plugins/songs/lib/tables.py 2009-09-08 19:58:05 +0000
2539+++ openlp/plugins/songs/lib/tables.py 2009-09-21 17:56:36 +0000
2540@@ -29,7 +29,7 @@
2541
2542 # Definition of the "authors" table
2543 authors_table = Table(u'authors', metadata,
2544- Column(u'id', types.Integer, primary_key=True),
2545+ Column(u'id', types.Integer, primary_key=True),
2546 Column(u'first_name', types.Unicode(128)),
2547 Column(u'last_name', types.Unicode(128)),
2548 Column(u'display_name', types.Unicode(255), nullable=False)
2549@@ -45,7 +45,8 @@
2550 # Definition of the "songs" table
2551 songs_table = Table(u'songs', metadata,
2552 Column(u'id', types.Integer, primary_key=True),
2553- Column(u'song_book_id', types.Integer, ForeignKey(u'song_books.id'), default=0),
2554+ Column(u'song_book_id', types.Integer,
2555+ ForeignKey(u'song_books.id'), default=0),
2556 Column(u'title', types.Unicode(255), nullable=False),
2557 Column(u'lyrics', types.UnicodeText, nullable=False),
2558 Column(u'verse_order', types.Unicode(128)),
2559@@ -60,27 +61,38 @@
2560
2561 # Definition of the "topics" table
2562 topics_table = Table(u'topics', metadata,
2563- Column(u'id', types.Integer, primary_key=True),
2564+ Column(u'id', types.Integer, primary_key=True),
2565 Column(u'name', types.Unicode(128), nullable=False)
2566 )
2567
2568 # Definition of the "authors_songs" table
2569 authors_songs_table = Table(u'authors_songs', metadata,
2570- Column(u'author_id', types.Integer, ForeignKey(u'authors.id'), primary_key=True),
2571- Column(u'song_id', types.Integer, ForeignKey(u'songs.id'), primary_key=True)
2572+ Column(u'author_id', types.Integer,
2573+ ForeignKey(u'authors.id'), primary_key=True),
2574+ Column(u'song_id', types.Integer,
2575+ ForeignKey(u'songs.id'), primary_key=True)
2576 )
2577
2578 # Definition of the "songs_topics" table
2579 songs_topics_table = Table(u'songs_topics', metadata,
2580- Column(u'song_id', types.Integer, ForeignKey(u'songs.id'), primary_key=True),
2581- Column(u'topic_id', types.Integer, ForeignKey(u'topics.id'), primary_key=True)
2582+ Column(u'song_id', types.Integer,
2583+ ForeignKey(u'songs.id'), primary_key=True),
2584+ Column(u'topic_id', types.Integer,
2585+ ForeignKey(u'topics.id'), primary_key=True)
2586 )
2587-Index(u'authors_id',authors_table.c.id)
2588-Index(u'authors_display_name_id',authors_table.c.display_name, authors_table.c.id)
2589-Index(u'song_books_id',song_books_table.c.id)
2590-Index(u'songs_id',songs_table.c.id)
2591-Index(u'topics_id',topics_table.c.id)
2592-Index(u'authors_songs_author',authors_songs_table.c.author_id, authors_songs_table.c.song_id)
2593-Index(u'authors_songs_song',authors_songs_table.c.song_id, authors_songs_table.c.author_id)
2594-Index(u'topics_song_topic', songs_topics_table.c.topic_id, songs_topics_table.c.song_id)
2595-Index(u'topics_song_song',songs_topics_table.c.song_id, songs_topics_table.c.topic_id)
2596+
2597+# Define table indexes
2598+Index(u'authors_id', authors_table.c.id)
2599+Index(u'authors_display_name_id', authors_table.c.display_name,
2600+ authors_table.c.id)
2601+Index(u'song_books_id', song_books_table.c.id)
2602+Index(u'songs_id', songs_table.c.id)
2603+Index(u'topics_id', topics_table.c.id)
2604+Index(u'authors_songs_author', authors_songs_table.c.author_id,
2605+ authors_songs_table.c.song_id)
2606+Index(u'authors_songs_song', authors_songs_table.c.song_id,
2607+ authors_songs_table.c.author_id)
2608+Index(u'topics_song_topic', songs_topics_table.c.topic_id,
2609+ songs_topics_table.c.song_id)
2610+Index(u'topics_song_song', songs_topics_table.c.song_id,
2611+ songs_topics_table.c.topic_id)
2612
2613=== modified file 'openlp/plugins/songs/songsplugin.py'
2614--- openlp/plugins/songs/songsplugin.py 2009-09-08 19:58:05 +0000
2615+++ openlp/plugins/songs/songsplugin.py 2009-09-21 17:56:36 +0000
2616@@ -94,7 +94,8 @@
2617 # Translations...
2618 self.ImportSongMenu.setTitle(translate(u'main_window', u'&Song'))
2619 self.ImportOpenSongItem.setText(translate(u'main_window', u'OpenSong'))
2620- self.ImportOpenlp1Item.setText(translate(u'main_window', u'openlp.org 1.0'))
2621+ self.ImportOpenlp1Item.setText(
2622+ translate(u'main_window', u'openlp.org 1.0'))
2623 self.ImportOpenlp1Item.setToolTip(
2624 translate(u'main_window', u'Export songs in openlp.org 1.0 format'))
2625 self.ImportOpenlp1Item.setStatusTip(
2626@@ -137,7 +138,8 @@
2627 # Translations...
2628 self.ExportSongMenu.setTitle(translate(u'main_window', u'&Song'))
2629 self.ExportOpenSongItem.setText(translate(u'main_window', u'OpenSong'))
2630- self.ExportOpenlp1Item.setText(translate(u'main_window', u'openlp.org 1.0'))
2631+ self.ExportOpenlp1Item.setText(
2632+ translate(u'main_window', u'openlp.org 1.0'))
2633 self.ExportOpenlp2Item.setText(translate(u'main_window', u'OpenLP 2.0'))
2634 # Signals and slots
2635 QtCore.QObject.connect(self.ExportOpenlp1Item,
2636
2637=== modified file 'openlp/plugins/songs/test/test_song_basic.py'
2638--- openlp/plugins/songs/test/test_song_basic.py 2009-09-03 15:19:30 +0000
2639+++ openlp/plugins/songs/test/test_song_basic.py 2009-09-21 17:56:36 +0000
2640@@ -50,8 +50,8 @@
2641 s = Song()
2642 t = "A normal title"
2643 s.set_title(t)
2644- assert(s.get_title() == t)
2645- assert(s.get_search_title() == t)
2646+ assert(s.get_title() == t)
2647+ assert(s.get_search_title() == t)
2648
2649 def test_Title3(self):
2650 """Set a titel with punctuation 1"""
2651@@ -59,8 +59,8 @@
2652 t1 = "Hey! Come on, ya programmers*"
2653 t2 = "Hey Come on ya programmers"
2654 s.set_title(t1)
2655- assert(s.get_title() == t1)
2656- assert(s.get_search_title() == t2)
2657+ assert(s.get_title() == t1)
2658+ assert(s.get_search_title() == t2)
2659
2660 def test_Title4(self):
2661 """Set a titel with punctuation 2"""
2662@@ -68,11 +68,14 @@
2663 t1 = "??#Hey! Come on, ya programmers*"
2664 t2 = "Hey Come on ya programmers"
2665 s.set_title(t1)
2666- assert(s.get_title() == t1)
2667- assert(s.get_search_title() == t2)
2668+ assert(s.get_title() == t1)
2669+ assert(s.get_search_title() == t2)
2670
2671 def test_Title5(self):
2672- """Set a title, where searchable title becomes empty - raises an exception"""
2673+ """
2674+ Set a title
2675+ Where searchable title becomes empty raises an exception
2676+ """
2677 s = Song()
2678 py.test.raises(SongTitleError, s.set_title, ',*')
2679
2680
2681=== modified file 'openlpcnv.pyw'
2682--- openlpcnv.pyw 2009-09-08 19:58:05 +0000
2683+++ openlpcnv.pyw 2009-09-21 17:56:36 +0000
2684@@ -49,7 +49,7 @@
2685 Initialise the process.
2686 """
2687 self.display = Display()
2688- self.stime = time.strftime(u'%Y-%m-%d-%H%M%S', time.localtime())
2689+ self.stime = time.strftime(u'%Y-%m-%d-%H%M%S', time.localtime())
2690 self.display.output(u'OpenLp v1.9.0 Migration Utility Started')
2691
2692 def process(self):