Merge lp:~trb143/openlp/bugfixes into lp:openlp

Proposed by Tim Bentley
Status: Superseded
Proposed branch: lp:~trb143/openlp/bugfixes
Merge into: lp:openlp
Diff against target: None lines
To merge this branch: bzr merge lp:~trb143/openlp/bugfixes
Reviewer Review Type Date Requested Status
Raoul Snyman Needs Fixing
Review via email: mp+11581@code.launchpad.net

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

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

Custom plugin cleanup.
* Correct Media item inheritance
* Remove CustomTab not used
* Add Edit All button
* Add Tool tips
* Add line splits where sensible

Revision history for this message
Raoul Snyman (raoul-snyman) wrote :

Please rename your addHeaderBar functions. I can see two options...

1. Have a single function, named "addHeaderBar", that takes a single parameter, "HeaderBarType" which can be either "HeaderBarType.Start" or "HeaderBarType.End";

2. Have two separate functions, named "addStartHeaderBar" and "addEndHeaderBar"

review: Needs Fixing
lp:~trb143/openlp/bugfixes updated
530. By Raoul Snyman

Merged changes in from lp:~raoul-snyman/openlp/songmaintenance

531. By Jon Tibble

Merged in lp:~meths/openlp/trivialfixes

532. By Raoul Snyman

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

533. By Jon Tibble

Merged in lp:~meths/openlp/trivialfixes

534. By Jon Tibble

For Jon
Fix themes

535. By Jon Tibble

For Jon
Fix themes 2

536. By Jon Tibble

For Jon

537. By Raoul Snyman

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

538. By Tim Bentley

Updates to Presentations etc

539. By Maikel Stuivenberg

For Maikel

540. By Tim Bentley

Themes and Timer points

541. By Tim Bentley

Fix merge error

542. By Jon Tibble

For Jon

543. By Tim Bentley

Renderer handling changes

544. By Jon Tibble

Merged in lp:~meths/openlp/trivialfixes

545. By Jon Tibble

For Jon

546. By Jon Tibble

For Jon

547. By Jonathan Corwin

for jonathan

548. By Tim Bentley

presentation fixes

549. By Tim Bentley

Correction from == to is

550. By Jon Tibble

Merge log.exception() conversion

551. By Tim Bentley

Arrival of the Audit

552. By Tim Bentley

Plugin cleanup

553. By Maikel Stuivenberg

Menu changes

554. By Jon Tibble

Dock Widget Refactoring

555. By Jon Tibble

Fix service loading on Windows

556. By Tim Bentley

Audit Fixes

557. By Jon Tibble

Refactor services

558. By Jon Tibble

Cleanup code and fixes

559. By Tim Bentley

Renderer Fixes

560. By Raoul Snyman

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

561. By Tim Bentley

rendering fixes

562. By Jon Tibble

Song editor fixes

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 bug #606437

949. By Tim Bentley

Head

950. By Tim Bentley

Fix missing code from previous merge

951. By Tim Bentley

Head 964

952. By Tim Bentley

Head966

953. By Tim Bentley

Fix word uage

954. By Tim Bentley

Head967

955. By Tim Bentley

Fix to trigger

956. By Tim Bentley

Head981

957. By Tim Bentley

Head985

958. By Tim Bentley

Fix song usage missing code

959. By Tim Bentley

Remove blank lines

960. By Tim Bentley

Fix up songusage

961. By Tim Bentley

Fix bug #598407

962. By Tim Bentley

Fixes

963. By Tim Bentley

994

964. By Tim Bentley

Fix theme import Redhat Bugzilla

965. By Tim Bentley

Head1025

966. By Tim Bentley

Remove execuitable flag

967. By Tim Bentley

Fix translation code to find qm files

968. By Tim Bentley

Space

969. By Tim Bentley

Lanugages now work

970. By Tim Bentley

Head1030

971. By Tim Bentley

Fix bug 637547

972. By Tim Bentley

Whitespace for cclimport

973. By Tim Bentley

fix bug 637886

974. By Tim Bentley

Try to fix translation files

975. By Tim Bentley

Fix code

976. By Tim Bentley

remove prints

Unmerged revisions

976. By Tim Bentley

remove prints

975. By Tim Bentley

Fix code

974. By Tim Bentley

Try to fix translation files

973. By Tim Bentley

fix bug 637886

972. By Tim Bentley

Whitespace for cclimport

971. By Tim Bentley

Fix bug 637547

970. By Tim Bentley

Head1030

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-06 18:59:21 +0000
3+++ openlp/core/lib/mediamanageritem.py 2009-09-11 04:54:22 +0000
4@@ -173,6 +173,8 @@
5 """
6 # Add a toolbar
7 self.addToolbar()
8+ #Allow the plugin to define it's own header
9+ self.addHeaderBar1()
10 # Create buttons for the toolbar
11 ## File Button ##
12 if self.hasFileIcon:
13@@ -185,13 +187,13 @@
14 self.addToolbarButton(
15 translate(self.TranslationContext, u'New '+self.PluginTextShort),
16 translate(self.TranslationContext, u'Add a new '+self.PluginTextShort),
17- u':'+self.IconPath+ u'_load.png', self.onNewClick, self.PluginTextShort+u'NewItem')
18+ u':'+self.IconPath+ u'_new.png', self.onNewClick, self.PluginTextShort+u'NewItem')
19 ## Edit Button ##
20 if self.hasEditIcon:
21 self.addToolbarButton(
22 translate(self.TranslationContext, u'Edit '+self.PluginTextShort),
23 translate(self.TranslationContext, u'Edit the selected '+self.PluginTextShort),
24- u':'+self.IconPath+ u'_load.png', self.onEditClick, self.PluginTextShort+u'EditItem')
25+ u':'+self.IconPath+ u'_edit.png', self.onEditClick, self.PluginTextShort+u'EditItem')
26 ## Delete Button ##
27 self.addToolbarButton(
28 translate(self.TranslationContext, u'Delete '+self.PluginTextShort),
29@@ -215,7 +217,7 @@
30 translate(self.TranslationContext, u'Add the selected item(s) to the service'),
31 u':/system/system_add.png', self.onAddClick, self.PluginTextShort+u'AddItem')
32 #Allow the plugin to define it's own header
33- self.addHeaderBar()
34+ self.addHeaderBar2()
35 #Add the List widget
36 self.ListView = self.ListViewWithDnD_class()
37 self.ListView.uniformItemSizes = True
38@@ -234,7 +236,7 @@
39 ':' +self.IconPath+u'_new.png',
40 translate(self.TranslationContext, u'&Edit '+self.PluginTextShort),
41 self.onEditClick))
42- self.ListView.addAction(self.contextMenuSeparator(self.SongListWidget))
43+ self.ListView.addAction(contextMenuSeparator(self.ListView))
44 self.ListView.addAction(contextMenuAction(
45 self.ListView, ':/system/system_preview.png',
46 translate(self.TranslationContext, u'&Preview '+self.PluginTextShort),
47@@ -258,7 +260,16 @@
48 """
49 pass
50
51- def addHeaderBar(self):
52+ def addHeaderBar1(self):
53+ """
54+ Slot at start of toolbar for pluin to addwidgets
55+ """
56+ pass
57+
58+ def addHeaderBar2(self):
59+ """
60+ Slot at end of toolbar for pluin to add widgets
61+ """
62 pass
63
64 def onFileClick(self):
65
66=== modified file 'openlp/plugins/custom/customplugin.py'
67--- openlp/plugins/custom/customplugin.py 2009-08-26 05:00:19 +0000
68+++ openlp/plugins/custom/customplugin.py 2009-09-11 04:54:22 +0000
69@@ -23,10 +23,18 @@
70
71 from forms import EditCustomForm
72 from openlp.core.lib import Plugin
73-from openlp.plugins.custom.lib import CustomManager, CustomTab, CustomMediaItem
74+from openlp.plugins.custom.lib import CustomManager, CustomMediaItem
75
76
77 class CustomPlugin(Plugin):
78+ """
79+ This plugin enables the user to create, edit and display
80+ custom slide shows. Custom shows are divided into slides.
81+ Each show is able to have it's own theme.
82+ Custom shows are designed to replace the use of songs where
83+ the songs plugin has become restrictive. Examples could be
84+ Welcome slides, Bible Reading information, Orders of service.
85+ """
86
87 global log
88 log=logging.getLogger(u'CustomPlugin')
89
90=== modified file 'openlp/plugins/custom/forms/editcustomdialog.py'
91--- openlp/plugins/custom/forms/editcustomdialog.py 2009-06-17 05:11:16 +0000
92+++ openlp/plugins/custom/forms/editcustomdialog.py 2009-09-11 04:54:22 +0000
93@@ -1,11 +1,22 @@
94 # -*- coding: utf-8 -*-
95-
96-# Form implementation generated from reading ui file 'editcustomdialog.ui'
97-#
98-# Created: Sat Mar 7 09:01:43 2009
99-# by: PyQt4 UI code generator 4.4.4
100-#
101-# WARNING! All changes made in this file will be lost!
102+# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
103+"""
104+OpenLP - Open Source Lyrics Projection
105+Copyright (c) 2008 Raoul Snyman
106+Portions copyright (c) 2008-2009 Martin Thompson, Tim Bentley,
107+
108+This program is free software; you can redistribute it and/or modify it under
109+the terms of the GNU General Public License as published by the Free Software
110+Foundation; version 2 of the License.
111+
112+This program is distributed in the hope that it will be useful, but WITHOUT ANY
113+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
114+PARTICULAR PURPOSE. See the GNU General Public License for more details.
115+
116+You should have received a copy of the GNU General Public License along with
117+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
118+Place, Suite 330, Boston, MA 02111-1307 USA
119+"""
120
121 from PyQt4 import QtCore, QtGui
122 from openlp.core.lib import translate
123@@ -15,7 +26,7 @@
124 customEditDialog.setObjectName(u'customEditDialog')
125 customEditDialog.resize(590, 541)
126 icon = QtGui.QIcon()
127- icon.addPixmap(QtGui.QPixmap(u':/icon/openlp-logo-16x16.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
128+ icon.addPixmap(QtGui.QPixmap(u':/icon/openlp.org-icon-32.bmp'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
129 customEditDialog.setWindowIcon(icon)
130 self.gridLayout = QtGui.QGridLayout(customEditDialog)
131 self.gridLayout.setObjectName(u'gridLayout')
132@@ -31,8 +42,8 @@
133 self.horizontalLayout_4 = QtGui.QHBoxLayout()
134 self.horizontalLayout_4.setObjectName(u'horizontalLayout_4')
135 self.VerseListView = QtGui.QListWidget(customEditDialog)
136+ self.VerseListView.setAlternatingRowColors(True)
137 self.VerseListView.setObjectName(u'VerseListView')
138- self.VerseListView.setAlternatingRowColors(True)
139 self.horizontalLayout_4.addWidget(self.VerseListView)
140 self.verticalLayout = QtGui.QVBoxLayout()
141 self.verticalLayout.setObjectName(u'verticalLayout')
142@@ -54,47 +65,49 @@
143 self.gridLayout.addLayout(self.horizontalLayout_4, 1, 0, 1, 1)
144 self.EditWidget = QtGui.QWidget(customEditDialog)
145 self.EditWidget.setObjectName(u'EditWidget')
146- self.EditLayout = QtGui.QHBoxLayout(self.EditWidget)
147- self.EditLayout.setSpacing(8)
148- self.EditLayout.setMargin(0)
149- self.EditLayout.setObjectName(u'EditLayout')
150+ self.EditLayout_3 = QtGui.QHBoxLayout(self.EditWidget)
151+ self.EditLayout_3.setSpacing(8)
152+ self.EditLayout_3.setMargin(0)
153+ self.EditLayout_3.setObjectName(u'EditLayout_3')
154 self.VerseTextEdit = QtGui.QTextEdit(self.EditWidget)
155 self.VerseTextEdit.setObjectName(u'VerseTextEdit')
156- self.EditLayout.addWidget(self.VerseTextEdit)
157- self.ButtonWidget = QtGui.QWidget(self.EditWidget)
158- self.ButtonWidget.setObjectName(u'ButtonWidget')
159- self.ButtonLayout = QtGui.QVBoxLayout(self.ButtonWidget)
160- self.ButtonLayout.setSpacing(8)
161- self.ButtonLayout.setMargin(0)
162- self.ButtonLayout.setObjectName(u'ButtonLayout')
163- self.AddButton = QtGui.QPushButton(self.ButtonWidget)
164+ self.EditLayout_3.addWidget(self.VerseTextEdit)
165+ self.ButtonWidge = QtGui.QWidget(self.EditWidget)
166+ self.ButtonWidge.setObjectName(u'ButtonWidge')
167+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.ButtonWidge)
168+ self.verticalLayout_2.setObjectName(u'verticalLayout_2')
169+ self.AddButton = QtGui.QPushButton(self.ButtonWidge)
170 self.AddButton.setObjectName(u'AddButton')
171- self.ButtonLayout.addWidget(self.AddButton)
172- self.EditButton = QtGui.QPushButton(self.ButtonWidget)
173+ self.AddButton.setToolTip(translate(u'customEditDialog', u'Add new slide at bottom'))
174+ self.verticalLayout_2.addWidget(self.AddButton)
175+ self.EditButton = QtGui.QPushButton(self.ButtonWidge)
176 self.EditButton.setObjectName(u'EditButton')
177- self.ButtonLayout.addWidget(self.EditButton)
178- self.SaveButton = QtGui.QPushButton(self.ButtonWidget)
179+ self.verticalLayout_2.addWidget(self.EditButton)
180+ self.EditAllButton = QtGui.QPushButton(self.ButtonWidge)
181+ self.EditAllButton.setObjectName(u'EditAllButton')
182+ self.verticalLayout_2.addWidget(self.EditAllButton)
183+ self.SaveButton = QtGui.QPushButton(self.ButtonWidge)
184 self.SaveButton.setObjectName(u'SaveButton')
185- self.ButtonLayout.addWidget(self.SaveButton)
186- self.DeleteButton = QtGui.QPushButton(self.ButtonWidget)
187+ self.verticalLayout_2.addWidget(self.SaveButton)
188+ self.DeleteButton = QtGui.QPushButton(self.ButtonWidge)
189 self.DeleteButton.setObjectName(u'DeleteButton')
190- self.ButtonLayout.addWidget(self.DeleteButton)
191- self.ClearButton = QtGui.QPushButton(self.ButtonWidget)
192+ self.verticalLayout_2.addWidget(self.DeleteButton)
193+ self.ClearButton = QtGui.QPushButton(self.ButtonWidge)
194 self.ClearButton.setObjectName(u'ClearButton')
195- self.ButtonLayout.addWidget(self.ClearButton)
196+ self.verticalLayout_2.addWidget(self.ClearButton)
197 spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
198- self.ButtonLayout.addItem(spacerItem1)
199- self.EditLayout.addWidget(self.ButtonWidget)
200+ self.verticalLayout_2.addItem(spacerItem1)
201+ self.EditLayout_3.addWidget(self.ButtonWidge)
202 self.gridLayout.addWidget(self.EditWidget, 2, 0, 1, 1)
203- self.horizontalLayout = QtGui.QHBoxLayout()
204- self.horizontalLayout.setObjectName(u'horizontalLayout')
205+ self.horizontalLayout_3 = QtGui.QHBoxLayout()
206+ self.horizontalLayout_3.setObjectName(u'horizontalLayout_3')
207 self.ThemeLabel = QtGui.QLabel(customEditDialog)
208 self.ThemeLabel.setObjectName(u'ThemeLabel')
209- self.horizontalLayout.addWidget(self.ThemeLabel)
210- self.ThemecomboBox = QtGui.QComboBox(customEditDialog)
211- self.ThemecomboBox.setObjectName(u'ThemecomboBox')
212- self.horizontalLayout.addWidget(self.ThemecomboBox)
213- self.gridLayout.addLayout(self.horizontalLayout, 3, 0, 1, 1)
214+ self.horizontalLayout_3.addWidget(self.ThemeLabel)
215+ self.ThemeComboBox = QtGui.QComboBox(customEditDialog)
216+ self.ThemeComboBox.setObjectName(u'ThemeComboBox')
217+ self.horizontalLayout_3.addWidget(self.ThemeComboBox)
218+ self.gridLayout.addLayout(self.horizontalLayout_3, 3, 0, 1, 1)
219 self.horizontalLayout_2 = QtGui.QHBoxLayout()
220 self.horizontalLayout_2.setObjectName(u'horizontalLayout_2')
221 self.CreditLabel = QtGui.QLabel(customEditDialog)
222@@ -108,24 +121,39 @@
223 self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
224 self.buttonBox.setObjectName(u'buttonBox')
225 self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 1)
226+
227 self.retranslateUi(customEditDialog)
228 QtCore.QMetaObject.connectSlotsByName(customEditDialog)
229 customEditDialog.setTabOrder(self.TitleEdit, self.VerseTextEdit)
230- customEditDialog.setTabOrder(self.VerseTextEdit, self.EditButton)
231- customEditDialog.setTabOrder(self.EditButton, self.SaveButton)
232- customEditDialog.setTabOrder(self.SaveButton, self.CreditEdit)
233- customEditDialog.setTabOrder(self.CreditEdit, self.VerseListView)
234- customEditDialog.setTabOrder(self.VerseListView, self.AddButton)
235- customEditDialog.setTabOrder(self.AddButton, self.DeleteButton)
236- customEditDialog.setTabOrder(self.DeleteButton, self.buttonBox)
237+ customEditDialog.setTabOrder(self.VerseTextEdit, self.AddButton)
238+ customEditDialog.setTabOrder(self.AddButton, self.VerseListView)
239+ customEditDialog.setTabOrder(self.VerseListView, self.EditButton)
240+ customEditDialog.setTabOrder(self.EditButton, self.EditAllButton)
241+ customEditDialog.setTabOrder(self.EditAllButton, self.SaveButton)
242+ customEditDialog.setTabOrder(self.SaveButton, self.DeleteButton)
243+ customEditDialog.setTabOrder(self.DeleteButton, self.CreditEdit)
244+ customEditDialog.setTabOrder(self.CreditEdit, self.UpButton)
245+ customEditDialog.setTabOrder(self.UpButton, self.DownButton)
246+ customEditDialog.setTabOrder(self.DownButton, self.ThemeComboBox)
247+ customEditDialog.setTabOrder(self.ThemeComboBox, self.buttonBox)
248
249 def retranslateUi(self, customEditDialog):
250- customEditDialog.setWindowTitle(translate(u'customEditDialog', u'Edit Custom Slides'))
251- self.TitleLabel.setText(translate(u'customEditDialog', u'Title:'))
252- self.AddButton.setText(translate(u'customEditDialog', u'Add'))
253- self.EditButton.setText(translate(u'customEditDialog', u'Edit'))
254- self.SaveButton.setText(translate(u'customEditDialog', u'Save'))
255- self.DeleteButton.setText(translate(u'customEditDialog', u'Delete'))
256- self.ClearButton.setText(translate(u'customEditDialog', u'Clear'))
257- self.ThemeLabel.setText(translate(u'customEditDialog', u'Theme:'))
258- self.CreditLabel.setText(translate(u'customEditDialog', u'Credits:'))
259+ self.UpButton.setToolTip(translate(u'customEditDialog', u'Move slide Up 1'))
260+ self.DownButton.setToolTip(translate(u'customEditDialog', u'Move slide down 1'))
261+ customEditDialog.setWindowTitle(translate(u'customEditDialog', 'Edit Custom Slides'))
262+ self.TitleLabel.setText(translate(u'customEditDialog', 'Title:'))
263+ self.AddButton.setText(translate(u'customEditDialog', 'Add New'))
264+ self.AddButton.setToolTip(translate(u'customEditDialog', u'Add new slide at bottom'))
265+ self.EditButton.setText(translate(u'customEditDialog', 'Edit'))
266+ self.EditButton.setToolTip(translate(u'customEditDialog', u'Edit selected slide'))
267+ self.EditAllButton.setText(translate(u'customEditDialog', 'Edit All'))
268+ self.EditAllButton.setToolTip(translate(u'customEditDialog', u'Edit all slides'))
269+ self.SaveButton.setText(translate(u'customEditDialog', 'Save'))
270+ self.SaveButton.setToolTip(translate(u'customEditDialog', u'Replace edited slide'))
271+ self.DeleteButton.setText(translate(u'customEditDialog', 'Delete'))
272+ self.DeleteButton.setToolTip(translate(u'customEditDialog', u'Delete selected slide'))
273+ self.ClearButton.setText(translate(u'customEditDialog', 'Clear'))
274+ self.ClearButton.setToolTip(translate(u'customEditDialog', u'Clear edit area'))
275+ self.ThemeLabel.setText(translate(u'customEditDialog', 'Theme:'))
276+ self.ThemeComboBox.setToolTip(translate(u'customEditDialog', u'Set Theme for Slides'))
277+ self.CreditLabel.setText(translate(u'customEditDialog', 'Credits:'))
278
279=== modified file 'openlp/plugins/custom/forms/editcustomform.py'
280--- openlp/plugins/custom/forms/editcustomform.py 2009-09-09 18:09:17 +0000
281+++ openlp/plugins/custom/forms/editcustomform.py 2009-09-11 04:54:22 +0000
282@@ -35,20 +35,33 @@
283 #self.parent = parent
284 self.setupUi(self)
285 # Connecting signals and slots
286- QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'), self.rejected)
287- QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'), self.accept)
288- QtCore.QObject.connect(self.AddButton, QtCore.SIGNAL(u'pressed()'), self.onAddButtonPressed)
289- QtCore.QObject.connect(self.EditButton, QtCore.SIGNAL(u'pressed()'), self.onEditButtonPressed)
290- QtCore.QObject.connect(self.SaveButton, QtCore.SIGNAL(u'pressed()'), self.onSaveButtonPressed)
291- QtCore.QObject.connect(self.DeleteButton, QtCore.SIGNAL(u'pressed()'), self.onDeleteButtonPressed)
292- QtCore.QObject.connect(self.ClearButton, QtCore.SIGNAL(u'pressed()'), self.onClearButtonPressed)
293- QtCore.QObject.connect(self.UpButton, QtCore.SIGNAL(u'pressed()'), self.onUpButtonPressed)
294- QtCore.QObject.connect(self.DownButton, QtCore.SIGNAL(u'pressed()'), self.onDownButtonPressed)
295+ QtCore.QObject.connect(self.buttonBox,
296+ QtCore.SIGNAL(u'rejected()'), self.rejected)
297+ QtCore.QObject.connect(self.buttonBox,
298+ QtCore.SIGNAL(u'accepted()'), self.accept)
299+ QtCore.QObject.connect(self.AddButton,
300+ QtCore.SIGNAL(u'pressed()'), self.onAddButtonPressed)
301+ QtCore.QObject.connect(self.EditButton,
302+ QtCore.SIGNAL(u'pressed()'), self.onEditButtonPressed)
303+ QtCore.QObject.connect(self.EditAllButton,
304+ QtCore.SIGNAL(u'pressed()'), self.onEditAllButtonPressed)
305+ QtCore.QObject.connect(self.SaveButton,
306+ QtCore.SIGNAL(u'pressed()'), self.onSaveButtonPressed)
307+ QtCore.QObject.connect(self.DeleteButton,
308+ QtCore.SIGNAL(u'pressed()'), self.onDeleteButtonPressed)
309+ QtCore.QObject.connect(self.ClearButton,
310+ QtCore.SIGNAL(u'pressed()'), self.onClearButtonPressed)
311+ QtCore.QObject.connect(self.UpButton,
312+ QtCore.SIGNAL(u'pressed()'), self.onUpButtonPressed)
313+ QtCore.QObject.connect(self.DownButton,
314+ QtCore.SIGNAL(u'pressed()'), self.onDownButtonPressed)
315
316 QtCore.QObject.connect(self.VerseListView,
317- QtCore.SIGNAL(u'itemDoubleClicked(QListWidgetItem*)'), self.onVerseListViewSelected)
318+ QtCore.SIGNAL(u'itemDoubleClicked(QListWidgetItem*)'),
319+ self.onVerseListViewSelected)
320 QtCore.QObject.connect(self.VerseListView,
321- QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onVerseListViewPressed)
322+ QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'),
323+ self.onVerseListViewPressed)
324 QtCore.QObject.connect(Receiver.get_receiver(),
325 QtCore.SIGNAL(u'update_themes'), self.loadThemes)
326 # Create other objects and forms
327@@ -56,23 +69,25 @@
328 self.initialise()
329
330 def initialise(self):
331- self.valid = True
332+ self.editAll = False
333 self.DeleteButton.setEnabled(False)
334 self.EditButton.setEnabled(False)
335+ self.EditAllButton.setEnabled(True)
336 self.SaveButton.setEnabled(False)
337+ self.ClearButton.setEnabled(False)
338 self.TitleEdit.setText(u'')
339 self.CreditEdit.setText(u'')
340 self.VerseTextEdit.clear()
341 self.VerseListView.clear()
342 #make sure we have a new item
343 self.customSlide = CustomSlide()
344- self.ThemecomboBox.addItem(u'')
345+ self.ThemeComboBox.addItem(u'')
346
347 def loadThemes(self, themelist):
348- self.ThemecomboBox.clear()
349- self.ThemecomboBox.addItem(u'')
350+ self.ThemeComboBox.clear()
351+ self.ThemeComboBox.addItem(u'')
352 for themename in themelist:
353- self.ThemecomboBox.addItem(themename)
354+ self.ThemeComboBox.addItem(themename)
355
356 def loadCustom(self, id):
357 self.customSlide = CustomSlide()
358@@ -87,12 +102,12 @@
359 for verse in verseList:
360 self.VerseListView.addItem(verse[1])
361 theme = unicode(self.customSlide.theme_name)
362- id = self.ThemecomboBox.findText(theme, QtCore.Qt.MatchExactly)
363+ id = self.ThemeComboBox.findText(theme, QtCore.Qt.MatchExactly)
364 if id == -1:
365 id = 0 # Not Found
366- self.ThemecomboBox.setCurrentIndex(id)
367+ self.ThemeComboBox.setCurrentIndex(id)
368 else:
369- self.ThemecomboBox.setCurrentIndex(0)
370+ self.ThemeComboBox.setCurrentIndex(0)
371
372 def accept(self):
373 valid , message = self._validate()
374@@ -111,7 +126,7 @@
375 self.customSlide.title = unicode(self.TitleEdit.displayText())
376 self.customSlide.text = unicode(sxml.extract_xml())
377 self.customSlide.credits = unicode(self.CreditEdit.displayText())
378- self.customSlide.theme_name = unicode(self.ThemecomboBox.currentText())
379+ self.customSlide.theme_name = unicode(self.ThemeComboBox.currentText())
380 self.custommanager.save_slide(self.customSlide)
381 self.close()
382
383@@ -135,6 +150,10 @@
384
385 def onClearButtonPressed(self):
386 self.VerseTextEdit.clear()
387+ self.editAll = False
388+ self.AddButton.setEnabled(True)
389+ self.EditAllButton.setEnabled(True)
390+ self.SaveButton.setEnabled(False)
391
392 def onVerseListViewPressed(self, item):
393 self.DeleteButton.setEnabled(True)
394@@ -151,30 +170,52 @@
395 def onEditButtonPressed(self):
396 self.editText(self.VerseListView.currentItem().text())
397
398+ def onEditAllButtonPressed(self):
399+ self.editAll = True
400+ self.AddButton.setEnabled(False)
401+ if self.VerseListView.count() > 0:
402+ verse_list = u''
403+ for row in range(0, self.VerseListView.count()):
404+ item = self.VerseListView.item(row)
405+ verse_list += item.text()
406+ verse_list += u'\n---\n'
407+ self.editText(verse_list)
408+
409 def editText(self, text):
410 self.beforeText = text
411 self.VerseTextEdit.setPlainText(text)
412 self.DeleteButton.setEnabled(False)
413 self.EditButton.setEnabled(False)
414+ self.EditAllButton.setEnabled(False)
415 self.SaveButton.setEnabled(True)
416+ self.ClearButton.setEnabled(True)
417
418 def onSaveButtonPressed(self):
419- self.VerseListView.currentItem().setText(self.VerseTextEdit.toPlainText())
420- #number of lines has change
421- if len(self.beforeText.split(u'\n')) != len(self.VerseTextEdit.toPlainText().split(u'\n')):
422- tempList = {}
423- for row in range(0, self.VerseListView.count()):
424- tempList[row] = self.VerseListView.item(row).text()
425+ if self.editAll:
426 self.VerseListView.clear()
427- for row in range (0, len(tempList)):
428- self.VerseListView.addItem(tempList[row])
429- self.VerseListView.repaint()
430+ for row in unicode(self.VerseTextEdit.toPlainText()).split(u'---'):
431+ self.VerseListView.addItem(row)
432+ else:
433+ self.VerseListView.currentItem().setText(self.VerseTextEdit.toPlainText())
434+ #number of lines has change
435+ if len(self.beforeText.split(u'\n')) != len(self.VerseTextEdit.toPlainText().split(u'\n')):
436+ tempList = {}
437+ for row in range(0, self.VerseListView.count()):
438+ tempList[row] = self.VerseListView.item(row).text()
439+ self.VerseListView.clear()
440+ for row in range (0, len(tempList)):
441+ self.VerseListView.addItem(tempList[row])
442+ self.VerseListView.repaint()
443+ self.AddButton.setEnabled(True)
444 self.SaveButton.setEnabled(False)
445 self.EditButton.setEnabled(False)
446+ self.EditAllButton.setEnabled(True)
447+ self.VerseTextEdit.clear()
448
449 def onDeleteButtonPressed(self):
450 self.VerseListView.takeItem(self.VerseListView.currentRow())
451 self.EditButton.setEnabled(False)
452+ self.EditAllButton.setEnabled(True)
453
454 def _validate(self):
455 valid = True
456
457=== modified file 'openlp/plugins/custom/lib/__init__.py'
458--- openlp/plugins/custom/lib/__init__.py 2009-06-17 05:11:16 +0000
459+++ openlp/plugins/custom/lib/__init__.py 2009-09-11 04:54:22 +0000
460@@ -18,5 +18,4 @@
461 Place, Suite 330, Boston, MA 02111-1307 USA
462 """
463 from manager import CustomManager
464-from customtab import CustomTab
465 from mediaitem import CustomMediaItem
466
467=== removed file 'openlp/plugins/custom/lib/customtab.py'
468--- openlp/plugins/custom/lib/customtab.py 2009-06-05 18:53:50 +0000
469+++ openlp/plugins/custom/lib/customtab.py 1970-01-01 00:00:00 +0000
470@@ -1,33 +0,0 @@
471-# -*- coding: utf-8 -*-
472-# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
473-"""
474-OpenLP - Open Source Lyrics Projection
475-Copyright (c) 2008 Raoul Snyman
476-Portions copyright (c) 2008 - 2009 Martin Thompson, Tim Bentley,
477-
478-This program is free software; you can redistribute it and/or modify it under
479-the terms of the GNU General Public License as published by the Free Software
480-Foundation; version 2 of the License.
481-
482-This program is distributed in the hope that it will be useful, but WITHOUT ANY
483-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
484-PARTICULAR PURPOSE. See the GNU General Public License for more details.
485-
486-You should have received a copy of the GNU General Public License along with
487-this program; if not, write to the Free Software Foundation, Inc., 59 Temple
488-Place, Suite 330, Boston, MA 02111-1307 USA
489-"""
490-
491-from PyQt4 import QtCore, QtGui
492-
493-from openlp.core.lib import SettingsTab, translate
494-
495-class CustomTab(SettingsTab):
496- """
497- SongsTab is the songs settings tab in the settings dialog.
498- """
499- def __init__(self):
500- SettingsTab.__init__(self, translate(u'CustomTab', u'Custom'), u'Custom')
501-
502- def setupUi(self):
503- self.setObjectName(u'CustomTab')
504
505=== modified file 'openlp/plugins/custom/lib/mediaitem.py'
506--- openlp/plugins/custom/lib/mediaitem.py 2009-09-01 05:17:32 +0000
507+++ openlp/plugins/custom/lib/mediaitem.py 2009-09-11 04:56:52 +0000
508@@ -21,7 +21,8 @@
509
510 from PyQt4 import QtCore, QtGui
511
512-from openlp.core.lib import MediaManagerItem, SongXMLParser, ServiceItem, translate, contextMenuAction, contextMenuSeparator, BaseListWithDnD
513+from openlp.core.lib import MediaManagerItem, SongXMLParser, ServiceItem, \
514+ translate, contextMenuAction, contextMenuSeparator, BaseListWithDnD
515
516 class CustomListView(BaseListWithDnD):
517 def __init__(self, parent=None):
518@@ -40,78 +41,18 @@
519 self.TranslationContext = u'CustomPlugin'
520 self.PluginTextShort = u'Custom'
521 self.ConfigSection = u'custom'
522+ self.IconPath = u'custom/custom'
523+ self.hasFileIcon = False
524+ self.hasNewIcon = True
525+ self.hasEditIcon = True
526+ # this next is a class, not an instance of a class - it will
527+ # be instanced by the base MediaManagerItem
528+ self.ListViewWithDnD_class = CustomListView
529+ self.ServiceItemIconName = u':/custom/custom_image.png'
530+ self.servicePath = None
531 MediaManagerItem.__init__(self, parent, icon, title)
532 self.parent = parent
533
534- def setupUi(self):
535- # Add a toolbar
536- self.addToolbar()
537- # Create buttons for the toolbar
538- ## New Custom Button ##
539- self.addToolbarButton(
540- translate(u'CustomMediaItem',u'New Custom Item'),
541- translate(u'CustomMediaItem',u'Add a new Custom Item'),
542- u':/custom/custom_new.png', self.onCustomNewClick, u'CustomNewItem')
543- ## Edit Custom Button ##
544- self.addToolbarButton(
545- translate(u'CustomMediaItem',u'Edit Custom Item'),
546- translate(u'CustomMediaItem',u'Edit the selected Custom Item'),
547- u':/custom/custom_edit.png', self.onCustomEditClick, u'CustomEditItem')
548- ## Delete Custom Button ##
549- self.addToolbarButton(
550- translate(u'CustomMediaItem',u'Delete Custom Item'),
551- translate(u'CustomMediaItem',u'Delete the selected Custom Item'),
552- u':/custom/custom_delete.png', self.onCustomDeleteClick, u'CustomDeleteItem')
553- ## Separator Line ##
554- self.addToolbarSeparator()
555- ## Preview Custom Button ##
556- self.addToolbarButton(
557- translate(u'CustomMediaItem',u'Preview Custom Item'),
558- translate(u'CustomMediaItem',u'Preview the selected Custom Item'),
559- u':/system/system_preview.png', self.onPreviewClick, u'CustomPreviewItem')
560- ## Live Custom Button ##
561- self.addToolbarButton(
562- translate(u'CustomMediaItem',u'Go Live'),
563- translate(u'CustomMediaItem', u'Send the selected Custom live'),
564- u':/system/system_live.png', self.onLiveClick, u'CustomLiveItem')
565- ## Add Custom Button ##
566- self.addToolbarButton(
567- translate(u'CustomMediaItem',u'Add Custom To Service'),
568- translate(u'CustomMediaItem',u'Add the selected Custom(s) to the service'),
569- u':/system/system_add.png', self.onAddClick, u'CustomAddItem')
570- # Add the CustomListView widget
571- self.CustomWidget = QtGui.QWidget(self)
572- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
573- sizePolicy.setHorizontalStretch(0)
574- sizePolicy.setVerticalStretch(0)
575- sizePolicy.setHeightForWidth(self.CustomWidget.sizePolicy().hasHeightForWidth())
576- self.CustomWidget.setSizePolicy(sizePolicy)
577- self.CustomWidget.setObjectName(u'CustomWidget')
578- # Add the Custom widget to the page layout
579- self.PageLayout.addWidget(self.CustomWidget)
580- self.ListView = CustomListView()
581- self.ListView.setAlternatingRowColors(True)
582- self.ListView.setDragEnabled(True)
583- self.PageLayout.addWidget(self.ListView)
584- # Signals
585- QtCore.QObject.connect(self.ListView,
586- QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onPreviewClick)
587- #define and add the context menu
588- self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
589- self.ListView.addAction(contextMenuAction(self.ListView,
590- ':/custom/custom_edit.png', translate(u'CustomMediaItem', u'&Edit Custom'),
591- self.onCustomEditClick))
592- self.ListView.addAction(contextMenuSeparator(self.ListView))
593- self.ListView.addAction(contextMenuAction(
594- self.ListView, ':/system/system_preview.png',
595- translate(u'CustomMediaItem',u'&Preview Custom'), self.onPreviewClick))
596- self.ListView.addAction(contextMenuAction(
597- self.ListView, ':/system/system_live.png',
598- translate(u'CustomMediaItem',u'&Show Live'), self.onLiveClick))
599- self.ListView.addAction(contextMenuAction(
600- self.ListView, ':/system/system_add.png',
601- translate(u'CustomMediaItem',u'&Add to Service'), self.onAddClick))
602-
603 def initialise(self):
604 self.loadCustomListView(self.parent.custommanager.get_all_slides())
605
606@@ -122,12 +63,12 @@
607 custom_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(CustomSlide.id))
608 self.ListView.addItem(custom_name)
609
610- def onCustomNewClick(self):
611+ def onNewClick(self):
612 self.parent.edit_custom_form.loadCustom(0)
613 self.parent.edit_custom_form.exec_()
614 self.initialise()
615
616- def onCustomEditClick(self):
617+ def onEditClick(self):
618 item = self.ListView.currentItem()
619 if item is not None:
620 item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
621@@ -135,7 +76,7 @@
622 self.parent.edit_custom_form.exec_()
623 self.initialise()
624
625- def onCustomDeleteClick(self):
626+ def onDeleteClick(self):
627 item = self.ListView.currentItem()
628 if item is not None:
629 item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
630
631=== modified file 'openlp/plugins/images/lib/mediaitem.py'
632--- openlp/plugins/images/lib/mediaitem.py 2009-09-01 05:17:32 +0000
633+++ openlp/plugins/images/lib/mediaitem.py 2009-09-11 04:54:22 +0000
634@@ -48,7 +48,6 @@
635 self.hasEditIcon = False
636 self.OnNewPrompt = u'Select Image(s)'
637 self.OnNewFileMasks = u'Images (*.jpg *jpeg *.gif *.png *.bmp)'
638- self.slidecontroller = u'image'
639 # this next is a class, not an instance of a class - it will
640 # be instanced by the base MediaManagerItem
641 self.ListViewWithDnD_class = ImageListView
642
643=== modified file 'openlp/plugins/presentations/lib/mediaitem.py'
644--- openlp/plugins/presentations/lib/mediaitem.py 2009-09-05 13:30:09 +0000
645+++ openlp/plugins/presentations/lib/mediaitem.py 2009-09-11 04:54:22 +0000
646@@ -57,7 +57,7 @@
647 MediaManagerItem.__init__(self, parent, icon, title)
648 self.message_listener = MessageListener(controllers)
649
650- def addHeaderBar(self):
651+ def addHeaderBar2(self):
652 self.PresentationWidget = QtGui.QWidget(self)
653 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
654 sizePolicy.setHorizontalStretch(0)
655
656=== modified file 'resources/forms/editcustomdialog.ui'
657--- resources/forms/editcustomdialog.ui 2009-03-08 06:36:05 +0000
658+++ resources/forms/editcustomdialog.ui 2009-09-11 04:54:22 +0000
659@@ -14,7 +14,7 @@
660 <string>Edit Custom Slides</string>
661 </property>
662 <property name="windowIcon">
663- <iconset resource="../images/openlp-2.qrc">
664+ <iconset>
665 <normaloff>:/icon/openlp.org-icon-32.bmp</normaloff>:/icon/openlp.org-icon-32.bmp</iconset>
666 </property>
667 <layout class="QGridLayout" name="gridLayout">
668@@ -35,12 +35,19 @@
669 <item row="1" column="0">
670 <layout class="QHBoxLayout" name="horizontalLayout_4">
671 <item>
672- <widget class="QListWidget" name="VerseListView"/>
673+ <widget class="QListWidget" name="VerseListView">
674+ <property name="alternatingRowColors">
675+ <bool>true</bool>
676+ </property>
677+ </widget>
678 </item>
679 <item>
680 <layout class="QVBoxLayout" name="verticalLayout">
681 <item>
682 <widget class="QPushButton" name="UpButton">
683+ <property name="toolTip">
684+ <string extracomment="Move selected slide up one"/>
685+ </property>
686 <property name="text">
687 <string/>
688 </property>
689@@ -65,6 +72,9 @@
690 </item>
691 <item>
692 <widget class="QPushButton" name="DownButton">
693+ <property name="toolTip">
694+ <string extracomment="Move selected slide down one"/>
695+ </property>
696 <property name="text">
697 <string/>
698 </property>
699@@ -88,33 +98,46 @@
700 <number>0</number>
701 </property>
702 <item>
703- <widget class="QTextEdit" name="VerseTextEdit_3"/>
704+ <widget class="QTextEdit" name="VerseTextEdit"/>
705 </item>
706 <item>
707 <widget class="QWidget" name="ButtonWidge" native="true">
708- <layout class="QVBoxLayout" name="ButtonLayout_3">
709- <property name="spacing">
710- <number>8</number>
711- </property>
712- <property name="margin">
713- <number>0</number>
714- </property>
715+ <layout class="QVBoxLayout" name="verticalLayout_2">
716 <item>
717- <widget class="QPushButton" name="AddButton_3">
718+ <widget class="QPushButton" name="AddButton">
719+ <property name="toolTip">
720+ <string extracomment="Adds a new slide at bottom of list"/>
721+ </property>
722 <property name="text">
723- <string>Add</string>
724+ <string>Add New</string>
725 </property>
726 </widget>
727 </item>
728 <item>
729- <widget class="QPushButton" name="EditButton_3">
730+ <widget class="QPushButton" name="EditButton">
731+ <property name="toolTip">
732+ <string extracomment="Edit selected slide"/>
733+ </property>
734 <property name="text">
735 <string>Edit</string>
736 </property>
737 </widget>
738 </item>
739 <item>
740- <widget class="QPushButton" name="SaveButton_3">
741+ <widget class="QPushButton" name="EditAllButton">
742+ <property name="toolTip">
743+ <string extracomment="Edit all slides"/>
744+ </property>
745+ <property name="text">
746+ <string>Edit All</string>
747+ </property>
748+ </widget>
749+ </item>
750+ <item>
751+ <widget class="QPushButton" name="SaveButton">
752+ <property name="toolTip">
753+ <string extracomment="Save changed slide"/>
754+ </property>
755 <property name="text">
756 <string>Save</string>
757 </property>
758@@ -122,12 +145,25 @@
759 </item>
760 <item>
761 <widget class="QPushButton" name="DeleteButton">
762+ <property name="toolTip">
763+ <string extracomment="Delete selected slide"/>
764+ </property>
765 <property name="text">
766 <string>Delete</string>
767 </property>
768 </widget>
769 </item>
770 <item>
771+ <widget class="QPushButton" name="ClearButton">
772+ <property name="toolTip">
773+ <string extracomment="Clear selection"/>
774+ </property>
775+ <property name="text">
776+ <string>Clear</string>
777+ </property>
778+ </widget>
779+ </item>
780+ <item>
781 <spacer name="ButtonSpacer">
782 <property name="orientation">
783 <enum>Qt::Vertical</enum>
784@@ -156,7 +192,11 @@
785 </widget>
786 </item>
787 <item>
788- <widget class="QComboBox" name="ThemecomboBox"/>
789+ <widget class="QComboBox" name="ThemeComboBox">
790+ <property name="toolTip">
791+ <string extracomment="Select custom theme for slide"/>
792+ </property>
793+ </widget>
794 </item>
795 </layout>
796 </item>
797@@ -185,13 +225,17 @@
798 </widget>
799 <tabstops>
800 <tabstop>TitleEdit</tabstop>
801- <tabstop>VerseTextEdit_3</tabstop>
802- <tabstop>EditButton_3</tabstop>
803- <tabstop>SaveButton_3</tabstop>
804- <tabstop>CreditEdit</tabstop>
805+ <tabstop>VerseTextEdit</tabstop>
806+ <tabstop>AddButton</tabstop>
807 <tabstop>VerseListView</tabstop>
808- <tabstop>AddButton_3</tabstop>
809+ <tabstop>EditButton</tabstop>
810+ <tabstop>EditAllButton</tabstop>
811+ <tabstop>SaveButton</tabstop>
812 <tabstop>DeleteButton</tabstop>
813+ <tabstop>CreditEdit</tabstop>
814+ <tabstop>UpButton</tabstop>
815+ <tabstop>DownButton</tabstop>
816+ <tabstop>ThemeComboBox</tabstop>
817 <tabstop>buttonBox</tabstop>
818 </tabstops>
819 <resources>