This commit is contained in:
Andreas Preikschat 2011-04-22 19:11:15 +02:00
commit f3a0964366
59 changed files with 567 additions and 426 deletions

View File

@ -22,19 +22,34 @@ You will see the Bible Importer window, click :guilabel:`Next`.
.. image:: pics/bibleimport01.png .. image:: pics/bibleimport01.png
After clicking :guilabel:`Next` you can select from the various types of After clicking :guilabel:`Next` you can select from the various types of
software that OpenLP will convert Bibles from. software that OpenLP will convert Bibles from. Click on the file folder icon to
choose the file(s) of the Bible database you want to import. See the sections
below for more information on the different formats that OpenLP will import.
Click :guilabel:`Next` to continue.
.. image:: pics/bibleimport02.png .. image:: pics/bibleimport02.png
Click on the file folder icon to choose the file of the Bible database you After selecting your file(s), you'll be asked to fill in the details of the
want to import. See the following sections for information on the different Bible you are importing. Remember to check what information you need to display
formats that OpenLP will import. for your Bible's translation, as some of them have strict rules around the
copyright notice. Click :guilabel:`Next` to continue.
Importing from OpenLP Version 1 .. image:: pics/bibleimportdetails1.png
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Converting from OpenLP Version 1 is a simple process. First you will need to After filling in the copyright details, OpenLP will start to import your Bible.
locate your Version 1 Bibles. It may take some time to import your Bible so please be patient.
.. image:: pics/bibleimportfinished1.png
When the import has finished click :guilabel:`Finish` and you should be
ready to use your Bible in OpenLP.
Importing from openlp.org 1.x
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Importing Bibles from openlp.org 1.x is a simple process. First you will need to
locate your version 1.x Bibles. Version 1.x Bibles have the `.bible` file
extension.
Windows XP:: Windows XP::
@ -44,22 +59,15 @@ Windows Vista / Windows 7::
C:\ProgramData\openlp.org\Data\Bibles\ C:\ProgramData\openlp.org\Data\Bibles\
OpenLP Version 1 Bibles have the `.bible` file extension. After selecting After selecting all of the openlp.org 1.x Bibles you want to convert, click
all of the OpenLP Version 1 Bibles you want to convert, click :guilabel:`Next` :guilabel:`Next` to continue the import process.
.. image:: pics/bibleimportdetails1.png
Enter your Bible name and copyright details. Click :guilabel:`Next`. It may
take some time to convert your Bibles so please be patient.
.. image:: pics/bibleimportfinished1.png
When the import has finished click :guilabel:`Finish` and you should be
ready to use your OpenLP Version 1 Bibles.
Importing OSIS Bibles Importing OSIS Bibles
^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^
Importing OSIS files is very simple. Select OSIS as your import source, select
your OSIS Bible file and continue the import process.
**About OSIS Formatted Bibles** **About OSIS Formatted Bibles**
The OSIS XML standard was designed to provide a common format for distribution The OSIS XML standard was designed to provide a common format for distribution
@ -69,24 +77,11 @@ of electronic Bibles. More information can be found out at the `Bible Technologi
If you have any software installed that is part of the `Sword Project If you have any software installed that is part of the `Sword Project
<http://www.crosswire.org/sword/index.jsp>`_ it can be easily converted. <http://www.crosswire.org/sword/index.jsp>`_ it can be easily converted.
Importing OSIS files is very simple. Select your OSIS Bible file and click
:guilabel:`Next`
.. image:: pics/bibleimportdetails1.png
Enter you Bible name and copyright details. Click :guilabel:`Next`. It may take
some time to convert your Bibles so please be patient.
.. image:: pics/bibleimportfinished1.png
Click :guilabel:`Finish` and you should be ready to use your OpenLP Version
1 Bibles.
You can use the commands below convert Bibles from that software to OSIS format. You can use the commands below convert Bibles from that software to OSIS format.
The following commands are used in all platforms and the commands are case The following commands are used in all platforms and the commands are case
sensitive across all platforms. To convert a Bible using Command Prompt in sensitive across all platforms. To convert a Bible using the command prompt in
Windows or a Terminal in Linux or MAC you would type:: Windows or a terminal in Linux or Mac OS X you would type::
mod2osis biblename > biblename.osis mod2osis biblename > biblename.osis
@ -114,17 +109,9 @@ You may also import downloaded bibles from OpenSong. The process is the same,
except you will need to extract the bible from a zip file. This is usually done except you will need to extract the bible from a zip file. This is usually done
by right clicking on the downloaded file and select `Extract` or `Extract Here`. by right clicking on the downloaded file and select `Extract` or `Extract Here`.
After selecting the OpenSong Bibles you want to convert, click :guilabel:`Next` After selecting the OpenSong Bibles you want to import, follow the rest of the
import process. When the import has finished you should be ready to use your
.. image:: pics/bibleimportdetails1.png OpenSong Bibles.
Enter your Bible name and copyright details. Click :guilabel:`Next`. It may
take some time to convert your Bibles so please be patient.
.. image:: pics/bibleimportfinished1.png
When the import has finished then click :guilabel:`Finish` and you should now be
ready to use your OpenSong Bibles.
Importing Web Download Bibles Importing Web Download Bibles
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -139,8 +126,6 @@ as another option and does require an internet connection.
To use the web download feature select web download from the import wizard. To use the web download feature select web download from the import wizard.
.. image:: pics/bibleimport01.png
You can select from several options of location to download from and also You can select from several options of location to download from and also
what Bible translation you need. You will probably want to choose the location what Bible translation you need. You will probably want to choose the location
from where you get the best performance or has the translation you need. from where you get the best performance or has the translation you need.
@ -154,30 +139,20 @@ not be needed.
.. image:: pics/webbibleproxy1.png .. image:: pics/webbibleproxy1.png
After selecting your download location and the Bible you wish to use, click After selecting your download location and the Bible you wish to use, click
:guilabel:`Next` When your import is completed click :guilabel:`Finish` :guilabel:`Next` to continue the import process. When your import is completed
you should now be ready to use the web bible.
.. image:: pics/biblewebcomplete.png
You should now be ready to use the web bible.
Importing CSV formatted Bibles Importing CSV formatted Bibles
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you have a Bible in .csv format OpenLP can import it. CSV Bibles will If you have a Bible in .csv format OpenLP can import it. CSV Bibles will
consist of two files a `books` file and a `verse` file. consist of two files a `books` file and a `verse` file. Select CSV from the list
of Bible types to import.
Select CSV from the list of Bible types to import.
.. image:: pics/bibleimport02.png
You are now ready to select your .csv files. You will need to select both your You are now ready to select your .csv files. You will need to select both your
books and verse file location. books and verse file location.
.. image:: pics/csvimport1.png .. image:: pics/csvimport1.png
After you have selected the file locations you can click :guilabel:`Next` After you have selected the file locations you can continue with the import
process. Once it is complete you should be ready to use your imported CSV Bible.
.. image:: pics/bibleimportfinished1.png
Click :guilabel:`Finish` and you should now be ready to use your imported CSV
Bible

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -99,4 +99,134 @@ completed.
Press :guilabel:`Finish` and OpenLP will be ready to use your songs imported Press :guilabel:`Finish` and OpenLP will be ready to use your songs imported
from CCLI SongSelect. from CCLI SongSelect.
Creating or editing a song slide
================================
If you want to create a new song slide or, once you have a song imported, you
want to edit and rearrange the Title & Lyrics, Author, Topics & Song Book,
assign a Theme, or edit Copyright Info & Comments, you will do this through the
`Song Editor`.
**Edit:** To edit an existing song you can either click on a song in the
`Media Manager` and then click the button to :guilabel:`Edit the selected song`
or right click a song from either the `Media Manager` or additionally from the
`Service Manager` and click :guilabel:`Edit item`. If you are adding a new song
click :guilabel:`Add a new Song` in the `Media Manager`.
.. image:: pics/song_edit_lyrics.png
**Title:** This is where you would name your song or edit a song name.
**Alternate title:**Alternate Title was for songs with two names
"Lord the Light" - "Shine Jesus Shine". You can also add a name in this box that
will bring up the song in Titles search. **Example:** You could use an alternate
title of "hymn" on all your hymn song titles for grouping. When you search "hymn"
it will show all the hymns that have "hymn" for the Alternate title.
**Lyrics:** The *Lyrics* window shows all lyrics imported or added. On the left
side of the lyrics you will see a capital letter followed by a number. A V1
would represent verse 1, C1 would be Chorus 1. You will use these letters and
numbers for the order to display the lyrics.
**Verse Order:** After you entered or edited your song, you will want OpenLP to
display the verses in the correct order you want them displayed. On the left side
of your lyrics you will see C1, V1, V2 etc. the way they were imported or added.
To put your lyrics in the correct order is as simple as typing in the
:guilabel:`Verse order box` at the bottom, the correct order you want them
displayed, with only a blank space in between each entry. The correct format will
look like this: V1 C1 V2 C1 V3 C1. If you forget to put a space in between the
order, or if you do not have the corresponding verse number, OpenLP will politely
tell you with a pop-up error message what is wrong so you can correct your
mistake and save it. Verse order is optional and if left blank the verses will
display in the order seen in *Lyrics*.
.. image:: pics/song_edit_verse_error.png
Adding or editing the lyrics
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**Add:** To Add a new verse, click on :guilabel:`Add`. The main window is where
you will type your lyrics. OpenLP is packaged with a spell checker for most
languages. If you misspell a word it will be underlined. Right click the
underlined word and left click *Spelling Suggestions* or you can ignore it and
continue typing. You also have the ability to format the font using *Formatting
Tags*. Highlight the word/words you want to format and right click the highlight.
Left click *Formatting Tags* and choose the format you want to apply to the font
and the format tags will be entered with your lyrics. These tags are not visible
when displayed. To remove the format, delete the tag on each end of the word or
sentence.
**Edit:** To edit an existing verse, click on the verse you wish to *Edit* then click on
:guilabel:`Edit`, make your changes and click :guilabel:`Save`.
**Edit All:** To edit the whole song at once, click on :guilabel:`Edit All`.
**Delete:** To delete a verse, click on the verse you want to delete and it will
highlight, click on the :guilabel:`Delete` button and it will be deleted.
**Warning:**, once you click the :guilabel:`Delete` button, you will not be
asked again, it will be deleted immediately.
.. image:: pics/song_edit_verse_type.png
**Verse type:** gives you 7 ways to classify your lyrics. Verse, Chorus, Bridge,
Pre-Chorus, Intro, Ending, Other.
If you have more than one verse, you would number them Verse 1, 2, 3 as needed.
If you find the verse has too many lines for your screen, you can edit and
shorten the verse and :guilabel:`Add` another slide.
Authors, Topics & Song Book
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Once your *Title & Lyrics* are added or edited the way you want them you must
add or enter the author or authors of the song. OpenLP requires all songs to
have an author entered. You can add a blank space for the author name.
.. image:: pics/song_edit_authors.png
**Authors:** Click the drop down arrow to view all authors or start typing a name
in the box and a list will appear. If the authors name has not been added, type
the authors name in the box and click :guilabel:`Add to Song`. The authors name
will appear below and will also be added to your database. If you accidently add
the wrong author you can click on the authors name and click :guilabel:`Remove`.
:guilabel:`Manage Authors, Topics, Song Books`: Clicking this button will bring
up your complete list of authors.
.. image:: pics/song_edit_maintenance.png
**Add:** Clicking the :guilabel:`Add` button will bring up a box where you will
add the Authors First name, Last name and Display name. Click :guilabel:`Save`
when you are finished.
.. image:: pics/song_edit_author_maintenance.png
**Edit:** The :guilabel:`Edit` button will bring up window where you can edit
the info that is already there.
**Delete:** The :guilabel:`Delete` button will remove the author you have
highlighted. Note: You cannot delete an author that is assigned to a song.
Authors names are displayed in the footer.
Theme, Copyright info & Comments
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
On this tab you can assign a *Theme* to a song, enter the *Copyright information*
and add the *CCLI number*. If you imported a song from SongSelect this
information will usually be entered.
.. image:: pics/song_edit_theme_copyright.png
**Theme:** Click the drop down arrow to display your list of themes or start
typing a theme name in the box and the list will appear. You can also create a
new theme by clicking the :guilabel:`New Theme` button.
**Copyright information:** Add or edit the copyright information in this box. If
you would like to use the © symbol click "guilabel:`©` button. This information
is displayed in the footer.
**CCLI number:** Enter the CCLI number in this box. Note: this is the CCLI number
of the song, not your contract number. This number is not displayed in the footer
**Comments:** You can add comments in this box. This information is not
dispayed in the footer.

View File

@ -140,7 +140,7 @@ class OpenLP(QtGui.QApplication):
self.sharedMemory = QtCore.QSharedMemory('OpenLP') self.sharedMemory = QtCore.QSharedMemory('OpenLP')
if self.sharedMemory.attach(): if self.sharedMemory.attach():
status = QtGui.QMessageBox.critical(None, status = QtGui.QMessageBox.critical(None,
UiStrings.Error, UiStrings.OpenLPStart, UiStrings().Error, UiStrings().OpenLPStart,
QtGui.QMessageBox.StandardButtons( QtGui.QMessageBox.StandardButtons(
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) QtGui.QMessageBox.Yes | QtGui.QMessageBox.No))
if status == QtGui.QMessageBox.No: if status == QtGui.QMessageBox.No:

View File

@ -435,7 +435,7 @@ class MediaManagerItem(QtGui.QWidget):
item to the preview slide controller. item to the preview slide controller.
""" """
if not self.listView.selectedIndexes() and not self.remoteTriggered: if not self.listView.selectedIndexes() and not self.remoteTriggered:
QtGui.QMessageBox.information(self, UiStrings.NISp, QtGui.QMessageBox.information(self, UiStrings().NISp,
translate('OpenLP.MediaManagerItem', translate('OpenLP.MediaManagerItem',
'You must select one or more items to preview.')) 'You must select one or more items to preview.'))
else: else:
@ -453,7 +453,7 @@ class MediaManagerItem(QtGui.QWidget):
item to the live slide controller. item to the live slide controller.
""" """
if not self.listView.selectedIndexes(): if not self.listView.selectedIndexes():
QtGui.QMessageBox.information(self, UiStrings.NISp, QtGui.QMessageBox.information(self, UiStrings().NISp,
translate('OpenLP.MediaManagerItem', translate('OpenLP.MediaManagerItem',
'You must select one or more items to send live.')) 'You must select one or more items to send live.'))
else: else:
@ -468,7 +468,7 @@ class MediaManagerItem(QtGui.QWidget):
Add a selected item to the current service Add a selected item to the current service
""" """
if not self.listView.selectedIndexes() and not self.remoteTriggered: if not self.listView.selectedIndexes() and not self.remoteTriggered:
QtGui.QMessageBox.information(self, UiStrings.NISp, QtGui.QMessageBox.information(self, UiStrings().NISp,
translate('OpenLP.MediaManagerItem', translate('OpenLP.MediaManagerItem',
'You must select one or more items.')) 'You must select one or more items.'))
else: else:
@ -494,14 +494,14 @@ class MediaManagerItem(QtGui.QWidget):
Add a selected item to an existing item in the current service. Add a selected item to an existing item in the current service.
""" """
if not self.listView.selectedIndexes() and not self.remoteTriggered: if not self.listView.selectedIndexes() and not self.remoteTriggered:
QtGui.QMessageBox.information(self, UiStrings.NISp, QtGui.QMessageBox.information(self, UiStrings().NISp,
translate('OpenLP.MediaManagerItem', translate('OpenLP.MediaManagerItem',
'You must select one or more items.')) 'You must select one or more items.'))
else: else:
log.debug(u'%s Add requested', self.plugin.name) log.debug(u'%s Add requested', self.plugin.name)
serviceItem = self.parent.serviceManager.getServiceItem() serviceItem = self.parent.serviceManager.getServiceItem()
if not serviceItem: if not serviceItem:
QtGui.QMessageBox.information(self, UiStrings.NISs, QtGui.QMessageBox.information(self, UiStrings().NISs,
translate('OpenLP.MediaManagerItem', translate('OpenLP.MediaManagerItem',
'You must select an existing service item to add to.')) 'You must select an existing service item to add to.'))
elif self.plugin.name.lower() == serviceItem.name.lower(): elif self.plugin.name.lower() == serviceItem.name.lower():

View File

@ -330,28 +330,28 @@ class Plugin(QtCore.QObject):
""" """
## Load Action ## ## Load Action ##
self.__setNameTextString(StringContent.Load, self.__setNameTextString(StringContent.Load,
UiStrings.Load, tooltips[u'load']) UiStrings().Load, tooltips[u'load'])
## Import Action ## ## Import Action ##
self.__setNameTextString(StringContent.Import, self.__setNameTextString(StringContent.Import,
UiStrings.Import, tooltips[u'import']) UiStrings().Import, tooltips[u'import'])
## New Action ## ## New Action ##
self.__setNameTextString(StringContent.New, self.__setNameTextString(StringContent.New,
UiStrings.Add, tooltips[u'new']) UiStrings().Add, tooltips[u'new'])
## Edit Action ## ## Edit Action ##
self.__setNameTextString(StringContent.Edit, self.__setNameTextString(StringContent.Edit,
UiStrings.Edit, tooltips[u'edit']) UiStrings().Edit, tooltips[u'edit'])
## Delete Action ## ## Delete Action ##
self.__setNameTextString(StringContent.Delete, self.__setNameTextString(StringContent.Delete,
UiStrings.Delete, tooltips[u'delete']) UiStrings().Delete, tooltips[u'delete'])
## Preview Action ## ## Preview Action ##
self.__setNameTextString(StringContent.Preview, self.__setNameTextString(StringContent.Preview,
UiStrings.Preview, tooltips[u'preview']) UiStrings().Preview, tooltips[u'preview'])
## Send Live Action ## ## Send Live Action ##
self.__setNameTextString(StringContent.Live, self.__setNameTextString(StringContent.Live,
UiStrings.Live, tooltips[u'live']) UiStrings().Live, tooltips[u'live'])
## Add to Service Action ## ## Add to Service Action ##
self.__setNameTextString(StringContent.Service, self.__setNameTextString(StringContent.Service,
UiStrings.Service, tooltips[u'service']) UiStrings().Service, tooltips[u'service'])
def __setNameTextString(self, name, title, tooltip): def __setNameTextString(self, name, title, tooltip):
""" """

View File

@ -441,10 +441,10 @@ class ServiceItem(object):
start = None start = None
end = None end = None
if self.start_time != 0: if self.start_time != 0:
start = UiStrings.StartTimeCode % \ start = UiStrings().StartTimeCode % \
unicode(datetime.timedelta(seconds=self.start_time)) unicode(datetime.timedelta(seconds=self.start_time))
if self.media_length != 0: if self.media_length != 0:
end = UiStrings.LengthTime % \ end = UiStrings().LengthTime % \
unicode(datetime.timedelta(seconds=self.media_length)) unicode(datetime.timedelta(seconds=self.media_length))
if not start and not end: if not start and not end:
return None return None

View File

@ -192,7 +192,7 @@ class VerticalType(object):
Bottom = 2 Bottom = 2
Names = [u'top', u'middle', u'bottom'] Names = [u'top', u'middle', u'bottom']
TranslatedNames = [UiStrings.Top, UiStrings.Middle, UiStrings.Bottom] TranslatedNames = [UiStrings().Top, UiStrings().Middle, UiStrings().Bottom]
BOOLEAN_LIST = [u'bold', u'italics', u'override', u'outline', u'shadow', BOOLEAN_LIST = [u'bold', u'italics', u'override', u'outline', u'shadow',

View File

@ -39,78 +39,96 @@ class UiStrings(object):
""" """
Provide standard strings for objects to use. Provide standard strings for objects to use.
""" """
# These strings should need a good reason to be retranslated elsewhere. __instance__ = None
# Should some/more/less of these have an &amp; attached?
About = translate('OpenLP.Ui', 'About') def __new__(cls):
Add = translate('OpenLP.Ui', '&Add') """
Advanced = translate('OpenLP.Ui', 'Advanced') Override the default object creation method to return a single instance.
AllFiles = translate('OpenLP.Ui', 'All Files') """
Bottom = translate('OpenLP.Ui', 'Bottom') if not cls.__instance__:
Browse = translate('OpenLP.Ui', 'Browse...') cls.__instance__ = object.__new__(cls)
Cancel = translate('OpenLP.Ui', 'Cancel') return cls.__instance__
CCLINumberLabel = translate('OpenLP.Ui', 'CCLI number:')
CreateService = translate('OpenLP.Ui', 'Create a new service.') def __init__(self):
Continuous = translate('OpenLP.Ui', 'Continuous') """
Default = unicode(translate('OpenLP.Ui', 'Default')) These strings should need a good reason to be retranslated elsewhere.
Delete = translate('OpenLP.Ui', '&Delete') Should some/more/less of these have an &amp; attached?
DisplayStyle = translate('OpenLP.Ui', 'Display style:') """
Edit = translate('OpenLP.Ui', '&Edit') self.About = translate('OpenLP.Ui', 'About')
EmptyField = translate('OpenLP.Ui', 'Empty Field') self.Add = translate('OpenLP.Ui', '&Add')
Error = translate('OpenLP.Ui', 'Error') self.Advanced = translate('OpenLP.Ui', 'Advanced')
Export = translate('OpenLP.Ui', 'Export') self.AllFiles = translate('OpenLP.Ui', 'All Files')
File = translate('OpenLP.Ui', 'File') self.Bottom = translate('OpenLP.Ui', 'Bottom')
FontSizePtUnit = translate('OpenLP.Ui', 'pt', self.Browse = translate('OpenLP.Ui', 'Browse...')
self.Cancel = translate('OpenLP.Ui', 'Cancel')
self.CCLINumberLabel = translate('OpenLP.Ui', 'CCLI number:')
self.CreateService = translate('OpenLP.Ui', 'Create a new service.')
self.Continuous = translate('OpenLP.Ui', 'Continuous')
self.Default = unicode(translate('OpenLP.Ui', 'Default'))
self.Delete = translate('OpenLP.Ui', '&Delete')
self.DisplayStyle = translate('OpenLP.Ui', 'Display style:')
self.Edit = translate('OpenLP.Ui', '&Edit')
self.EmptyField = translate('OpenLP.Ui', 'Empty Field')
self.Error = translate('OpenLP.Ui', 'Error')
self.Export = translate('OpenLP.Ui', 'Export')
self.File = translate('OpenLP.Ui', 'File')
self.FontSizePtUnit = translate('OpenLP.Ui', 'pt',
'Abbreviated font pointsize unit') 'Abbreviated font pointsize unit')
Help = translate('OpenLP.Ui', 'Help') self.Help = translate('OpenLP.Ui', 'Help')
Hours = translate('OpenLP.Ui', 'h', 'The abbreviated unit for hours') self.Hours = translate('OpenLP.Ui', 'h',
Image = translate('OpenLP.Ui', 'Image') 'The abbreviated unit for hours')
Import = translate('OpenLP.Ui', 'Import') self.Image = translate('OpenLP.Ui', 'Image')
LayoutStyle = translate('OpenLP.Ui', 'Layout style:') self.Import = translate('OpenLP.Ui', 'Import')
LengthTime = unicode(translate('OpenLP.Ui', 'Length %s')) self.LayoutStyle = translate('OpenLP.Ui', 'Layout style:')
Live = translate('OpenLP.Ui', 'Live') self.LengthTime = unicode(translate('OpenLP.Ui', 'Length %s'))
LiveBGError = translate('OpenLP.Ui', 'Live Background Error') self.Live = translate('OpenLP.Ui', 'Live')
LivePanel = translate('OpenLP.Ui', 'Live Panel') self.LiveBGError = translate('OpenLP.Ui', 'Live Background Error')
LiveToolbar = translate('OpenLP.Ui', 'Live Toolbar') self.LivePanel = translate('OpenLP.Ui', 'Live Panel')
Load = translate('OpenLP.Ui', 'Load') self.LiveToolbar = translate('OpenLP.Ui', 'Live Toolbar')
Minutes = translate('OpenLP.Ui', 'm', 'The abbreviated unit for minutes') self.Load = translate('OpenLP.Ui', 'Load')
Middle = translate('OpenLP.Ui', 'Middle') self.Minutes = translate('OpenLP.Ui', 'm',
New = translate('OpenLP.Ui', 'New') 'The abbreviated unit for minutes')
NewService = translate('OpenLP.Ui', 'New Service') self.Middle = translate('OpenLP.Ui', 'Middle')
NewTheme = translate('OpenLP.Ui', 'New Theme') self.New = translate('OpenLP.Ui', 'New')
NFSs = translate('OpenLP.Ui', 'No File Selected', 'Singular') self.NewService = translate('OpenLP.Ui', 'New Service')
NFSp = translate('OpenLP.Ui', 'No Files Selected', 'Plural') self.NewTheme = translate('OpenLP.Ui', 'New Theme')
NISs = translate('OpenLP.Ui', 'No Item Selected', 'Singular') self.NFSs = translate('OpenLP.Ui', 'No File Selected', 'Singular')
NISp = translate('OpenLP.Ui', 'No Items Selected', 'Plural') self.NFSp = translate('OpenLP.Ui', 'No Files Selected', 'Plural')
OLPV1 = translate('OpenLP.Ui', 'openlp.org 1.x') self.NISs = translate('OpenLP.Ui', 'No Item Selected', 'Singular')
OLPV2 = translate('OpenLP.Ui', 'OpenLP 2.0') self.NISp = translate('OpenLP.Ui', 'No Items Selected', 'Plural')
OpenLPStart = translate('OpenLP.Ui', 'OpenLP is already running. Do you ' self.OLPV1 = translate('OpenLP.Ui', 'openlp.org 1.x')
'wish to continue?') self.OLPV2 = translate('OpenLP.Ui', 'OpenLP 2.0')
OpenService = translate('OpenLP.Ui', 'Open Service') self.OpenLPStart = translate('OpenLP.Ui', 'OpenLP is already running. '
Preview = translate('OpenLP.Ui', 'Preview') 'Do you wish to continue?')
PreviewPanel = translate('OpenLP.Ui', 'Preview Panel') self.OpenService = translate('OpenLP.Ui', 'Open Service')
PrintServiceOrder = translate('OpenLP.Ui', 'Print Service Order') self.Preview = translate('OpenLP.Ui', 'Preview')
ReplaceBG = translate('OpenLP.Ui', 'Replace Background') self.PreviewPanel = translate('OpenLP.Ui', 'Preview Panel')
ReplaceLiveBG = translate('OpenLP.Ui', 'Replace Live Background') self.PrintServiceOrder = translate('OpenLP.Ui', 'Print Service Order')
ResetBG = translate('OpenLP.Ui', 'Reset Background') self.ReplaceBG = translate('OpenLP.Ui', 'Replace Background')
ResetLiveBG = translate('OpenLP.Ui', 'Reset Live Background') self.ReplaceLiveBG = translate('OpenLP.Ui', 'Replace Live Background')
Seconds = translate('OpenLP.Ui', 's', 'The abbreviated unit for seconds') self.ResetBG = translate('OpenLP.Ui', 'Reset Background')
SaveAndPreview = translate('OpenLP.Ui', 'Save && Preview') self.ResetLiveBG = translate('OpenLP.Ui', 'Reset Live Background')
Search = translate('OpenLP.Ui', 'Search') self.Seconds = translate('OpenLP.Ui', 's',
SelectDelete = translate('OpenLP.Ui', 'You must select an item to delete.') 'The abbreviated unit for seconds')
SelectEdit = translate('OpenLP.Ui', 'You must select an item to edit.') self.SaveAndPreview = translate('OpenLP.Ui', 'Save && Preview')
Settings = translate('OpenLP.Ui', 'Settings') self.Search = translate('OpenLP.Ui', 'Search')
SaveService = translate('OpenLP.Ui', 'Save Service') self.SelectDelete = translate('OpenLP.Ui', 'You must select an item '
Service = translate('OpenLP.Ui', 'Service') 'to delete.')
StartTimeCode = unicode(translate('OpenLP.Ui', 'Start %s')) self.SelectEdit = translate('OpenLP.Ui', 'You must select an item to '
Theme = translate('OpenLP.Ui', 'Theme', 'Singular') 'edit.')
Themes = translate('OpenLP.Ui', 'Themes', 'Plural') self.Settings = translate('OpenLP.Ui', 'Settings')
Tools = translate('OpenLP.Ui', 'Tools') self.SaveService = translate('OpenLP.Ui', 'Save Service')
Top = translate('OpenLP.Ui', 'Top') self.Service = translate('OpenLP.Ui', 'Service')
VersePerSlide = translate('OpenLP.Ui', 'Verse Per Slide') self.StartTimeCode = unicode(translate('OpenLP.Ui', 'Start %s'))
VersePerLine = translate('OpenLP.Ui', 'Verse Per Line') self.Theme = translate('OpenLP.Ui', 'Theme', 'Singular')
Version = translate('OpenLP.Ui', 'Version') self.Themes = translate('OpenLP.Ui', 'Themes', 'Plural')
View = translate('OpenLP.Ui', 'View') self.Tools = translate('OpenLP.Ui', 'Tools')
ViewMode = translate('OpenLP.Ui', 'View Model') self.Top = translate('OpenLP.Ui', 'Top')
self.VersePerSlide = translate('OpenLP.Ui', 'Verse Per Slide')
self.VersePerLine = translate('OpenLP.Ui', 'Verse Per Line')
self.Version = translate('OpenLP.Ui', 'Version')
self.View = translate('OpenLP.Ui', 'View')
self.ViewMode = translate('OpenLP.Ui', 'View Model')
def add_welcome_page(parent, image): def add_welcome_page(parent, image):
""" """
@ -157,7 +175,8 @@ def create_accept_reject_button_box(parent, okay=False):
accept_button = QtGui.QDialogButtonBox.Save accept_button = QtGui.QDialogButtonBox.Save
if okay: if okay:
accept_button = QtGui.QDialogButtonBox.Ok accept_button = QtGui.QDialogButtonBox.Ok
button_box.setStandardButtons(accept_button | QtGui.QDialogButtonBox.Cancel) button_box.setStandardButtons(
accept_button | QtGui.QDialogButtonBox.Cancel)
button_box.setObjectName(u'%sButtonBox' % parent) button_box.setObjectName(u'%sButtonBox' % parent)
QtCore.QObject.connect(button_box, QtCore.SIGNAL(u'accepted()'), QtCore.QObject.connect(button_box, QtCore.SIGNAL(u'accepted()'),
parent.accept) parent.accept)
@ -184,11 +203,11 @@ def critical_error_message_box(title=None, message=None, parent=None,
Should this message box question the user. Should this message box question the user.
""" """
if question: if question:
return QtGui.QMessageBox.critical(parent, UiStrings.Error, message, return QtGui.QMessageBox.critical(parent, UiStrings().Error, message,
QtGui.QMessageBox.StandardButtons( QtGui.QMessageBox.StandardButtons(
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)) QtGui.QMessageBox.Yes | QtGui.QMessageBox.No))
data = {u'message': message} data = {u'message': message}
data[u'title'] = title if title else UiStrings.Error data[u'title'] = title if title else UiStrings().Error
return Receiver.send_message(u'openlp_error_message', data) return Receiver.send_message(u'openlp_error_message', data)
def media_item_combo_box(parent, name): def media_item_combo_box(parent, name):
@ -218,7 +237,7 @@ def create_delete_push_button(parent, icon=None):
delete_button.setObjectName(u'deleteButton') delete_button.setObjectName(u'deleteButton')
delete_icon = icon if icon else u':/general/general_delete.png' delete_icon = icon if icon else u':/general/general_delete.png'
delete_button.setIcon(build_icon(delete_icon)) delete_button.setIcon(build_icon(delete_icon))
delete_button.setText(UiStrings.Delete) delete_button.setText(UiStrings().Delete)
delete_button.setToolTip( delete_button.setToolTip(
translate('OpenLP.Ui', 'Delete the selected item.')) translate('OpenLP.Ui', 'Delete the selected item.'))
QtCore.QObject.connect(delete_button, QtCore.QObject.connect(delete_button,
@ -304,7 +323,7 @@ def shortcut_action(parent, name, shortcuts, function, icon=None, checked=None,
action.setShortcutContext(context) action.setShortcutContext(context)
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.add_action(action, category) action_list.add_action(action, category)
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered()'), function) QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'), function)
return action return action
def context_menu_action(base, icon, text, slot, shortcuts=None, category=None, def context_menu_action(base, icon, text, slot, shortcuts=None, category=None,
@ -337,7 +356,7 @@ def context_menu_action(base, icon, text, slot, shortcuts=None, category=None,
action = QtGui.QAction(text, base) action = QtGui.QAction(text, base)
if icon: if icon:
action.setIcon(build_icon(icon)) action.setIcon(build_icon(icon))
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered()'), slot) QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered(bool)'), slot)
if shortcuts is not None: if shortcuts is not None:
action.setShortcuts(shortcuts) action.setShortcuts(shortcuts)
action.setShortcutContext(context) action.setShortcutContext(context)
@ -406,9 +425,9 @@ def create_valign_combo(form, parent, layout):
verticalLabel.setText(translate('OpenLP.Ui', '&Vertical Align:')) verticalLabel.setText(translate('OpenLP.Ui', '&Vertical Align:'))
form.verticalComboBox = QtGui.QComboBox(parent) form.verticalComboBox = QtGui.QComboBox(parent)
form.verticalComboBox.setObjectName(u'VerticalComboBox') form.verticalComboBox.setObjectName(u'VerticalComboBox')
form.verticalComboBox.addItem(UiStrings.Top) form.verticalComboBox.addItem(UiStrings().Top)
form.verticalComboBox.addItem(UiStrings.Middle) form.verticalComboBox.addItem(UiStrings().Middle)
form.verticalComboBox.addItem(UiStrings.Bottom) form.verticalComboBox.addItem(UiStrings().Bottom)
verticalLabel.setBuddy(form.verticalComboBox) verticalLabel.setBuddy(form.verticalComboBox)
layout.addRow(verticalLabel, form.verticalComboBox) layout.addRow(verticalLabel, form.verticalComboBox)

View File

@ -87,7 +87,7 @@ class Ui_AboutDialog(object):
QtCore.QMetaObject.connectSlotsByName(aboutDialog) QtCore.QMetaObject.connectSlotsByName(aboutDialog)
def retranslateUi(self, aboutDialog): def retranslateUi(self, aboutDialog):
aboutDialog.setWindowTitle(u'%s OpenLP' % UiStrings.About) aboutDialog.setWindowTitle(u'%s OpenLP' % UiStrings().About)
self.aboutTextEdit.setPlainText(translate('OpenLP.AboutForm', self.aboutTextEdit.setPlainText(translate('OpenLP.AboutForm',
'OpenLP <version><revision> - Open Source Lyrics ' 'OpenLP <version><revision> - Open Source Lyrics '
'Projection\n' 'Projection\n'
@ -105,7 +105,7 @@ class Ui_AboutDialog(object):
'consider contributing by using the button below.' 'consider contributing by using the button below.'
)) ))
self.aboutNotebook.setTabText( self.aboutNotebook.setTabText(
self.aboutNotebook.indexOf(self.aboutTab), UiStrings.About) self.aboutNotebook.indexOf(self.aboutTab), UiStrings().About)
lead = u'Raoul "superfly" Snyman' lead = u'Raoul "superfly" Snyman'
developers = [u'Tim "TRB143" Bentley', u'Jonathan "gushie" Corwin', developers = [u'Tim "TRB143" Bentley', u'Jonathan "gushie" Corwin',
u'Michael "cocooncrash" Gorven', u'Michael "cocooncrash" Gorven',

View File

@ -127,7 +127,7 @@ class AdvancedTab(SettingsTab):
""" """
Setup the interface translation strings. Setup the interface translation strings.
""" """
self.tabTitleVisible = UiStrings.Advanced self.tabTitleVisible = UiStrings().Advanced
self.uiGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'UI Settings')) self.uiGroupBox.setTitle(translate('OpenLP.AdvancedTab', 'UI Settings'))
self.recentLabel.setText( self.recentLabel.setText(
translate('OpenLP.AdvancedTab', translate('OpenLP.AdvancedTab',
@ -226,7 +226,7 @@ class AdvancedTab(SettingsTab):
def onDefaultBrowseButtonPressed(self): def onDefaultBrowseButtonPressed(self):
file_filters = u'%s;;%s (*.*) (*)' % (get_images_filter(), file_filters = u'%s;;%s (*.*) (*)' % (get_images_filter(),
UiStrings.AllFiles) UiStrings().AllFiles)
filename = QtGui.QFileDialog.getOpenFileName(self, filename = QtGui.QFileDialog.getOpenFileName(self,
translate('OpenLP.AdvancedTab', 'Open File'), '', translate('OpenLP.AdvancedTab', 'Open File'), '',
file_filters) file_filters)

View File

@ -136,10 +136,10 @@ class Ui_DisplayTagDialog(object):
translate('OpenLP.DisplayTagDialog', 'Start tag')) translate('OpenLP.DisplayTagDialog', 'Start tag'))
self.endTagLabel.setText( self.endTagLabel.setText(
translate('OpenLP.DisplayTagDialog', 'End tag')) translate('OpenLP.DisplayTagDialog', 'End tag'))
self.deletePushButton.setText(UiStrings.Delete) self.deletePushButton.setText(UiStrings().Delete)
self.defaultPushButton.setText( self.defaultPushButton.setText(
translate('OpenLP.DisplayTagDialog', 'Default')) translate('OpenLP.DisplayTagDialog', 'Default'))
self.newPushButton.setText(UiStrings.New) self.newPushButton.setText(UiStrings().New)
self.tagTableWidget.horizontalHeaderItem(0).setText( self.tagTableWidget.horizontalHeaderItem(0).setText(
translate('OpenLP.DisplayTagDialog', 'Description')) translate('OpenLP.DisplayTagDialog', 'Description'))
self.tagTableWidget.horizontalHeaderItem(1).setText( self.tagTableWidget.horizontalHeaderItem(1).setText(

View File

@ -178,7 +178,7 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
self,translate('ImagePlugin.ExceptionDialog', self,translate('ImagePlugin.ExceptionDialog',
'Select Attachment'), 'Select Attachment'),
SettingsManager.get_last_dir(u'exceptions'), SettingsManager.get_last_dir(u'exceptions'),
u'%s (*.*) (*)' % UiStrings.AllFiles) u'%s (*.*) (*)' % UiStrings().AllFiles)
log.info(u'New files(s) %s', unicode(files)) log.info(u'New files(s) %s', unicode(files))
if files: if files:
self.fileAttachment = unicode(files) self.fileAttachment = unicode(files)

View File

@ -140,6 +140,8 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
return FirstTimePage.Songs return FirstTimePage.Songs
elif self.currentId() == FirstTimePage.Progress: elif self.currentId() == FirstTimePage.Progress:
return -1 return -1
elif self.currentId() == FirstTimePage.NoInternet:
return FirstTimePage.Progress
else: else:
return self.currentId() + 1 return self.currentId() + 1
@ -147,11 +149,7 @@ class FirstTimeForm(QtGui.QWizard, Ui_FirstTimeWizard):
""" """
Detects Page changes and updates as approprate. Detects Page changes and updates as approprate.
""" """
if pageId == FirstTimePage.NoInternet: if pageId == FirstTimePage.Defaults:
self.finishButton.setVisible(True)
self.finishButton.setEnabled(True)
self.nextButton.setVisible(False)
elif pageId == FirstTimePage.Defaults:
self.themeComboBox.clear() self.themeComboBox.clear()
for iter in xrange(self.themesListWidget.count()): for iter in xrange(self.themesListWidget.count()):
item = self.themesListWidget.item(iter) item = self.themesListWidget.item(iter)

View File

@ -238,7 +238,7 @@ class GeneralTab(SettingsTab):
self.timeoutSpinBox.setSuffix(translate('OpenLP.GeneralTab', ' sec')) self.timeoutSpinBox.setSuffix(translate('OpenLP.GeneralTab', ' sec'))
self.ccliGroupBox.setTitle( self.ccliGroupBox.setTitle(
translate('OpenLP.GeneralTab', 'CCLI Details')) translate('OpenLP.GeneralTab', 'CCLI Details'))
self.numberLabel.setText(UiStrings.CCLINumberLabel) self.numberLabel.setText(UiStrings().CCLINumberLabel)
self.usernameLabel.setText( self.usernameLabel.setText(
translate('OpenLP.GeneralTab', 'SongSelect username:')) translate('OpenLP.GeneralTab', 'SongSelect username:'))
self.passwordLabel.setText( self.passwordLabel.setText(

View File

@ -163,82 +163,82 @@ class Ui_MainWindow(object):
self.themeManagerDock) self.themeManagerDock)
# Create the menu items # Create the menu items
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.add_category(UiStrings.File, CategoryOrder.standardMenu) action_list.add_category(UiStrings().File, CategoryOrder.standardMenu)
self.FileNewItem = shortcut_action(mainWindow, u'FileNewItem', self.FileNewItem = shortcut_action(mainWindow, u'FileNewItem',
[QtGui.QKeySequence(u'Ctrl+N')], [QtGui.QKeySequence(u'Ctrl+N')],
self.ServiceManagerContents.onNewServiceClicked, self.ServiceManagerContents.onNewServiceClicked,
u':/general/general_new.png', category=UiStrings.File) u':/general/general_new.png', category=UiStrings().File)
self.FileOpenItem = shortcut_action(mainWindow, u'FileOpenItem', self.FileOpenItem = shortcut_action(mainWindow, u'FileOpenItem',
[QtGui.QKeySequence(u'Ctrl+O')], [QtGui.QKeySequence(u'Ctrl+O')],
self.ServiceManagerContents.onLoadServiceClicked, self.ServiceManagerContents.onLoadServiceClicked,
u':/general/general_open.png', category=UiStrings.File) u':/general/general_open.png', category=UiStrings().File)
self.FileSaveItem = shortcut_action(mainWindow, u'FileSaveItem', self.FileSaveItem = shortcut_action(mainWindow, u'FileSaveItem',
[QtGui.QKeySequence(u'Ctrl+S')], [QtGui.QKeySequence(u'Ctrl+S')],
self.ServiceManagerContents.saveFile, self.ServiceManagerContents.saveFile,
u':/general/general_save.png', category=UiStrings.File) u':/general/general_save.png', category=UiStrings().File)
self.FileSaveAsItem = shortcut_action(mainWindow, u'FileSaveAsItem', self.FileSaveAsItem = shortcut_action(mainWindow, u'FileSaveAsItem',
[QtGui.QKeySequence(u'Ctrl+Shift+S')], [QtGui.QKeySequence(u'Ctrl+Shift+S')],
self.ServiceManagerContents.saveFileAs, category=UiStrings.File) self.ServiceManagerContents.saveFileAs, category=UiStrings().File)
self.printServiceOrderItem = shortcut_action(mainWindow, self.printServiceOrderItem = shortcut_action(mainWindow,
u'printServiceItem', [QtGui.QKeySequence(u'Ctrl+P')], u'printServiceItem', [QtGui.QKeySequence(u'Ctrl+P')],
self.ServiceManagerContents.printServiceOrder, self.ServiceManagerContents.printServiceOrder,
category=UiStrings.File) category=UiStrings().File)
self.FileExitItem = shortcut_action(mainWindow, u'FileExitItem', self.FileExitItem = shortcut_action(mainWindow, u'FileExitItem',
[QtGui.QKeySequence(u'Alt+F4')], mainWindow.close, [QtGui.QKeySequence(u'Alt+F4')], mainWindow.close,
u':/system/system_exit.png', category=UiStrings.File) u':/system/system_exit.png', category=UiStrings().File)
action_list.add_category(UiStrings.Import, CategoryOrder.standardMenu) action_list.add_category(UiStrings().Import, CategoryOrder.standardMenu)
self.ImportThemeItem = base_action( self.ImportThemeItem = base_action(
mainWindow, u'ImportThemeItem', UiStrings.Import) mainWindow, u'ImportThemeItem', UiStrings().Import)
self.ImportLanguageItem = base_action( self.ImportLanguageItem = base_action(
mainWindow, u'ImportLanguageItem')#, UiStrings.Import) mainWindow, u'ImportLanguageItem')#, UiStrings().Import)
action_list.add_category(UiStrings.Export, CategoryOrder.standardMenu) action_list.add_category(UiStrings().Export, CategoryOrder.standardMenu)
self.ExportThemeItem = base_action( self.ExportThemeItem = base_action(
mainWindow, u'ExportThemeItem', UiStrings.Export) mainWindow, u'ExportThemeItem', UiStrings().Export)
self.ExportLanguageItem = base_action( self.ExportLanguageItem = base_action(
mainWindow, u'ExportLanguageItem')#, UiStrings.Export) mainWindow, u'ExportLanguageItem')#, UiStrings().Export)
action_list.add_category(UiStrings.View, CategoryOrder.standardMenu) action_list.add_category(UiStrings().View, CategoryOrder.standardMenu)
self.ViewMediaManagerItem = shortcut_action(mainWindow, self.ViewMediaManagerItem = shortcut_action(mainWindow,
u'ViewMediaManagerItem', [QtGui.QKeySequence(u'F8')], u'ViewMediaManagerItem', [QtGui.QKeySequence(u'F8')],
self.toggleMediaManager, u':/system/system_mediamanager.png', self.toggleMediaManager, u':/system/system_mediamanager.png',
self.mediaManagerDock.isVisible(), UiStrings.View) self.mediaManagerDock.isVisible(), UiStrings().View)
self.ViewThemeManagerItem = shortcut_action(mainWindow, self.ViewThemeManagerItem = shortcut_action(mainWindow,
u'ViewThemeManagerItem', [QtGui.QKeySequence(u'F10')], u'ViewThemeManagerItem', [QtGui.QKeySequence(u'F10')],
self.toggleThemeManager, u':/system/system_thememanager.png', self.toggleThemeManager, u':/system/system_thememanager.png',
self.themeManagerDock.isVisible(), UiStrings.View) self.themeManagerDock.isVisible(), UiStrings().View)
self.ViewServiceManagerItem = shortcut_action(mainWindow, self.ViewServiceManagerItem = shortcut_action(mainWindow,
u'ViewServiceManagerItem', [QtGui.QKeySequence(u'F9')], u'ViewServiceManagerItem', [QtGui.QKeySequence(u'F9')],
self.toggleServiceManager, u':/system/system_servicemanager.png', self.toggleServiceManager, u':/system/system_servicemanager.png',
self.serviceManagerDock.isVisible(), UiStrings.View) self.serviceManagerDock.isVisible(), UiStrings().View)
self.ViewPreviewPanel = shortcut_action(mainWindow, self.ViewPreviewPanel = shortcut_action(mainWindow,
u'ViewPreviewPanel', [QtGui.QKeySequence(u'F11')], u'ViewPreviewPanel', [QtGui.QKeySequence(u'F11')],
self.setPreviewPanelVisibility, checked=previewVisible, self.setPreviewPanelVisibility, checked=previewVisible,
category=UiStrings.View) category=UiStrings().View)
self.ViewLivePanel = shortcut_action(mainWindow, u'ViewLivePanel', self.ViewLivePanel = shortcut_action(mainWindow, u'ViewLivePanel',
[QtGui.QKeySequence(u'F12')], self.setLivePanelVisibility, [QtGui.QKeySequence(u'F12')], self.setLivePanelVisibility,
checked=liveVisible, category=UiStrings.View) checked=liveVisible, category=UiStrings().View)
action_list.add_category(UiStrings.ViewMode, CategoryOrder.standardMenu) action_list.add_category(UiStrings().ViewMode, CategoryOrder.standardMenu)
self.ModeDefaultItem = checkable_action( self.ModeDefaultItem = checkable_action(
mainWindow, u'ModeDefaultItem', category=UiStrings.ViewMode) mainWindow, u'ModeDefaultItem', category=UiStrings().ViewMode)
self.ModeSetupItem = checkable_action( self.ModeSetupItem = checkable_action(
mainWindow, u'ModeLiveItem', category=UiStrings.ViewMode) mainWindow, u'ModeLiveItem', category=UiStrings().ViewMode)
self.ModeLiveItem = checkable_action( self.ModeLiveItem = checkable_action(
mainWindow, u'ModeLiveItem', True, UiStrings.ViewMode) mainWindow, u'ModeLiveItem', True, UiStrings().ViewMode)
self.ModeGroup = QtGui.QActionGroup(mainWindow) self.ModeGroup = QtGui.QActionGroup(mainWindow)
self.ModeGroup.addAction(self.ModeDefaultItem) self.ModeGroup.addAction(self.ModeDefaultItem)
self.ModeGroup.addAction(self.ModeSetupItem) self.ModeGroup.addAction(self.ModeSetupItem)
self.ModeGroup.addAction(self.ModeLiveItem) self.ModeGroup.addAction(self.ModeLiveItem)
self.ModeDefaultItem.setChecked(True) self.ModeDefaultItem.setChecked(True)
action_list.add_category(UiStrings.Tools, CategoryOrder.standardMenu) action_list.add_category(UiStrings().Tools, CategoryOrder.standardMenu)
self.ToolsAddToolItem = icon_action(mainWindow, u'ToolsAddToolItem', self.ToolsAddToolItem = icon_action(mainWindow, u'ToolsAddToolItem',
u':/tools/tools_add.png', category=UiStrings.Tools) u':/tools/tools_add.png', category=UiStrings().Tools)
self.ToolsOpenDataFolder = icon_action(mainWindow, self.ToolsOpenDataFolder = icon_action(mainWindow,
u'ToolsOpenDataFolder', u':/general/general_open.png', u'ToolsOpenDataFolder', u':/general/general_open.png',
category=UiStrings.Tools) category=UiStrings().Tools)
action_list.add_category(UiStrings.Settings, CategoryOrder.standardMenu) action_list.add_category(UiStrings().Settings, CategoryOrder.standardMenu)
self.settingsPluginListItem = shortcut_action(mainWindow, self.settingsPluginListItem = shortcut_action(mainWindow,
u'settingsPluginListItem', [QtGui.QKeySequence(u'Alt+F7')], u'settingsPluginListItem', [QtGui.QKeySequence(u'Alt+F7')],
self.onPluginItemClicked, u':/system/settings_plugin_list.png', self.onPluginItemClicked, u':/system/settings_plugin_list.png',
category=UiStrings.Settings) category=UiStrings().Settings)
# i18n Language Items # i18n Language Items
self.AutoLanguageItem = checkable_action(mainWindow, self.AutoLanguageItem = checkable_action(mainWindow,
u'AutoLanguageItem', LanguageManager.auto_language) u'AutoLanguageItem', LanguageManager.auto_language)
@ -255,25 +255,25 @@ class Ui_MainWindow(object):
self.SettingsShortcutsItem = icon_action(mainWindow, self.SettingsShortcutsItem = icon_action(mainWindow,
u'SettingsShortcutsItem', u'SettingsShortcutsItem',
u':/system/system_configure_shortcuts.png', u':/system/system_configure_shortcuts.png',
category=UiStrings.Settings) category=UiStrings().Settings)
self.DisplayTagItem = icon_action(mainWindow, self.DisplayTagItem = icon_action(mainWindow,
u'DisplayTagItem', u':/system/tag_editor.png', u'DisplayTagItem', u':/system/tag_editor.png',
category=UiStrings.Settings) category=UiStrings().Settings)
self.SettingsConfigureItem = icon_action(mainWindow, self.SettingsConfigureItem = icon_action(mainWindow,
u'SettingsConfigureItem', u':/system/system_settings.png', u'SettingsConfigureItem', u':/system/system_settings.png',
category=UiStrings.Settings) category=UiStrings().Settings)
action_list.add_category(UiStrings.Help, CategoryOrder.standardMenu) action_list.add_category(UiStrings().Help, CategoryOrder.standardMenu)
self.HelpDocumentationItem = icon_action(mainWindow, self.HelpDocumentationItem = icon_action(mainWindow,
u'HelpDocumentationItem', u':/system/system_help_contents.png', u'HelpDocumentationItem', u':/system/system_help_contents.png',
category=None)#UiStrings.Help) category=None)#UiStrings().Help)
self.HelpDocumentationItem.setEnabled(False) self.HelpDocumentationItem.setEnabled(False)
self.HelpAboutItem = shortcut_action(mainWindow, u'HelpAboutItem', self.HelpAboutItem = shortcut_action(mainWindow, u'HelpAboutItem',
[QtGui.QKeySequence(u'Ctrl+F1')], self.onHelpAboutItemClicked, [QtGui.QKeySequence(u'Ctrl+F1')], self.onHelpAboutItemClicked,
u':/system/system_about.png', category=UiStrings.Help) u':/system/system_about.png', category=UiStrings().Help)
self.HelpOnlineHelpItem = base_action( self.HelpOnlineHelpItem = base_action(
mainWindow, u'HelpOnlineHelpItem', category=UiStrings.Help) mainWindow, u'HelpOnlineHelpItem', category=UiStrings().Help)
self.helpWebSiteItem = base_action( self.helpWebSiteItem = base_action(
mainWindow, u'helpWebSiteItem', category=UiStrings.Help) mainWindow, u'helpWebSiteItem', category=UiStrings().Help)
add_actions(self.FileImportMenu, add_actions(self.FileImportMenu,
(self.ImportThemeItem, self.ImportLanguageItem)) (self.ImportThemeItem, self.ImportLanguageItem))
add_actions(self.FileExportMenu, add_actions(self.FileExportMenu,
@ -320,7 +320,7 @@ class Ui_MainWindow(object):
""" """
Set up the translation system Set up the translation system
""" """
mainWindow.mainTitle = UiStrings.OLPV2 mainWindow.mainTitle = UiStrings().OLPV2
mainWindow.setWindowTitle(mainWindow.mainTitle) mainWindow.setWindowTitle(mainWindow.mainTitle)
self.FileMenu.setTitle(translate('OpenLP.MainWindow', '&File')) self.FileMenu.setTitle(translate('OpenLP.MainWindow', '&File'))
self.FileImportMenu.setTitle(translate('OpenLP.MainWindow', '&Import')) self.FileImportMenu.setTitle(translate('OpenLP.MainWindow', '&Import'))
@ -339,14 +339,14 @@ class Ui_MainWindow(object):
self.themeManagerDock.setWindowTitle( self.themeManagerDock.setWindowTitle(
translate('OpenLP.MainWindow', 'Theme Manager')) translate('OpenLP.MainWindow', 'Theme Manager'))
self.FileNewItem.setText(translate('OpenLP.MainWindow', '&New')) self.FileNewItem.setText(translate('OpenLP.MainWindow', '&New'))
self.FileNewItem.setToolTip(UiStrings.NewService) self.FileNewItem.setToolTip(UiStrings().NewService)
self.FileNewItem.setStatusTip(UiStrings.CreateService) self.FileNewItem.setStatusTip(UiStrings().CreateService)
self.FileOpenItem.setText(translate('OpenLP.MainWindow', '&Open')) self.FileOpenItem.setText(translate('OpenLP.MainWindow', '&Open'))
self.FileOpenItem.setToolTip(UiStrings.OpenService) self.FileOpenItem.setToolTip(UiStrings().OpenService)
self.FileOpenItem.setStatusTip( self.FileOpenItem.setStatusTip(
translate('OpenLP.MainWindow', 'Open an existing service.')) translate('OpenLP.MainWindow', 'Open an existing service.'))
self.FileSaveItem.setText(translate('OpenLP.MainWindow', '&Save')) self.FileSaveItem.setText(translate('OpenLP.MainWindow', '&Save'))
self.FileSaveItem.setToolTip(UiStrings.SaveService) self.FileSaveItem.setToolTip(UiStrings().SaveService)
self.FileSaveItem.setStatusTip( self.FileSaveItem.setStatusTip(
translate('OpenLP.MainWindow', 'Save the current service to disk.')) translate('OpenLP.MainWindow', 'Save the current service to disk.'))
self.FileSaveAsItem.setText( self.FileSaveAsItem.setText(
@ -355,7 +355,7 @@ class Ui_MainWindow(object):
translate('OpenLP.MainWindow', 'Save Service As')) translate('OpenLP.MainWindow', 'Save Service As'))
self.FileSaveAsItem.setStatusTip(translate('OpenLP.MainWindow', self.FileSaveAsItem.setStatusTip(translate('OpenLP.MainWindow',
'Save the current service under a new name.')) 'Save the current service under a new name.'))
self.printServiceOrderItem.setText(UiStrings.PrintServiceOrder) self.printServiceOrderItem.setText(UiStrings().PrintServiceOrder)
self.printServiceOrderItem.setStatusTip(translate('OpenLP.MainWindow', self.printServiceOrderItem.setStatusTip(translate('OpenLP.MainWindow',
'Print the current Service Order.')) 'Print the current Service Order.'))
self.FileExitItem.setText( self.FileExitItem.setText(
@ -896,7 +896,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
def toggleThemeManager(self): def toggleThemeManager(self):
self.themeManagerDock.setVisible(not self.themeManagerDock.isVisible()) self.themeManagerDock.setVisible(not self.themeManagerDock.isVisible())
def setPreviewPanelVisibility(self, visible=None): def setPreviewPanelVisibility(self, visible):
""" """
Sets the visibility of the preview panel including saving the setting Sets the visibility of the preview panel including saving the setting
and updating the menu. and updating the menu.
@ -906,14 +906,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
True - Visible True - Visible
False - Hidden False - Hidden
""" """
if visible is None:
visible = self.ViewPreviewPanel.isVisible()
self.previewController.panel.setVisible(visible) self.previewController.panel.setVisible(visible)
QtCore.QSettings().setValue(u'user interface/preview panel', QtCore.QSettings().setValue(u'user interface/preview panel',
QtCore.QVariant(visible)) QtCore.QVariant(visible))
self.ViewPreviewPanel.setChecked(visible) self.ViewPreviewPanel.setChecked(visible)
def setLivePanelVisibility(self, visible=None): def setLivePanelVisibility(self, visible):
""" """
Sets the visibility of the live panel including saving the setting and Sets the visibility of the live panel including saving the setting and
updating the menu. updating the menu.
@ -923,8 +921,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
True - Visible True - Visible
False - Hidden False - Hidden
""" """
if visible is None:
visible = self.ViewLivePanel.isVisible()
self.liveController.panel.setVisible(visible) self.liveController.panel.setVisible(visible)
QtCore.QSettings().setValue(u'user interface/live panel', QtCore.QSettings().setValue(u'user interface/live panel',
QtCore.QVariant(visible)) QtCore.QVariant(visible))

View File

@ -78,8 +78,8 @@ class Ui_PluginViewDialog(object):
translate('OpenLP.PluginForm', 'Plugin List')) translate('OpenLP.PluginForm', 'Plugin List'))
self.pluginInfoGroupBox.setTitle( self.pluginInfoGroupBox.setTitle(
translate('OpenLP.PluginForm', 'Plugin Details')) translate('OpenLP.PluginForm', 'Plugin Details'))
self.versionLabel.setText(u'%s:' % UiStrings.Version) self.versionLabel.setText(u'%s:' % UiStrings().Version)
self.aboutLabel.setText(u'%s:' % UiStrings.About) self.aboutLabel.setText(u'%s:' % UiStrings().About)
self.statusLabel.setText( self.statusLabel.setText(
translate('OpenLP.PluginForm', 'Status:')) translate('OpenLP.PluginForm', 'Status:'))
self.statusComboBox.setItemText(0, self.statusComboBox.setItemText(0,

View File

@ -148,7 +148,7 @@ class Ui_PrintServiceDialog(object):
QtCore.SIGNAL(u'toggled(bool)'), self.toggleOptions) QtCore.SIGNAL(u'toggled(bool)'), self.toggleOptions)
def retranslateUi(self, printServiceDialog): def retranslateUi(self, printServiceDialog):
printServiceDialog.setWindowTitle(UiStrings.PrintServiceOrder) printServiceDialog.setWindowTitle(UiStrings().PrintServiceOrder)
self.slideTextCheckBox.setText(translate('OpenLP.PrintServiceForm', self.slideTextCheckBox.setText(translate('OpenLP.PrintServiceForm',
'Include slide text if available')) 'Include slide text if available'))
self.pageBreakAfterText.setText(translate('OpenLP.PrintServiceForm', self.pageBreakAfterText.setText(translate('OpenLP.PrintServiceForm',

View File

@ -354,9 +354,9 @@ class PrintServiceForm(QtGui.QDialog, Ui_PrintServiceDialog):
Called when html copy check box is selected. Called when html copy check box is selected.
""" """
if value == QtCore.Qt.Checked: if value == QtCore.Qt.Checked:
self.copyTextButton.setText(UiStrings.CopyToHtml) self.copyTextButton.setText(UiStrings().CopyToHtml)
else: else:
self.copyTextButton.setText(UiStrings.CopyToText) self.copyTextButton.setText(UiStrings().CopyToText)
def onSlideTextCheckBoxChanged(self, state): def onSlideTextCheckBoxChanged(self, state):
""" """

View File

@ -111,18 +111,18 @@ class ServiceManager(QtGui.QWidget):
# Create the top toolbar # Create the top toolbar
self.toolbar = OpenLPToolbar(self) self.toolbar = OpenLPToolbar(self)
self.toolbar.addToolbarButton( self.toolbar.addToolbarButton(
UiStrings.NewService, u':/general/general_new.png', UiStrings().NewService, u':/general/general_new.png',
UiStrings.CreateService, self.onNewServiceClicked) UiStrings().CreateService, self.onNewServiceClicked)
self.toolbar.addToolbarButton( self.toolbar.addToolbarButton(
UiStrings.OpenService, u':/general/general_open.png', UiStrings().OpenService, u':/general/general_open.png',
translate('OpenLP.ServiceManager', 'Load an existing service'), translate('OpenLP.ServiceManager', 'Load an existing service'),
self.onLoadServiceClicked) self.onLoadServiceClicked)
self.toolbar.addToolbarButton( self.toolbar.addToolbarButton(
UiStrings.SaveService, u':/general/general_save.png', UiStrings().SaveService, u':/general/general_save.png',
translate('OpenLP.ServiceManager', 'Save this service'), translate('OpenLP.ServiceManager', 'Save this service'),
self.saveFile) self.saveFile)
self.toolbar.addSeparator() self.toolbar.addSeparator()
self.themeLabel = QtGui.QLabel(u'%s:' % UiStrings.Theme, self) self.themeLabel = QtGui.QLabel(u'%s:' % UiStrings().Theme, self)
self.themeLabel.setMargin(3) self.themeLabel.setMargin(3)
self.themeLabel.setObjectName(u'themeLabel') self.themeLabel.setObjectName(u'themeLabel')
self.toolbar.addToolbarWidget(u'ThemeLabel', self.themeLabel) self.toolbar.addToolbarWidget(u'ThemeLabel', self.themeLabel)
@ -169,9 +169,10 @@ class ServiceManager(QtGui.QWidget):
self.onServiceTop, shortcuts=[QtCore.Qt.Key_Home]) self.onServiceTop, shortcuts=[QtCore.Qt.Key_Home])
self.serviceManagerList.moveTop.setObjectName(u'moveTop') self.serviceManagerList.moveTop.setObjectName(u'moveTop')
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.add_category(UiStrings.Service, CategoryOrder.standardToolbar) action_list.add_category(
UiStrings().Service, CategoryOrder.standardToolbar)
action_list.add_action( action_list.add_action(
self.serviceManagerList.moveTop, UiStrings.Service) self.serviceManagerList.moveTop, UiStrings().Service)
self.serviceManagerList.moveUp = self.orderToolbar.addToolbarButton( self.serviceManagerList.moveUp = self.orderToolbar.addToolbarButton(
translate('OpenLP.ServiceManager', 'Move &up'), translate('OpenLP.ServiceManager', 'Move &up'),
u':/services/service_up.png', u':/services/service_up.png',
@ -179,7 +180,8 @@ class ServiceManager(QtGui.QWidget):
'Move item up one position in the service.'), 'Move item up one position in the service.'),
self.onServiceUp, shortcuts=[QtCore.Qt.Key_PageUp]) self.onServiceUp, shortcuts=[QtCore.Qt.Key_PageUp])
self.serviceManagerList.moveUp.setObjectName(u'moveUp') self.serviceManagerList.moveUp.setObjectName(u'moveUp')
action_list.add_action(self.serviceManagerList.moveUp, UiStrings.Service) action_list.add_action(
self.serviceManagerList.moveUp, UiStrings().Service)
self.serviceManagerList.moveDown = self.orderToolbar.addToolbarButton( self.serviceManagerList.moveDown = self.orderToolbar.addToolbarButton(
translate('OpenLP.ServiceManager', 'Move &down'), translate('OpenLP.ServiceManager', 'Move &down'),
u':/services/service_down.png', u':/services/service_down.png',
@ -188,7 +190,7 @@ class ServiceManager(QtGui.QWidget):
self.onServiceDown, shortcuts=[QtCore.Qt.Key_PageDown]) self.onServiceDown, shortcuts=[QtCore.Qt.Key_PageDown])
self.serviceManagerList.moveDown.setObjectName(u'moveDown') self.serviceManagerList.moveDown.setObjectName(u'moveDown')
action_list.add_action( action_list.add_action(
self.serviceManagerList.moveDown, UiStrings.Service) self.serviceManagerList.moveDown, UiStrings().Service)
self.serviceManagerList.moveBottom = self.orderToolbar.addToolbarButton( self.serviceManagerList.moveBottom = self.orderToolbar.addToolbarButton(
translate('OpenLP.ServiceManager', 'Move to &bottom'), translate('OpenLP.ServiceManager', 'Move to &bottom'),
u':/services/service_bottom.png', u':/services/service_bottom.png',
@ -197,7 +199,7 @@ class ServiceManager(QtGui.QWidget):
self.onServiceEnd, shortcuts=[QtCore.Qt.Key_End]) self.onServiceEnd, shortcuts=[QtCore.Qt.Key_End])
self.serviceManagerList.moveBottom.setObjectName(u'moveBottom') self.serviceManagerList.moveBottom.setObjectName(u'moveBottom')
action_list.add_action( action_list.add_action(
self.serviceManagerList.moveBottom, UiStrings.Service) self.serviceManagerList.moveBottom, UiStrings().Service)
self.serviceManagerList.down = self.orderToolbar.addToolbarButton( self.serviceManagerList.down = self.orderToolbar.addToolbarButton(
translate('OpenLP.ServiceManager', 'Move &down'), translate('OpenLP.ServiceManager', 'Move &down'),
None, None,
@ -231,7 +233,8 @@ class ServiceManager(QtGui.QWidget):
'Expand all the service items.'), 'Expand all the service items.'),
self.onExpandAll, shortcuts=[QtCore.Qt.Key_Plus]) self.onExpandAll, shortcuts=[QtCore.Qt.Key_Plus])
self.serviceManagerList.expand.setObjectName(u'expand') self.serviceManagerList.expand.setObjectName(u'expand')
action_list.add_action(self.serviceManagerList.expand, UiStrings.Service) action_list.add_action(
self.serviceManagerList.expand, UiStrings().Service)
self.serviceManagerList.collapse = self.orderToolbar.addToolbarButton( self.serviceManagerList.collapse = self.orderToolbar.addToolbarButton(
translate('OpenLP.ServiceManager', '&Collapse all'), translate('OpenLP.ServiceManager', '&Collapse all'),
u':/services/service_collapse_all.png', u':/services/service_collapse_all.png',
@ -240,7 +243,7 @@ class ServiceManager(QtGui.QWidget):
self.onCollapseAll, shortcuts=[QtCore.Qt.Key_Minus]) self.onCollapseAll, shortcuts=[QtCore.Qt.Key_Minus])
self.serviceManagerList.collapse.setObjectName(u'collapse') self.serviceManagerList.collapse.setObjectName(u'collapse')
action_list.add_action( action_list.add_action(
self.serviceManagerList.collapse, UiStrings.Service) self.serviceManagerList.collapse, UiStrings().Service)
self.orderToolbar.addSeparator() self.orderToolbar.addSeparator()
self.serviceManagerList.makeLive = self.orderToolbar.addToolbarButton( self.serviceManagerList.makeLive = self.orderToolbar.addToolbarButton(
translate('OpenLP.ServiceManager', 'Go Live'), translate('OpenLP.ServiceManager', 'Go Live'),
@ -250,7 +253,7 @@ class ServiceManager(QtGui.QWidget):
shortcuts=[QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return]) shortcuts=[QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return])
self.serviceManagerList.makeLive.setObjectName(u'orderToolbar') self.serviceManagerList.makeLive.setObjectName(u'orderToolbar')
action_list.add_action( action_list.add_action(
self.serviceManagerList.makeLive, UiStrings.Service) self.serviceManagerList.makeLive, UiStrings().Service)
self.layout.addWidget(self.orderToolbar) self.layout.addWidget(self.orderToolbar)
# Connect up our signals and slots # Connect up our signals and slots
QtCore.QObject.connect(self.themeComboBox, QtCore.QObject.connect(self.themeComboBox,
@ -344,7 +347,8 @@ class ServiceManager(QtGui.QWidget):
has been modified. has been modified.
""" """
self._modified = modified self._modified = modified
serviceFile = self.shortFileName() or u'Untitled Service' serviceFile = self.shortFileName() or translate(
'OpenLP.ServiceManager', 'Untitled Service')
self.mainwindow.setServiceModified(modified, serviceFile) self.mainwindow.setServiceModified(modified, serviceFile)
def isModified(self): def isModified(self):
@ -525,7 +529,7 @@ class ServiceManager(QtGui.QWidget):
save the file. save the file.
""" """
fileName = unicode(QtGui.QFileDialog.getSaveFileName(self.mainwindow, fileName = unicode(QtGui.QFileDialog.getSaveFileName(self.mainwindow,
UiStrings.SaveService, UiStrings().SaveService,
SettingsManager.get_last_dir( SettingsManager.get_last_dir(
self.mainwindow.serviceSettingsSection), self.mainwindow.serviceSettingsSection),
translate('OpenLP.ServiceManager', 'OpenLP Service Files (*.osz)'))) translate('OpenLP.ServiceManager', 'OpenLP Service Files (*.osz)')))

View File

@ -37,7 +37,7 @@ class Ui_SettingsDialog(object):
build_icon(u':/system/system_settings.png')) build_icon(u':/system/system_settings.png'))
self.dialogLayout = QtGui.QGridLayout(settingsDialog) self.dialogLayout = QtGui.QGridLayout(settingsDialog)
self.dialogLayout.setObjectName(u'dialogLayout') self.dialogLayout.setObjectName(u'dialogLayout')
self.dialogLayout.setMargin(0) self.dialogLayout.setMargin(8)
self.settingListWidget = QtGui.QListWidget(settingsDialog) self.settingListWidget = QtGui.QListWidget(settingsDialog)
self.settingListWidget.setUniformItemSizes(True) self.settingListWidget.setUniformItemSizes(True)
self.settingListWidget.setMinimumSize(QtCore.QSize(150, 0)) self.settingListWidget.setMinimumSize(QtCore.QSize(150, 0))

View File

@ -75,6 +75,7 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
Add a tab to the form at a specific location Add a tab to the form at a specific location
""" """
log.debug(u'Inserting %s tab' % tab.tabTitle) log.debug(u'Inserting %s tab' % tab.tabTitle)
# add the tab to get it to display in the correct part of the screen
pos = self.stackedLayout.addWidget(tab) pos = self.stackedLayout.addWidget(tab)
if is_active: if is_active:
item_name = QtGui.QListWidgetItem(tab.tabTitleVisible) item_name = QtGui.QListWidgetItem(tab.tabTitleVisible)
@ -82,7 +83,9 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
item_name.setIcon(icon) item_name.setIcon(icon)
self.settingListWidget.insertItem(location, item_name) self.settingListWidget.insertItem(location, item_name)
else: else:
self.stackedLayout.takeAt(location) # then remove tab to stop the UI displaying it even if
# it is not required.
self.stackedLayout.takeAt(pos)
def accept(self): def accept(self):
""" """

View File

@ -88,11 +88,11 @@ class SlideController(QtGui.QWidget):
# Type label for the top of the slide controller # Type label for the top of the slide controller
self.typeLabel = QtGui.QLabel(self.panel) self.typeLabel = QtGui.QLabel(self.panel)
if self.isLive: if self.isLive:
self.typeLabel.setText(UiStrings.Live) self.typeLabel.setText(UiStrings().Live)
self.split = 1 self.split = 1
self.typePrefix = u'live' self.typePrefix = u'live'
else: else:
self.typeLabel.setText(UiStrings.Preview) self.typeLabel.setText(UiStrings().Preview)
self.split = 0 self.split = 0
self.typePrefix = u'preview' self.typePrefix = u'preview'
self.typeLabel.setStyleSheet(u'font-weight: bold; font-size: 12pt;') self.typeLabel.setStyleSheet(u'font-weight: bold; font-size: 12pt;')
@ -161,18 +161,18 @@ class SlideController(QtGui.QWidget):
translate('OpenLP.SlideController', 'Hide'), self.toolbar)) translate('OpenLP.SlideController', 'Hide'), self.toolbar))
self.blankScreen = shortcut_action(self.hideMenu, u'blankScreen', self.blankScreen = shortcut_action(self.hideMenu, u'blankScreen',
[QtCore.Qt.Key_Period], self.onBlankDisplay, [QtCore.Qt.Key_Period], self.onBlankDisplay,
u':/slides/slide_blank.png', False, UiStrings.LiveToolbar) u':/slides/slide_blank.png', False, UiStrings().LiveToolbar)
self.blankScreen.setText( self.blankScreen.setText(
translate('OpenLP.SlideController', 'Blank Screen')) translate('OpenLP.SlideController', 'Blank Screen'))
self.themeScreen = shortcut_action(self.hideMenu, u'themeScreen', self.themeScreen = shortcut_action(self.hideMenu, u'themeScreen',
[QtGui.QKeySequence(u'T')], self.onThemeDisplay, [QtGui.QKeySequence(u'T')], self.onThemeDisplay,
u':/slides/slide_theme.png', False, UiStrings.LiveToolbar) u':/slides/slide_theme.png', False, UiStrings().LiveToolbar)
self.themeScreen.setText( self.themeScreen.setText(
translate('OpenLP.SlideController', 'Blank to Theme')) translate('OpenLP.SlideController', 'Blank to Theme'))
self.desktopScreen = shortcut_action(self.hideMenu, self.desktopScreen = shortcut_action(self.hideMenu,
u'desktopScreen', [QtGui.QKeySequence(u'D')], u'desktopScreen', [QtGui.QKeySequence(u'D')],
self.onHideDisplay, u':/slides/slide_desktop.png', False, self.onHideDisplay, u':/slides/slide_desktop.png', False,
UiStrings.LiveToolbar) UiStrings().LiveToolbar)
self.desktopScreen.setText( self.desktopScreen.setText(
translate('OpenLP.SlideController', 'Show Desktop')) translate('OpenLP.SlideController', 'Show Desktop'))
self.hideMenu.setDefaultAction(self.blankScreen) self.hideMenu.setDefaultAction(self.blankScreen)
@ -194,7 +194,7 @@ class SlideController(QtGui.QWidget):
self.delaySpinBox.setMinimum(1) self.delaySpinBox.setMinimum(1)
self.delaySpinBox.setMaximum(180) self.delaySpinBox.setMaximum(180)
self.toolbar.addToolbarWidget(u'Image SpinBox', self.delaySpinBox) self.toolbar.addToolbarWidget(u'Image SpinBox', self.delaySpinBox)
self.delaySpinBox.setSuffix(UiStrings.Seconds) self.delaySpinBox.setSuffix(UiStrings().Seconds)
self.delaySpinBox.setToolTip(translate('OpenLP.SlideController', self.delaySpinBox.setToolTip(translate('OpenLP.SlideController',
'Delay between slides in seconds')) 'Delay between slides in seconds'))
else: else:
@ -376,21 +376,21 @@ class SlideController(QtGui.QWidget):
self.nextItem.setObjectName(u'nextItemLive') self.nextItem.setObjectName(u'nextItemLive')
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.add_category( action_list.add_category(
UiStrings.LiveToolbar, CategoryOrder.standardToolbar) UiStrings().LiveToolbar, CategoryOrder.standardToolbar)
action_list.add_action(self.previousItem) action_list.add_action(self.previousItem)
action_list.add_action(self.nextItem) action_list.add_action(self.nextItem)
self.previousService = shortcut_action(parent, u'previousService', self.previousService = shortcut_action(parent, u'previousService',
[QtCore.Qt.Key_Left], self.servicePrevious, UiStrings.LiveToolbar) [QtCore.Qt.Key_Left], self.servicePrevious, UiStrings().LiveToolbar)
self.previousService.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) self.previousService.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut)
self.previousService.setText( self.previousService.setText(
translate('OpenLP.SlideController', 'Previous Service')) translate('OpenLP.SlideController', 'Previous Service'))
self.nextService = shortcut_action(parent, 'nextService', self.nextService = shortcut_action(parent, 'nextService',
[QtCore.Qt.Key_Right], self.serviceNext, UiStrings.LiveToolbar) [QtCore.Qt.Key_Right], self.serviceNext, UiStrings().LiveToolbar)
self.nextService.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) self.nextService.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut)
self.nextService.setText( self.nextService.setText(
translate('OpenLP.SlideController', 'Next Service')) translate('OpenLP.SlideController', 'Next Service'))
self.escapeItem = shortcut_action(parent, 'escapeItem', self.escapeItem = shortcut_action(parent, 'escapeItem',
[QtCore.Qt.Key_Escape], self.liveEscape, UiStrings.LiveToolbar) [QtCore.Qt.Key_Escape], self.liveEscape, UiStrings().LiveToolbar)
self.escapeItem.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut) self.escapeItem.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut)
self.escapeItem.setText( self.escapeItem.setText(
translate('OpenLP.SlideController', 'Escape Item')) translate('OpenLP.SlideController', 'Escape Item'))

View File

@ -107,12 +107,12 @@ class Ui_StartTimeDialog(object):
def retranslateUi(self, StartTimeDialog): def retranslateUi(self, StartTimeDialog):
self.setWindowTitle(translate('OpenLP.StartTimeForm', self.setWindowTitle(translate('OpenLP.StartTimeForm',
'Item Start and Finish Time')) 'Item Start and Finish Time'))
self.hourSpinBox.setSuffix(UiStrings.Hours) self.hourSpinBox.setSuffix(UiStrings().Hours)
self.minuteSpinBox.setSuffix(UiStrings.Minutes) self.minuteSpinBox.setSuffix(UiStrings().Minutes)
self.secondSpinBox.setSuffix(UiStrings.Seconds) self.secondSpinBox.setSuffix(UiStrings().Seconds)
self.hourFinishSpinBox.setSuffix(UiStrings.Hours) self.hourFinishSpinBox.setSuffix(UiStrings().Hours)
self.minuteFinishSpinBox.setSuffix(UiStrings.Minutes) self.minuteFinishSpinBox.setSuffix(UiStrings().Minutes)
self.secondFinishSpinBox.setSuffix(UiStrings.Seconds) self.secondFinishSpinBox.setSuffix(UiStrings().Seconds)
self.hourLabel.setText(translate('OpenLP.StartTimeForm', 'Hours:')) self.hourLabel.setText(translate('OpenLP.StartTimeForm', 'Hours:'))
self.minuteLabel.setText(translate('OpenLP.StartTimeForm', 'Minutes:')) self.minuteLabel.setText(translate('OpenLP.StartTimeForm', 'Minutes:'))
self.secondLabel.setText(translate('OpenLP.StartTimeForm', 'Seconds:')) self.secondLabel.setText(translate('OpenLP.StartTimeForm', 'Seconds:'))

View File

@ -53,11 +53,12 @@ class StartTimeForm(QtGui.QDialog, Ui_StartTimeDialog):
self.hourFinishSpinBox.setValue(hours) self.hourFinishSpinBox.setValue(hours)
self.minuteFinishSpinBox.setValue(minutes) self.minuteFinishSpinBox.setValue(minutes)
self.secondFinishSpinBox.setValue(seconds) self.secondFinishSpinBox.setValue(seconds)
self.hourFinishLabel.setText(u'%s%s' % (unicode(hour), UiStrings.Hours)) self.hourFinishLabel.setText(u'%s%s' % (unicode(hour),
UiStrings().Hours))
self.minuteFinishLabel.setText(u'%s%s' % self.minuteFinishLabel.setText(u'%s%s' %
(unicode(minutes), UiStrings.Minutes)) (unicode(minutes), UiStrings().Minutes))
self.secondFinishLabel.setText(u'%s%s' % self.secondFinishLabel.setText(u'%s%s' %
(unicode(seconds), UiStrings.Seconds)) (unicode(seconds), UiStrings().Seconds))
return QtGui.QDialog.exec_(self) return QtGui.QDialog.exec_(self)
def accept(self): def accept(self):

View File

@ -290,7 +290,7 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
'Edit Theme - %s')) % self.theme.theme_name) 'Edit Theme - %s')) % self.theme.theme_name)
self.next() self.next()
else: else:
self.setWindowTitle(UiStrings.NewTheme) self.setWindowTitle(UiStrings().NewTheme)
return QtGui.QWizard.exec_(self) return QtGui.QWizard.exec_(self)
def initializePage(self, id): def initializePage(self, id):
@ -473,7 +473,7 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard):
""" """
images_filter = get_images_filter() images_filter = get_images_filter()
images_filter = u'%s;;%s (*.*) (*)' % ( images_filter = u'%s;;%s (*.*) (*)' % (
images_filter, UiStrings.AllFiles) images_filter, UiStrings().AllFiles)
filename = QtGui.QFileDialog.getOpenFileName(self, filename = QtGui.QFileDialog.getOpenFileName(self,
translate('OpenLP.ThemeForm', 'Select Image'), u'', translate('OpenLP.ThemeForm', 'Select Image'), u'',
images_filter) images_filter)

View File

@ -63,7 +63,7 @@ class ThemeManager(QtGui.QWidget):
self.layout.setMargin(0) self.layout.setMargin(0)
self.layout.setObjectName(u'layout') self.layout.setObjectName(u'layout')
self.toolbar = OpenLPToolbar(self) self.toolbar = OpenLPToolbar(self)
self.toolbar.addToolbarButton(UiStrings.NewTheme, self.toolbar.addToolbarButton(UiStrings().NewTheme,
u':/themes/theme_new.png', u':/themes/theme_new.png',
translate('OpenLP.ThemeManager', 'Create a new theme.'), translate('OpenLP.ThemeManager', 'Create a new theme.'),
self.onAddTheme) self.onAddTheme)
@ -280,6 +280,8 @@ class ThemeManager(QtGui.QWidget):
self.fileRenameForm.fileNameEdit.setText(oldThemeName) self.fileRenameForm.fileNameEdit.setText(oldThemeName)
if self.fileRenameForm.exec_(): if self.fileRenameForm.exec_():
newThemeName = unicode(self.fileRenameForm.fileNameEdit.text()) newThemeName = unicode(self.fileRenameForm.fileNameEdit.text())
if oldThemeName == newThemeName:
return
if self.checkIfThemeExists(newThemeName): if self.checkIfThemeExists(newThemeName):
oldThemeData = self.getThemeData(oldThemeName) oldThemeData = self.getThemeData(oldThemeName)
self.cloneThemeData(oldThemeData, newThemeName) self.cloneThemeData(oldThemeData, newThemeName)
@ -333,6 +335,7 @@ class ThemeManager(QtGui.QWidget):
self.oldBackgroundImage = theme.background_filename self.oldBackgroundImage = theme.background_filename
self.themeForm.theme = theme self.themeForm.theme = theme
self.themeForm.exec_(True) self.themeForm.exec_(True)
self.oldBackgroundImage = None
def onDeleteTheme(self): def onDeleteTheme(self):
""" """
@ -449,7 +452,7 @@ class ThemeManager(QtGui.QWidget):
# No themes have been found so create one # No themes have been found so create one
if len(files) == 0: if len(files) == 0:
theme = ThemeXML() theme = ThemeXML()
theme.theme_name = UiStrings.Default theme.theme_name = UiStrings().Default
self._writeTheme(theme, None, None) self._writeTheme(theme, None, None)
QtCore.QSettings().setValue( QtCore.QSettings().setValue(
self.settingsSection + u'/global theme', self.settingsSection + u'/global theme',

View File

@ -102,7 +102,7 @@ class ThemesTab(SettingsTab):
QtCore.SIGNAL(u'theme_update_list'), self.updateThemeList) QtCore.SIGNAL(u'theme_update_list'), self.updateThemeList)
def retranslateUi(self): def retranslateUi(self):
self.tabTitleVisible = UiStrings.Themes self.tabTitleVisible = UiStrings().Themes
self.GlobalGroupBox.setTitle( self.GlobalGroupBox.setTitle(
translate('OpenLP.ThemesTab', 'Global Theme')) translate('OpenLP.ThemesTab', 'Global Theme'))
self.LevelGroupBox.setTitle( self.LevelGroupBox.setTitle(

View File

@ -424,7 +424,7 @@ class Ui_ThemeWizard(object):
self.backgroundComboBox.setItemText(BackgroundType.Gradient, self.backgroundComboBox.setItemText(BackgroundType.Gradient,
translate('OpenLP.ThemeWizard', 'Gradient')) translate('OpenLP.ThemeWizard', 'Gradient'))
self.backgroundComboBox.setItemText( self.backgroundComboBox.setItemText(
BackgroundType.Image, UiStrings.Image) BackgroundType.Image, UiStrings().Image)
self.colorLabel.setText(translate('OpenLP.ThemeWizard', 'Color:')) self.colorLabel.setText(translate('OpenLP.ThemeWizard', 'Color:'))
self.gradientStartLabel.setText( self.gradientStartLabel.setText(
translate(u'OpenLP.ThemeWizard', 'Starting color:')) translate(u'OpenLP.ThemeWizard', 'Starting color:'))
@ -442,7 +442,7 @@ class Ui_ThemeWizard(object):
translate('OpenLP.ThemeWizard', 'Top Left - Bottom Right')) translate('OpenLP.ThemeWizard', 'Top Left - Bottom Right'))
self.gradientComboBox.setItemText(BackgroundGradientType.LeftBottom, self.gradientComboBox.setItemText(BackgroundGradientType.LeftBottom,
translate('OpenLP.ThemeWizard', 'Bottom Left - Top Right')) translate('OpenLP.ThemeWizard', 'Bottom Left - Top Right'))
self.imageLabel.setText(u'%s:' % UiStrings.Image) self.imageLabel.setText(u'%s:' % UiStrings().Image)
self.mainAreaPage.setTitle( self.mainAreaPage.setTitle(
translate('OpenLP.ThemeWizard', 'Main Area Font Details')) translate('OpenLP.ThemeWizard', 'Main Area Font Details'))
self.mainAreaPage.setSubTitle( self.mainAreaPage.setSubTitle(
@ -451,17 +451,17 @@ class Ui_ThemeWizard(object):
self.mainFontLabel.setText(translate('OpenLP.ThemeWizard', 'Font:')) self.mainFontLabel.setText(translate('OpenLP.ThemeWizard', 'Font:'))
self.mainColorLabel.setText(translate('OpenLP.ThemeWizard', 'Color:')) self.mainColorLabel.setText(translate('OpenLP.ThemeWizard', 'Color:'))
self.mainSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:')) self.mainSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.mainSizeSpinBox.setSuffix(UiStrings.FontSizePtUnit) self.mainSizeSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.lineSpacingLabel.setText( self.lineSpacingLabel.setText(
translate('OpenLP.ThemeWizard', 'Line Spacing:')) translate('OpenLP.ThemeWizard', 'Line Spacing:'))
self.lineSpacingSpinBox.setSuffix(UiStrings.FontSizePtUnit) self.lineSpacingSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.outlineCheckBox.setText( self.outlineCheckBox.setText(
translate('OpenLP.ThemeWizard', '&Outline:')) translate('OpenLP.ThemeWizard', '&Outline:'))
self.outlineSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:')) self.outlineSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.outlineSizeSpinBox.setSuffix(UiStrings.FontSizePtUnit) self.outlineSizeSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.shadowCheckBox.setText(translate('OpenLP.ThemeWizard', '&Shadow:')) self.shadowCheckBox.setText(translate('OpenLP.ThemeWizard', '&Shadow:'))
self.shadowSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:')) self.shadowSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.shadowSizeSpinBox.setSuffix(UiStrings.FontSizePtUnit) self.shadowSizeSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.mainBoldCheckBox.setText(translate('OpenLP.ThemeWizard', 'Bold')) self.mainBoldCheckBox.setText(translate('OpenLP.ThemeWizard', 'Bold'))
self.mainItalicsCheckBox.setText( self.mainItalicsCheckBox.setText(
translate('OpenLP.ThemeWizard', 'Italic')) translate('OpenLP.ThemeWizard', 'Italic'))
@ -473,7 +473,7 @@ class Ui_ThemeWizard(object):
self.footerFontLabel.setText(translate('OpenLP.ThemeWizard', 'Font:')) self.footerFontLabel.setText(translate('OpenLP.ThemeWizard', 'Font:'))
self.footerColorLabel.setText(translate('OpenLP.ThemeWizard', 'Color:')) self.footerColorLabel.setText(translate('OpenLP.ThemeWizard', 'Color:'))
self.footerSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:')) self.footerSizeLabel.setText(translate('OpenLP.ThemeWizard', 'Size:'))
self.footerSizeSpinBox.setSuffix(UiStrings.FontSizePtUnit) self.footerSizeSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.alignmentPage.setTitle( self.alignmentPage.setTitle(
translate('OpenLP.ThemeWizard', 'Text Formatting Details')) translate('OpenLP.ThemeWizard', 'Text Formatting Details'))
self.alignmentPage.setSubTitle( self.alignmentPage.setSubTitle(

View File

@ -212,7 +212,7 @@ class OpenLPWizard(QtGui.QWizard):
""" """
if filters: if filters:
filters += u';;' filters += u';;'
filters += u'%s (*)' % UiStrings.AllFiles filters += u'%s (*)' % UiStrings().AllFiles
filename = QtGui.QFileDialog.getOpenFileName(self, title, filename = QtGui.QFileDialog.getOpenFileName(self, title,
os.path.dirname(SettingsManager.get_last_dir( os.path.dirname(SettingsManager.get_last_dir(
self.plugin.settingsSection, 1)), filters) self.plugin.settingsSection, 1)), filters)

View File

@ -77,7 +77,7 @@ class AlertsPlugin(Plugin):
Plugin.initialise(self) Plugin.initialise(self)
self.toolsAlertItem.setVisible(True) self.toolsAlertItem.setVisible(True)
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.add_action(self.toolsAlertItem, UiStrings.Tools) action_list.add_action(self.toolsAlertItem, UiStrings().Tools)
self.liveController.alertTab = self.settings_tab self.liveController.alertTab = self.settings_tab
def finalise(self): def finalise(self):

View File

@ -61,6 +61,12 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
QtCore.QObject.connect(self.alertListWidget, QtCore.QObject.connect(self.alertListWidget,
QtCore.SIGNAL(u'currentRowChanged(int)'), self.onCurrentRowChanged) QtCore.SIGNAL(u'currentRowChanged(int)'), self.onCurrentRowChanged)
def exec_(self):
self.displayButton.setEnabled(False)
self.displayCloseButton.setEnabled(False)
self.alertTextEdit.setText(u'')
return QtGui.QDialog.exec_(self)
def loadList(self): def loadList(self):
""" """
Loads the list with alerts. Loads the list with alerts.
@ -125,6 +131,12 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
# Only enable the button, if we are editing an item. # Only enable the button, if we are editing an item.
if self.item_id: if self.item_id:
self.saveButton.setEnabled(True) self.saveButton.setEnabled(True)
if self.alertTextEdit.text():
self.displayButton.setEnabled(True)
self.displayCloseButton.setEnabled(True)
else:
self.displayButton.setEnabled(False)
self.displayCloseButton.setEnabled(False)
def onDoubleClick(self): def onDoubleClick(self):
""" """

View File

@ -109,12 +109,12 @@ class AlertsTab(SettingsTab):
translate('AlertsPlugin.AlertsTab', 'Background color:')) translate('AlertsPlugin.AlertsTab', 'Background color:'))
self.FontSizeLabel.setText( self.FontSizeLabel.setText(
translate('AlertsPlugin.AlertsTab', 'Font size:')) translate('AlertsPlugin.AlertsTab', 'Font size:'))
self.FontSizeSpinBox.setSuffix(UiStrings.FontSizePtUnit) self.FontSizeSpinBox.setSuffix(UiStrings().FontSizePtUnit)
self.TimeoutLabel.setText( self.TimeoutLabel.setText(
translate('AlertsPlugin.AlertsTab', 'Alert timeout:')) translate('AlertsPlugin.AlertsTab', 'Alert timeout:'))
self.TimeoutSpinBox.setSuffix(UiStrings.Seconds) self.TimeoutSpinBox.setSuffix(UiStrings().Seconds)
self.PreviewGroupBox.setTitle(UiStrings.Preview) self.PreviewGroupBox.setTitle(UiStrings().Preview)
self.FontPreview.setText(UiStrings.OLPV2) self.FontPreview.setText(UiStrings().OLPV2)
def onBackgroundColorButtonClicked(self): def onBackgroundColorButtonClicked(self):
new_color = QtGui.QColorDialog.getColor( new_color = QtGui.QColorDialog.getColor(

View File

@ -53,9 +53,9 @@ class BiblePlugin(Plugin):
Plugin.initialise(self) Plugin.initialise(self)
self.importBibleItem.setVisible(True) self.importBibleItem.setVisible(True)
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.add_action(self.importBibleItem, UiStrings.Import) action_list.add_action(self.importBibleItem, UiStrings().Import)
# Do not add the action to the list yet. # Do not add the action to the list yet.
#action_list.add_action(self.exportBibleItem, UiStrings.Export) #action_list.add_action(self.exportBibleItem, UiStrings().Export)
# Set to invisible until we can export bibles # Set to invisible until we can export bibles
self.exportBibleItem.setVisible(False) self.exportBibleItem.setVisible(False)
@ -67,9 +67,9 @@ class BiblePlugin(Plugin):
self.manager.finalise() self.manager.finalise()
Plugin.finalise(self) Plugin.finalise(self)
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.remove_action(self.importBibleItem, UiStrings.Import) action_list.remove_action(self.importBibleItem, UiStrings().Import)
self.importBibleItem.setVisible(False) self.importBibleItem.setVisible(False)
#action_list.remove_action(self.exportBibleItem, UiStrings.Export) #action_list.remove_action(self.exportBibleItem, UiStrings().Export)
self.exportBibleItem.setVisible(False) self.exportBibleItem.setVisible(False)
def addImportMenuItem(self, import_menu): def addImportMenuItem(self, import_menu):

View File

@ -377,7 +377,7 @@ class BibleImportForm(OpenLPWizard):
self.formatComboBox.setItemText(BibleFormat.OpenSong, WizardStrings.OS) self.formatComboBox.setItemText(BibleFormat.OpenSong, WizardStrings.OS)
self.formatComboBox.setItemText(BibleFormat.WebDownload, self.formatComboBox.setItemText(BibleFormat.WebDownload,
translate('BiblesPlugin.ImportWizardForm', 'Web Download')) translate('BiblesPlugin.ImportWizardForm', 'Web Download'))
self.formatComboBox.setItemText(BibleFormat.OpenLP1, UiStrings.OLPV1) self.formatComboBox.setItemText(BibleFormat.OpenLP1, UiStrings().OLPV1)
self.openlp1FileLabel.setText( self.openlp1FileLabel.setText(
translate('BiblesPlugin.ImportWizardForm', 'Bible file:')) translate('BiblesPlugin.ImportWizardForm', 'Bible file:'))
self.osisFileLabel.setText( self.osisFileLabel.setText(
@ -451,13 +451,13 @@ class BibleImportForm(OpenLPWizard):
elif self.currentPage() == self.selectPage: elif self.currentPage() == self.selectPage:
if self.field(u'source_format').toInt()[0] == BibleFormat.OSIS: if self.field(u'source_format').toInt()[0] == BibleFormat.OSIS:
if not self.field(u'osis_location').toString(): if not self.field(u'osis_location').toString():
critical_error_message_box(UiStrings.NFSs, critical_error_message_box(UiStrings().NFSs,
WizardStrings.YouSpecifyFile % WizardStrings.OSIS) WizardStrings.YouSpecifyFile % WizardStrings.OSIS)
self.osisFileEdit.setFocus() self.osisFileEdit.setFocus()
return False return False
elif self.field(u'source_format').toInt()[0] == BibleFormat.CSV: elif self.field(u'source_format').toInt()[0] == BibleFormat.CSV:
if not self.field(u'csv_testamentsfile').toString(): if not self.field(u'csv_testamentsfile').toString():
answer = critical_error_message_box(UiStrings.NFSs, answer = critical_error_message_box(UiStrings().NFSs,
translate('BiblesPlugin.ImportWizardForm', translate('BiblesPlugin.ImportWizardForm',
'You have not specified a testaments file. Do you ' 'You have not specified a testaments file. Do you '
'want to proceed with the import?'), question=True) 'want to proceed with the import?'), question=True)
@ -465,14 +465,14 @@ class BibleImportForm(OpenLPWizard):
self.csvTestamentsEdit.setFocus() self.csvTestamentsEdit.setFocus()
return False return False
if not self.field(u'csv_booksfile').toString(): if not self.field(u'csv_booksfile').toString():
critical_error_message_box(UiStrings.NFSs, critical_error_message_box(UiStrings().NFSs,
translate('BiblesPlugin.ImportWizardForm', translate('BiblesPlugin.ImportWizardForm',
'You need to specify a file with books of ' 'You need to specify a file with books of '
'the Bible to use in the import.')) 'the Bible to use in the import.'))
self.csvBooksEdit.setFocus() self.csvBooksEdit.setFocus()
return False return False
elif not self.field(u'csv_versefile').toString(): elif not self.field(u'csv_versefile').toString():
critical_error_message_box(UiStrings.NFSs, critical_error_message_box(UiStrings().NFSs,
translate('BiblesPlugin.ImportWizardForm', translate('BiblesPlugin.ImportWizardForm',
'You need to specify a file of Bible ' 'You need to specify a file of Bible '
'verses to import.')) 'verses to import.'))
@ -481,14 +481,14 @@ class BibleImportForm(OpenLPWizard):
elif self.field(u'source_format').toInt()[0] == \ elif self.field(u'source_format').toInt()[0] == \
BibleFormat.OpenSong: BibleFormat.OpenSong:
if not self.field(u'opensong_file').toString(): if not self.field(u'opensong_file').toString():
critical_error_message_box(UiStrings.NFSs, critical_error_message_box(UiStrings().NFSs,
WizardStrings.YouSpecifyFile % WizardStrings.OS) WizardStrings.YouSpecifyFile % WizardStrings.OS)
self.openSongFileEdit.setFocus() self.openSongFileEdit.setFocus()
return False return False
elif self.field(u'source_format').toInt()[0] == BibleFormat.OpenLP1: elif self.field(u'source_format').toInt()[0] == BibleFormat.OpenLP1:
if not self.field(u'openlp1_location').toString(): if not self.field(u'openlp1_location').toString():
critical_error_message_box(UiStrings.NFSs, critical_error_message_box(UiStrings().NFSs,
WizardStrings.YouSpecifyFile % UiStrings.OLPV1) WizardStrings.YouSpecifyFile % UiStrings().OLPV1)
self.openlp1FileEdit.setFocus() self.openlp1FileEdit.setFocus()
return False return False
return True return True
@ -497,13 +497,13 @@ class BibleImportForm(OpenLPWizard):
license_copyright = \ license_copyright = \
unicode(self.field(u'license_copyright').toString()) unicode(self.field(u'license_copyright').toString())
if not license_version: if not license_version:
critical_error_message_box(UiStrings.EmptyField, critical_error_message_box(UiStrings().EmptyField,
translate('BiblesPlugin.ImportWizardForm', translate('BiblesPlugin.ImportWizardForm',
'You need to specify a version name for your Bible.')) 'You need to specify a version name for your Bible.'))
self.versionNameEdit.setFocus() self.versionNameEdit.setFocus()
return False return False
elif not license_copyright: elif not license_copyright:
critical_error_message_box(UiStrings.EmptyField, critical_error_message_box(UiStrings().EmptyField,
translate('BiblesPlugin.ImportWizardForm', translate('BiblesPlugin.ImportWizardForm',
'You need to set a copyright for your Bible. ' 'You need to set a copyright for your Bible. '
'Bibles in the Public Domain need to be marked as such.')) 'Bibles in the Public Domain need to be marked as such.'))
@ -576,7 +576,7 @@ class BibleImportForm(OpenLPWizard):
""" """
Show the file open dialog for the openlp.org 1.x file. Show the file open dialog for the openlp.org 1.x file.
""" """
self.getFileName(WizardStrings.OpenTypeFile % UiStrings.OLPV1, self.getFileName(WizardStrings.OpenTypeFile % UiStrings().OLPV1,
self.openlp1FileEdit, u'%s (*.bible)' % self.openlp1FileEdit, u'%s (*.bible)' %
translate('BiblesPlugin.ImportWizardForm', translate('BiblesPlugin.ImportWizardForm',
'openlp.org 1.x Bible Files')) 'openlp.org 1.x Bible Files'))

View File

@ -118,16 +118,16 @@ class BiblesTab(SettingsTab):
self.newChaptersCheckBox.setText( self.newChaptersCheckBox.setText(
translate('BiblesPlugin.BiblesTab', translate('BiblesPlugin.BiblesTab',
'Only show new chapter numbers')) 'Only show new chapter numbers'))
self.layoutStyleLabel.setText(UiStrings.LayoutStyle) self.layoutStyleLabel.setText(UiStrings().LayoutStyle)
self.displayStyleLabel.setText(UiStrings.DisplayStyle) self.displayStyleLabel.setText(UiStrings().DisplayStyle)
self.bibleThemeLabel.setText( self.bibleThemeLabel.setText(
translate('BiblesPlugin.BiblesTab', 'Bible theme:')) translate('BiblesPlugin.BiblesTab', 'Bible theme:'))
self.layoutStyleComboBox.setItemText(LayoutStyle.VersePerSlide, self.layoutStyleComboBox.setItemText(LayoutStyle.VersePerSlide,
UiStrings.VersePerSlide) UiStrings().VersePerSlide)
self.layoutStyleComboBox.setItemText(LayoutStyle.VersePerLine, self.layoutStyleComboBox.setItemText(LayoutStyle.VersePerLine,
UiStrings.VersePerLine) UiStrings().VersePerLine)
self.layoutStyleComboBox.setItemText(LayoutStyle.Continuous, self.layoutStyleComboBox.setItemText(LayoutStyle.Continuous,
UiStrings.Continuous) UiStrings().Continuous)
self.displayStyleComboBox.setItemText(DisplayStyle.NoBrackets, self.displayStyleComboBox.setItemText(DisplayStyle.NoBrackets,
translate('BiblesPlugin.BiblesTab', 'No Brackets')) translate('BiblesPlugin.BiblesTab', 'No Brackets'))
self.displayStyleComboBox.setItemText(DisplayStyle.Round, self.displayStyleComboBox.setItemText(DisplayStyle.Round,

View File

@ -193,7 +193,7 @@ class BibleMediaItem(MediaManagerItem):
self.advancedSearchButtonLayout.addWidget(self.advancedSearchButton) self.advancedSearchButtonLayout.addWidget(self.advancedSearchButton)
self.advancedLayout.addLayout( self.advancedLayout.addLayout(
self.advancedSearchButtonLayout, 7, 0, 1, 3) self.advancedSearchButtonLayout, 7, 0, 1, 3)
self.searchTabWidget.addTab(self.advancedTab, UiStrings.Advanced) self.searchTabWidget.addTab(self.advancedTab, UiStrings().Advanced)
# Add the search tab widget to the page layout. # Add the search tab widget to the page layout.
self.pageLayout.addWidget(self.searchTabWidget) self.pageLayout.addWidget(self.searchTabWidget)
# Combo Boxes # Combo Boxes
@ -242,15 +242,15 @@ class BibleMediaItem(MediaManagerItem):
def retranslateUi(self): def retranslateUi(self):
log.debug(u'retranslateUi') log.debug(u'retranslateUi')
self.quickVersionLabel.setText(u'%s:' % UiStrings.Version) self.quickVersionLabel.setText(u'%s:' % UiStrings().Version)
self.quickSecondLabel.setText( self.quickSecondLabel.setText(
translate('BiblesPlugin.MediaItem', 'Second:')) translate('BiblesPlugin.MediaItem', 'Second:'))
self.quickSearchLabel.setText( self.quickSearchLabel.setText(
translate('BiblesPlugin.MediaItem', 'Find:')) translate('BiblesPlugin.MediaItem', 'Find:'))
self.quickSearchButton.setText(UiStrings.Search) self.quickSearchButton.setText(UiStrings().Search)
self.quickClearLabel.setText( self.quickClearLabel.setText(
translate('BiblesPlugin.MediaItem', 'Results:')) translate('BiblesPlugin.MediaItem', 'Results:'))
self.advancedVersionLabel.setText(u'%s:' % UiStrings.Version) self.advancedVersionLabel.setText(u'%s:' % UiStrings().Version)
self.advancedSecondLabel.setText( self.advancedSecondLabel.setText(
translate('BiblesPlugin.MediaItem', 'Second:')) translate('BiblesPlugin.MediaItem', 'Second:'))
self.advancedBookLabel.setText( self.advancedBookLabel.setText(
@ -265,7 +265,7 @@ class BibleMediaItem(MediaManagerItem):
translate('BiblesPlugin.MediaItem', 'To:')) translate('BiblesPlugin.MediaItem', 'To:'))
self.advancedClearLabel.setText( self.advancedClearLabel.setText(
translate('BiblesPlugin.MediaItem', 'Results:')) translate('BiblesPlugin.MediaItem', 'Results:'))
self.advancedSearchButton.setText(UiStrings.Search) self.advancedSearchButton.setText(UiStrings().Search)
self.quickClearComboBox.addItem( self.quickClearComboBox.addItem(
translate('BiblesPlugin.MediaItem', 'Clear')) translate('BiblesPlugin.MediaItem', 'Clear'))
self.quickClearComboBox.addItem( self.quickClearComboBox.addItem(
@ -274,13 +274,13 @@ class BibleMediaItem(MediaManagerItem):
translate('BiblesPlugin.MediaItem', 'Clear')) translate('BiblesPlugin.MediaItem', 'Clear'))
self.advancedClearComboBox.addItem( self.advancedClearComboBox.addItem(
translate('BiblesPlugin.MediaItem', 'Keep')) translate('BiblesPlugin.MediaItem', 'Keep'))
self.quickLayoutLabel.setText(UiStrings.LayoutStyle) self.quickLayoutLabel.setText(UiStrings().LayoutStyle)
self.quickLayoutComboBox.setItemText(LayoutStyle.VersePerSlide, self.quickLayoutComboBox.setItemText(LayoutStyle.VersePerSlide,
UiStrings.VersePerSlide) UiStrings().VersePerSlide)
self.quickLayoutComboBox.setItemText(LayoutStyle.VersePerLine, self.quickLayoutComboBox.setItemText(LayoutStyle.VersePerLine,
UiStrings.VersePerLine) UiStrings().VersePerLine)
self.quickLayoutComboBox.setItemText(LayoutStyle.Continuous, self.quickLayoutComboBox.setItemText(LayoutStyle.Continuous,
UiStrings.Continuous) UiStrings().Continuous)
def initialise(self): def initialise(self):
log.debug(u'bible manager initialise') log.debug(u'bible manager initialise')

View File

@ -107,11 +107,11 @@ class Ui_CustomEditDialog(object):
translate('CustomPlugin.EditCustomForm', 'Edit Custom Slides')) translate('CustomPlugin.EditCustomForm', 'Edit Custom Slides'))
self.titleLabel.setText( self.titleLabel.setText(
translate('CustomPlugin.EditCustomForm', '&Title:')) translate('CustomPlugin.EditCustomForm', '&Title:'))
self.addButton.setText(UiStrings.Add) self.addButton.setText(UiStrings().Add)
self.addButton.setToolTip( self.addButton.setToolTip(
translate('CustomPlugin.EditCustomForm', 'Add a new slide at ' translate('CustomPlugin.EditCustomForm', 'Add a new slide at '
'bottom.')) 'bottom.'))
self.editButton.setText(UiStrings.Edit) self.editButton.setText(UiStrings().Edit)
self.editButton.setToolTip( self.editButton.setToolTip(
translate('CustomPlugin.EditCustomForm', 'Edit the selected ' translate('CustomPlugin.EditCustomForm', 'Edit the selected '
'slide.')) 'slide.'))
@ -124,4 +124,4 @@ class Ui_CustomEditDialog(object):
translate('CustomPlugin.EditCustomForm', 'The&me:')) translate('CustomPlugin.EditCustomForm', 'The&me:'))
self.creditLabel.setText( self.creditLabel.setText(
translate('CustomPlugin.EditCustomForm', '&Credits:')) translate('CustomPlugin.EditCustomForm', '&Credits:'))
self.previewButton.setText(UiStrings.SaveAndPreview) self.previewButton.setText(UiStrings().SaveAndPreview)

View File

@ -110,7 +110,7 @@ class CustomMediaItem(MediaManagerItem):
""" """
Edit a custom item Edit a custom item
""" """
if check_item_selected(self.listView, UiStrings.SelectEdit): if check_item_selected(self.listView, UiStrings().SelectEdit):
item = self.listView.currentItem() item = self.listView.currentItem()
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0] item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
self.parent.edit_custom_form.loadCustom(item_id, False) self.parent.edit_custom_form.loadCustom(item_id, False)
@ -121,7 +121,7 @@ class CustomMediaItem(MediaManagerItem):
""" """
Remove a custom item from the list and database Remove a custom item from the list and database
""" """
if check_item_selected(self.listView, UiStrings.SelectDelete): if check_item_selected(self.listView, UiStrings().SelectDelete):
row_list = [item.row() for item in self.listView.selectedIndexes()] row_list = [item.row() for item in self.listView.selectedIndexes()]
row_list.sort(reverse=True) row_list.sort(reverse=True)
id_list = [(item.data(QtCore.Qt.UserRole)).toInt()[0] id_list = [(item.data(QtCore.Qt.UserRole)).toInt()[0]

View File

@ -55,11 +55,11 @@ class ImageMediaItem(MediaManagerItem):
'Select Image(s)') 'Select Image(s)')
file_formats = get_images_filter() file_formats = get_images_filter()
self.onNewFileMasks = u'%s;;%s (*.*) (*)' % (file_formats, self.onNewFileMasks = u'%s;;%s (*.*) (*)' % (file_formats,
UiStrings.AllFiles) UiStrings().AllFiles)
self.replaceAction.setText(UiStrings.ReplaceBG) self.replaceAction.setText(UiStrings().ReplaceBG)
self.replaceAction.setToolTip(UiStrings.ReplaceLiveBG) self.replaceAction.setToolTip(UiStrings().ReplaceLiveBG)
self.resetAction.setText(UiStrings.ResetBG) self.resetAction.setText(UiStrings().ResetBG)
self.resetAction.setToolTip(UiStrings.ResetLiveBG) self.resetAction.setToolTip(UiStrings().ResetLiveBG)
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
@ -198,7 +198,7 @@ class ImageMediaItem(MediaManagerItem):
self.parent.liveController.display.directImage(name, filename) self.parent.liveController.display.directImage(name, filename)
self.resetAction.setVisible(True) self.resetAction.setVisible(True)
else: else:
critical_error_message_box(UiStrings.LiveBGError, critical_error_message_box(UiStrings().LiveBGError,
unicode(translate('ImagePlugin.MediaItem', unicode(translate('ImagePlugin.MediaItem',
'There was a problem replacing your background, ' 'There was a problem replacing your background, '
'the image file "%s" no longer exists.')) % filename) 'the image file "%s" no longer exists.')) % filename)

View File

@ -60,11 +60,11 @@ class MediaMediaItem(MediaManagerItem):
self.onNewFileMasks = unicode(translate('MediaPlugin.MediaItem', self.onNewFileMasks = unicode(translate('MediaPlugin.MediaItem',
'Videos (%s);;Audio (%s);;%s (*)')) % ( 'Videos (%s);;Audio (%s);;%s (*)')) % (
u' '.join(self.parent.video_extensions_list), u' '.join(self.parent.video_extensions_list),
u' '.join(self.parent.audio_extensions_list), UiStrings.AllFiles) u' '.join(self.parent.audio_extensions_list), UiStrings().AllFiles)
self.replaceAction.setText(UiStrings.ReplaceBG) self.replaceAction.setText(UiStrings().ReplaceBG)
self.replaceAction.setToolTip(UiStrings.ReplaceLiveBG) self.replaceAction.setToolTip(UiStrings().ReplaceLiveBG)
self.resetAction.setText(UiStrings.ResetBG) self.resetAction.setText(UiStrings().ResetBG)
self.resetAction.setToolTip(UiStrings.ResetLiveBG) self.resetAction.setToolTip(UiStrings().ResetLiveBG)
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
@ -111,7 +111,7 @@ class MediaMediaItem(MediaManagerItem):
self.parent.liveController.display.video(filename, 0, True) self.parent.liveController.display.video(filename, 0, True)
self.resetAction.setVisible(True) self.resetAction.setVisible(True)
else: else:
critical_error_message_box(UiStrings.LiveBGError, critical_error_message_box(UiStrings().LiveBGError,
unicode(translate('MediaPlugin.MediaItem', unicode(translate('MediaPlugin.MediaItem',
'There was a problem replacing your background, ' 'There was a problem replacing your background, '
'the media file "%s" no longer exists.')) % filename) 'the media file "%s" no longer exists.')) % filename)

View File

@ -203,7 +203,7 @@ class PresentationMediaItem(MediaManagerItem):
""" """
Remove a presentation item from the list Remove a presentation item from the list
""" """
if check_item_selected(self.listView, UiStrings.SelectDelete): if check_item_selected(self.listView, UiStrings().SelectDelete):
items = self.listView.selectedIndexes() items = self.listView.selectedIndexes()
row_list = [item.row() for item in items] row_list = [item.row() for item in items]
row_list.sort(reverse=True) row_list.sort(reverse=True)

View File

@ -86,7 +86,7 @@ class PresentationTab(SettingsTab):
checkbox.setText( checkbox.setText(
unicode(translate('PresentationPlugin.PresentationTab', unicode(translate('PresentationPlugin.PresentationTab',
'%s (unavailable)')) % controller.name) '%s (unavailable)')) % controller.name)
self.AdvancedGroupBox.setTitle(UiStrings.Advanced) self.AdvancedGroupBox.setTitle(UiStrings().Advanced)
self.OverrideAppCheckBox.setText( self.OverrideAppCheckBox.setText(
translate('PresentationPlugin.PresentationTab', translate('PresentationPlugin.PresentationTab',
'Allow presentation application to be overriden')) 'Allow presentation application to be overriden'))

View File

@ -260,11 +260,11 @@ class Ui_EditSongDialog(object):
translate('SongsPlugin.EditSongForm', '&Lyrics:')) translate('SongsPlugin.EditSongForm', '&Lyrics:'))
self.verseOrderLabel.setText( self.verseOrderLabel.setText(
translate('SongsPlugin.EditSongForm', '&Verse order:')) translate('SongsPlugin.EditSongForm', '&Verse order:'))
self.verseAddButton.setText(UiStrings.Add) self.verseAddButton.setText(UiStrings().Add)
self.verseEditButton.setText(UiStrings.Edit) self.verseEditButton.setText(UiStrings().Edit)
self.verseEditAllButton.setText( self.verseEditAllButton.setText(
translate('SongsPlugin.EditSongForm', 'Ed&it All')) translate('SongsPlugin.EditSongForm', 'Ed&it All'))
self.verseDeleteButton.setText(UiStrings.Delete) self.verseDeleteButton.setText(UiStrings().Delete)
self.songTabWidget.setTabText( self.songTabWidget.setTabText(
self.songTabWidget.indexOf(self.lyricsTab), self.songTabWidget.indexOf(self.lyricsTab),
translate('SongsPlugin.EditSongForm', 'Title && Lyrics')) translate('SongsPlugin.EditSongForm', 'Title && Lyrics'))
@ -289,13 +289,13 @@ class Ui_EditSongDialog(object):
self.songTabWidget.indexOf(self.authorsTab), self.songTabWidget.indexOf(self.authorsTab),
translate('SongsPlugin.EditSongForm', translate('SongsPlugin.EditSongForm',
'Authors, Topics && Song Book')) 'Authors, Topics && Song Book'))
self.themeGroupBox.setTitle(UiStrings.Theme) self.themeGroupBox.setTitle(UiStrings().Theme)
self.themeAddButton.setText( self.themeAddButton.setText(
translate('SongsPlugin.EditSongForm', 'New &Theme')) translate('SongsPlugin.EditSongForm', 'New &Theme'))
self.rightsGroupBox.setTitle( self.rightsGroupBox.setTitle(
translate('SongsPlugin.EditSongForm', 'Copyright Information')) translate('SongsPlugin.EditSongForm', 'Copyright Information'))
self.copyrightInsertButton.setText(SongStrings.CopyrightSymbol) self.copyrightInsertButton.setText(SongStrings.CopyrightSymbol)
self.CCLILabel.setText(UiStrings.CCLINumberLabel) self.CCLILabel.setText(UiStrings().CCLINumberLabel)
self.commentsGroupBox.setTitle( self.commentsGroupBox.setTitle(
translate('SongsPlugin.EditSongForm', 'Comments')) translate('SongsPlugin.EditSongForm', 'Comments'))
self.songTabWidget.setTabText( self.songTabWidget.setTabText(

View File

@ -96,7 +96,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
QtCore.SIGNAL(u'theme_update_list'), self.loadThemes) QtCore.SIGNAL(u'theme_update_list'), self.loadThemes)
self.previewButton = QtGui.QPushButton() self.previewButton = QtGui.QPushButton()
self.previewButton.setObjectName(u'previewButton') self.previewButton.setObjectName(u'previewButton')
self.previewButton.setText(UiStrings.SaveAndPreview) self.previewButton.setText(UiStrings().SaveAndPreview)
self.buttonBox.addButton( self.buttonBox.addButton(
self.previewButton, QtGui.QDialogButtonBox.ActionRole) self.previewButton, QtGui.QDialogButtonBox.ActionRole)
QtCore.QObject.connect(self.buttonBox, QtCore.QObject.connect(self.buttonBox,
@ -355,7 +355,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.__addAuthorToList(author) self.__addAuthorToList(author)
self.authorsComboBox.setCurrentIndex(0) self.authorsComboBox.setCurrentIndex(0)
else: else:
QtGui.QMessageBox.warning(self, UiStrings.NISs, QtGui.QMessageBox.warning(self, UiStrings().NISs,
translate('SongsPlugin.EditSongForm', 'You have not selected ' translate('SongsPlugin.EditSongForm', 'You have not selected '
'a valid author. Either select an author from the list, ' 'a valid author. Either select an author from the list, '
'or type in a new author and click the "Add Author to ' 'or type in a new author and click the "Add Author to '
@ -414,7 +414,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.topicsListView.addItem(topic_item) self.topicsListView.addItem(topic_item)
self.topicsComboBox.setCurrentIndex(0) self.topicsComboBox.setCurrentIndex(0)
else: else:
QtGui.QMessageBox.warning(self, UiStrings.NISs, QtGui.QMessageBox.warning(self, UiStrings().NISs,
translate('SongsPlugin.EditSongForm', 'You have not selected ' translate('SongsPlugin.EditSongForm', 'You have not selected '
'a valid topic. Either select a topic from the list, or ' 'a valid topic. Either select a topic from the list, or '
'type in a new topic and click the "Add Topic to Song" ' 'type in a new topic and click the "Add Topic to Song" '

View File

@ -175,7 +175,7 @@ class SongExportForm(OpenLPWizard):
self.availableSongsPage.setSubTitle( self.availableSongsPage.setSubTitle(
translate('SongsPlugin.ExportWizardForm', translate('SongsPlugin.ExportWizardForm',
'Check the songs you want to export.')) 'Check the songs you want to export.'))
self.searchLabel.setText(u'%s:' % UiStrings.Search) self.searchLabel.setText(u'%s:' % UiStrings().Search)
self.uncheckButton.setText( self.uncheckButton.setText(
translate('SongsPlugin.ExportWizardForm', 'Uncheck All')) translate('SongsPlugin.ExportWizardForm', 'Uncheck All'))
self.checkButton.setText( self.checkButton.setText(
@ -207,7 +207,7 @@ class SongExportForm(OpenLPWizard):
self.availableListWidget) if item.checkState() self.availableListWidget) if item.checkState()
] ]
if not items: if not items:
critical_error_message_box(UiStrings.NISp, critical_error_message_box(UiStrings().NISp,
translate('SongsPlugin.ExportWizardForm', translate('SongsPlugin.ExportWizardForm',
'You need to add at least one Song to export.')) 'You need to add at least one Song to export.'))
return False return False

View File

@ -235,8 +235,8 @@ class SongImportForm(OpenLPWizard):
self.sourcePage.setTitle(WizardStrings.ImportSelect) self.sourcePage.setTitle(WizardStrings.ImportSelect)
self.sourcePage.setSubTitle(WizardStrings.ImportSelectLong) self.sourcePage.setSubTitle(WizardStrings.ImportSelectLong)
self.formatLabel.setText(WizardStrings.FormatLabel) self.formatLabel.setText(WizardStrings.FormatLabel)
self.formatComboBox.setItemText(SongFormat.OpenLP2, UiStrings.OLPV2) self.formatComboBox.setItemText(SongFormat.OpenLP2, UiStrings().OLPV2)
self.formatComboBox.setItemText(SongFormat.OpenLP1, UiStrings.OLPV1) self.formatComboBox.setItemText(SongFormat.OpenLP1, UiStrings().OLPV1)
self.formatComboBox.setItemText( self.formatComboBox.setItemText(
SongFormat.OpenLyrics, WizardStrings.OL) SongFormat.OpenLyrics, WizardStrings.OL)
self.formatComboBox.setItemText(SongFormat.OpenSong, WizardStrings.OS) self.formatComboBox.setItemText(SongFormat.OpenSong, WizardStrings.OS)
@ -261,10 +261,10 @@ class SongImportForm(OpenLPWizard):
# self.formatComboBox.setItemText(SongFormat.CSV, WizardStrings.CSV) # self.formatComboBox.setItemText(SongFormat.CSV, WizardStrings.CSV)
self.openLP2FilenameLabel.setText( self.openLP2FilenameLabel.setText(
translate('SongsPlugin.ImportWizardForm', 'Filename:')) translate('SongsPlugin.ImportWizardForm', 'Filename:'))
self.openLP2BrowseButton.setText(UiStrings.Browse) self.openLP2BrowseButton.setText(UiStrings().Browse)
self.openLP1FilenameLabel.setText( self.openLP1FilenameLabel.setText(
translate('SongsPlugin.ImportWizardForm', 'Filename:')) translate('SongsPlugin.ImportWizardForm', 'Filename:'))
self.openLP1BrowseButton.setText(UiStrings.Browse) self.openLP1BrowseButton.setText(UiStrings().Browse)
self.openLP1DisabledLabel.setText(WizardStrings.NoSqlite) self.openLP1DisabledLabel.setText(WizardStrings.NoSqlite)
self.openLyricsAddButton.setText( self.openLyricsAddButton.setText(
translate('SongsPlugin.ImportWizardForm', 'Add Files...')) translate('SongsPlugin.ImportWizardForm', 'Add Files...'))
@ -305,10 +305,10 @@ class SongImportForm(OpenLPWizard):
'find OpenOffice.org on your computer.')) 'find OpenOffice.org on your computer.'))
self.easiSlidesFilenameLabel.setText( self.easiSlidesFilenameLabel.setText(
translate('SongsPlugin.ImportWizardForm', 'Filename:')) translate('SongsPlugin.ImportWizardForm', 'Filename:'))
self.easiSlidesBrowseButton.setText(UiStrings.Browse) self.easiSlidesBrowseButton.setText(UiStrings().Browse)
self.ewFilenameLabel.setText( self.ewFilenameLabel.setText(
translate('SongsPlugin.ImportWizardForm', 'Filename:')) translate('SongsPlugin.ImportWizardForm', 'Filename:'))
self.ewBrowseButton.setText(UiStrings.Browse) self.ewBrowseButton.setText(UiStrings().Browse)
self.songBeamerAddButton.setText( self.songBeamerAddButton.setText(
translate('SongsPlugin.ImportWizardForm', 'Add Files...')) translate('SongsPlugin.ImportWizardForm', 'Add Files...'))
self.songBeamerRemoveButton.setText( self.songBeamerRemoveButton.setText(
@ -323,7 +323,7 @@ class SongImportForm(OpenLPWizard):
translate('SongsPlugin.ImportWizardForm', 'Remove File(s)')) translate('SongsPlugin.ImportWizardForm', 'Remove File(s)'))
# self.csvFilenameLabel.setText( # self.csvFilenameLabel.setText(
# translate('SongsPlugin.ImportWizardForm', 'Filename:')) # translate('SongsPlugin.ImportWizardForm', 'Filename:'))
# self.csvBrowseButton.setText(UiStrings.Browse) # self.csvBrowseButton.setText(UiStrings().Browse)
self.progressPage.setTitle(WizardStrings.Importing) self.progressPage.setTitle(WizardStrings.Importing)
self.progressPage.setSubTitle( self.progressPage.setSubTitle(
translate('SongsPlugin.ImportWizardForm', translate('SongsPlugin.ImportWizardForm',
@ -346,49 +346,49 @@ class SongImportForm(OpenLPWizard):
source_format = self.formatComboBox.currentIndex() source_format = self.formatComboBox.currentIndex()
if source_format == SongFormat.OpenLP2: if source_format == SongFormat.OpenLP2:
if self.openLP2FilenameEdit.text().isEmpty(): if self.openLP2FilenameEdit.text().isEmpty():
critical_error_message_box(UiStrings.NFSs, critical_error_message_box(UiStrings().NFSs,
WizardStrings.YouSpecifyFile % UiStrings.OLPV2) WizardStrings.YouSpecifyFile % UiStrings().OLPV2)
self.openLP2BrowseButton.setFocus() self.openLP2BrowseButton.setFocus()
return False return False
elif source_format == SongFormat.OpenLP1: elif source_format == SongFormat.OpenLP1:
if self.openLP1FilenameEdit.text().isEmpty(): if self.openLP1FilenameEdit.text().isEmpty():
critical_error_message_box(UiStrings.NFSs, critical_error_message_box(UiStrings().NFSs,
WizardStrings.YouSpecifyFile % UiStrings.OLPV1) WizardStrings.YouSpecifyFile % UiStrings().OLPV1)
self.openLP1BrowseButton.setFocus() self.openLP1BrowseButton.setFocus()
return False return False
elif source_format == SongFormat.OpenLyrics: elif source_format == SongFormat.OpenLyrics:
if self.openLyricsFileListWidget.count() == 0: if self.openLyricsFileListWidget.count() == 0:
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
WizardStrings.YouSpecifyFile % WizardStrings.OL) WizardStrings.YouSpecifyFile % WizardStrings.OL)
self.openLyricsAddButton.setFocus() self.openLyricsAddButton.setFocus()
return False return False
elif source_format == SongFormat.OpenSong: elif source_format == SongFormat.OpenSong:
if self.openSongFileListWidget.count() == 0: if self.openSongFileListWidget.count() == 0:
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
WizardStrings.YouSpecifyFile % WizardStrings.OS) WizardStrings.YouSpecifyFile % WizardStrings.OS)
self.openSongAddButton.setFocus() self.openSongAddButton.setFocus()
return False return False
elif source_format == SongFormat.WordsOfWorship: elif source_format == SongFormat.WordsOfWorship:
if self.wordsOfWorshipFileListWidget.count() == 0: if self.wordsOfWorshipFileListWidget.count() == 0:
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
WizardStrings.YouSpecifyFile % WizardStrings.WoW) WizardStrings.YouSpecifyFile % WizardStrings.WoW)
self.wordsOfWorshipAddButton.setFocus() self.wordsOfWorshipAddButton.setFocus()
return False return False
elif source_format == SongFormat.CCLI: elif source_format == SongFormat.CCLI:
if self.ccliFileListWidget.count() == 0: if self.ccliFileListWidget.count() == 0:
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
WizardStrings.YouSpecifyFile % WizardStrings.CCLI) WizardStrings.YouSpecifyFile % WizardStrings.CCLI)
self.ccliAddButton.setFocus() self.ccliAddButton.setFocus()
return False return False
elif source_format == SongFormat.SongsOfFellowship: elif source_format == SongFormat.SongsOfFellowship:
if self.songsOfFellowshipFileListWidget.count() == 0: if self.songsOfFellowshipFileListWidget.count() == 0:
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
WizardStrings.YouSpecifyFile % WizardStrings.SoF) WizardStrings.YouSpecifyFile % WizardStrings.SoF)
self.songsOfFellowshipAddButton.setFocus() self.songsOfFellowshipAddButton.setFocus()
return False return False
elif source_format == SongFormat.Generic: elif source_format == SongFormat.Generic:
if self.genericFileListWidget.count() == 0: if self.genericFileListWidget.count() == 0:
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
translate('SongsPlugin.ImportWizardForm', translate('SongsPlugin.ImportWizardForm',
'You need to specify at least one document or ' 'You need to specify at least one document or '
'presentation file to import from.')) 'presentation file to import from.'))
@ -396,31 +396,31 @@ class SongImportForm(OpenLPWizard):
return False return False
elif source_format == SongFormat.EasiSlides: elif source_format == SongFormat.EasiSlides:
if self.easiSlidesFilenameEdit.text().isEmpty(): if self.easiSlidesFilenameEdit.text().isEmpty():
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
WizardStrings.YouSpecifyFile % WizardStrings.ES) WizardStrings.YouSpecifyFile % WizardStrings.ES)
self.easiSlidesBrowseButton.setFocus() self.easiSlidesBrowseButton.setFocus()
return False return False
elif source_format == SongFormat.EasyWorship: elif source_format == SongFormat.EasyWorship:
if self.ewFilenameEdit.text().isEmpty(): if self.ewFilenameEdit.text().isEmpty():
critical_error_message_box(UiStrings.NFSs, critical_error_message_box(UiStrings().NFSs,
WizardStrings.YouSpecifyFile % WizardStrings.EW) WizardStrings.YouSpecifyFile % WizardStrings.EW)
self.ewBrowseButton.setFocus() self.ewBrowseButton.setFocus()
return False return False
elif source_format == SongFormat.SongBeamer: elif source_format == SongFormat.SongBeamer:
if self.songBeamerFileListWidget.count() == 0: if self.songBeamerFileListWidget.count() == 0:
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
WizardStrings.YouSpecifyFile % WizardStrings.SB) WizardStrings.YouSpecifyFile % WizardStrings.SB)
self.songBeamerAddButton.setFocus() self.songBeamerAddButton.setFocus()
return False return False
elif source_format == SongFormat.SongShowPlus: elif source_format == SongFormat.SongShowPlus:
if self.songShowPlusFileListWidget.count() == 0: if self.songShowPlusFileListWidget.count() == 0:
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
WizardStrings.YouSpecifyFile % WizardStrings.SSP) WizardStrings.YouSpecifyFile % WizardStrings.SSP)
self.wordsOfWorshipAddButton.setFocus() self.wordsOfWorshipAddButton.setFocus()
return False return False
elif source_format == SongFormat.FoilPresenter: elif source_format == SongFormat.FoilPresenter:
if self.foilPresenterFileListWidget.count() == 0: if self.foilPresenterFileListWidget.count() == 0:
critical_error_message_box(UiStrings.NFSp, critical_error_message_box(UiStrings().NFSp,
WizardStrings.YouSpecifyFile % WizardStrings.FP) WizardStrings.YouSpecifyFile % WizardStrings.FP)
self.foilPresenterAddButton.setFocus() self.foilPresenterAddButton.setFocus()
return False return False
@ -446,7 +446,7 @@ class SongImportForm(OpenLPWizard):
""" """
if filters: if filters:
filters += u';;' filters += u';;'
filters += u'%s (*)' % UiStrings.AllFiles filters += u'%s (*)' % UiStrings().AllFiles
filenames = QtGui.QFileDialog.getOpenFileNames(self, title, filenames = QtGui.QFileDialog.getOpenFileNames(self, title,
SettingsManager.get_last_dir(self.plugin.settingsSection, 1), SettingsManager.get_last_dir(self.plugin.settingsSection, 1),
filters) filters)
@ -476,7 +476,7 @@ class SongImportForm(OpenLPWizard):
""" """
Get OpenLP v2 song database file Get OpenLP v2 song database file
""" """
self.getFileName(WizardStrings.OpenTypeFile % UiStrings.OLPV2, self.getFileName(WizardStrings.OpenTypeFile % UiStrings().OLPV2,
self.openLP2FilenameEdit, u'%s (*.sqlite)' self.openLP2FilenameEdit, u'%s (*.sqlite)'
% (translate('SongsPlugin.ImportWizardForm', % (translate('SongsPlugin.ImportWizardForm',
'OpenLP 2.0 Databases')) 'OpenLP 2.0 Databases'))
@ -486,7 +486,7 @@ class SongImportForm(OpenLPWizard):
""" """
Get OpenLP v1 song database file Get OpenLP v1 song database file
""" """
self.getFileName(WizardStrings.OpenTypeFile % UiStrings.OLPV1, self.getFileName(WizardStrings.OpenTypeFile % UiStrings().OLPV1,
self.openLP1FilenameEdit, u'%s (*.olp)' self.openLP1FilenameEdit, u'%s (*.olp)'
% translate('SongsPlugin.ImportWizardForm', % translate('SongsPlugin.ImportWizardForm',
'openlp.org v1.x Databases') 'openlp.org v1.x Databases')

View File

@ -149,15 +149,15 @@ class Ui_SongMaintenanceDialog(object):
self.listItemAuthors.setText(SongStrings.Authors) self.listItemAuthors.setText(SongStrings.Authors)
self.listItemTopics.setText(SongStrings.Topics) self.listItemTopics.setText(SongStrings.Topics)
self.listItemBooks.setText(SongStrings.SongBooks) self.listItemBooks.setText(SongStrings.SongBooks)
self.authorsAddButton.setText(UiStrings.Add) self.authorsAddButton.setText(UiStrings().Add)
self.authorsEditButton.setText(UiStrings.Edit) self.authorsEditButton.setText(UiStrings().Edit)
self.authorsDeleteButton.setText(UiStrings.Delete) self.authorsDeleteButton.setText(UiStrings().Delete)
self.topicsAddButton.setText(UiStrings.Add) self.topicsAddButton.setText(UiStrings().Add)
self.topicsEditButton.setText(UiStrings.Edit) self.topicsEditButton.setText(UiStrings().Edit)
self.topicsDeleteButton.setText(UiStrings.Delete) self.topicsDeleteButton.setText(UiStrings().Delete)
self.booksAddButton.setText(UiStrings.Add) self.booksAddButton.setText(UiStrings().Add)
self.booksEditButton.setText(UiStrings.Edit) self.booksEditButton.setText(UiStrings().Edit)
self.booksDeleteButton.setText(UiStrings.Delete) self.booksDeleteButton.setText(UiStrings().Delete)
typeListWidth = max(self.fontMetrics().width(SongStrings.Authors), typeListWidth = max(self.fontMetrics().width(SongStrings.Authors),
self.fontMetrics().width(SongStrings.Topics), self.fontMetrics().width(SongStrings.Topics),
self.fontMetrics().width(SongStrings.SongBooks)) self.fontMetrics().width(SongStrings.SongBooks))

View File

@ -115,7 +115,7 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
else: else:
critical_error_message_box(dlg_title, err_text) critical_error_message_box(dlg_title, err_text)
else: else:
critical_error_message_box(dlg_title, UiStrings.NISs) critical_error_message_box(dlg_title, UiStrings().NISs)
def resetAuthors(self): def resetAuthors(self):
""" """

View File

@ -137,8 +137,8 @@ class SongMediaItem(MediaManagerItem):
QtCore.QVariant(u'True')).toBool() QtCore.QVariant(u'True')).toBool()
def retranslateUi(self): def retranslateUi(self):
self.searchTextLabel.setText(u'%s:' % UiStrings.Search) self.searchTextLabel.setText(u'%s:' % UiStrings().Search)
self.searchTextButton.setText(UiStrings.Search) self.searchTextButton.setText(UiStrings().Search)
self.maintenanceAction.setText(SongStrings.SongMaintenance) self.maintenanceAction.setText(SongStrings.SongMaintenance)
self.maintenanceAction.setToolTip(translate('SongsPlugin.MediaItem', self.maintenanceAction.setToolTip(translate('SongsPlugin.MediaItem',
'Maintain the lists of authors, topics and books')) 'Maintain the lists of authors, topics and books'))
@ -153,7 +153,7 @@ class SongMediaItem(MediaManagerItem):
translate('SongsPlugin.MediaItem', 'Lyrics')), translate('SongsPlugin.MediaItem', 'Lyrics')),
(SongSearch.Authors, u':/songs/song_search_author.png', (SongSearch.Authors, u':/songs/song_search_author.png',
SongStrings.Authors), SongStrings.Authors),
(SongSearch.Themes, u':/slides/slide_theme.png', UiStrings.Themes) (SongSearch.Themes, u':/slides/slide_theme.png', UiStrings().Themes)
]) ])
self.searchTextEdit.setCurrentSearchType(QtCore.QSettings().value( self.searchTextEdit.setCurrentSearchType(QtCore.QSettings().value(
u'%s/last search type' % self.settingsSection, u'%s/last search type' % self.settingsSection,
@ -312,7 +312,7 @@ class SongMediaItem(MediaManagerItem):
Edit a song Edit a song
""" """
log.debug(u'onEditClick') log.debug(u'onEditClick')
if check_item_selected(self.listView, UiStrings.SelectEdit): if check_item_selected(self.listView, UiStrings().SelectEdit):
self.editItem = self.listView.currentItem() self.editItem = self.listView.currentItem()
item_id = (self.editItem.data(QtCore.Qt.UserRole)).toInt()[0] item_id = (self.editItem.data(QtCore.Qt.UserRole)).toInt()[0]
self.edit_song_form.loadSong(item_id, False) self.edit_song_form.loadSong(item_id, False)
@ -323,7 +323,7 @@ class SongMediaItem(MediaManagerItem):
""" """
Remove a song from the list and database Remove a song from the list and database
""" """
if check_item_selected(self.listView, UiStrings.SelectDelete): if check_item_selected(self.listView, UiStrings().SelectDelete):
items = self.listView.selectedIndexes() items = self.listView.selectedIndexes()
if QtGui.QMessageBox.question(self, if QtGui.QMessageBox.question(self,
translate('SongsPlugin.MediaItem', 'Delete Song(s)?'), translate('SongsPlugin.MediaItem', 'Delete Song(s)?'),

View File

@ -67,9 +67,9 @@ class SongsPlugin(Plugin):
Plugin.initialise(self) Plugin.initialise(self)
self.toolsReindexItem.setVisible(True) self.toolsReindexItem.setVisible(True)
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.add_action(self.SongImportItem, UiStrings.Import) action_list.add_action(self.SongImportItem, UiStrings().Import)
action_list.add_action(self.SongExportItem, UiStrings.Export) action_list.add_action(self.SongExportItem, UiStrings().Export)
action_list.add_action(self.toolsReindexItem, UiStrings.Tools) action_list.add_action(self.toolsReindexItem, UiStrings().Tools)
def addImportMenuItem(self, import_menu): def addImportMenuItem(self, import_menu):
""" """
@ -139,7 +139,7 @@ class SongsPlugin(Plugin):
if maxSongs == 0: if maxSongs == 0:
return return
progressDialog = QtGui.QProgressDialog( progressDialog = QtGui.QProgressDialog(
translate('SongsPlugin', 'Reindexing songs...'), UiStrings.Cancel, translate('SongsPlugin', 'Reindexing songs...'), UiStrings().Cancel,
0, maxSongs, self.formparent) 0, maxSongs, self.formparent)
progressDialog.setWindowModality(QtCore.Qt.WindowModal) progressDialog.setWindowModality(QtCore.Qt.WindowModal)
songs = self.manager.get_all_objects(Song) songs = self.manager.get_all_objects(Song)
@ -258,7 +258,7 @@ class SongsPlugin(Plugin):
self.manager.finalise() self.manager.finalise()
self.toolsReindexItem.setVisible(False) self.toolsReindexItem.setVisible(False)
action_list = ActionList.get_instance() action_list = ActionList.get_instance()
action_list.remove_action(self.SongImportItem, UiStrings.Import) action_list.remove_action(self.SongImportItem, UiStrings().Import)
action_list.remove_action(self.SongExportItem, UiStrings.Export) action_list.remove_action(self.SongExportItem, UiStrings().Export)
action_list.remove_action(self.toolsReindexItem, UiStrings.Tools) action_list.remove_action(self.toolsReindexItem, UiStrings().Tools)
Plugin.finalise(self) Plugin.finalise(self)