diff --git a/openlp/core/lib/__init__.py b/openlp/core/lib/__init__.py
index 35cd14bd2..2d3e55355 100644
--- a/openlp/core/lib/__init__.py
+++ b/openlp/core/lib/__init__.py
@@ -36,58 +36,6 @@ from PyQt4 import QtCore, QtGui
log = logging.getLogger(__name__)
-base_html_expands = []
-
-# Hex Color tags from http://www.w3schools.com/html/html_colornames.asp
-base_html_expands.append({u'desc': u'Red', u'start tag': u'{r}',
- u'start html': u'',
- u'end tag': u'{/r}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'Black', u'start tag': u'{b}',
- u'start html': u'',
- u'end tag': u'{/b}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'Blue', u'start tag': u'{bl}',
- u'start html': u'',
- u'end tag': u'{/bl}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'Yellow', u'start tag': u'{y}',
- u'start html': u'',
- u'end tag': u'{/y}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'Green', u'start tag': u'{g}',
- u'start html': u'',
- u'end tag': u'{/g}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'Pink', u'start tag': u'{pk}',
- u'start html': u'',
- u'end tag': u'{/pk}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'Orange', u'start tag': u'{o}',
- u'start html': u'',
- u'end tag': u'{/o}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'Purple', u'start tag': u'{pp}',
- u'start html': u'',
- u'end tag': u'{/pp}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'White', u'start tag': u'{w}',
- u'start html': u'',
- u'end tag': u'{/w}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'Superscript', u'start tag': u'{su}',
- u'start html': u'', u'end tag': u'{/su}', u'end html': u'',
- u'protected': True})
-base_html_expands.append({u'desc': u'Subscript', u'start tag': u'{sb}',
- u'start html': u'', u'end tag': u'{/sb}', u'end html': u'',
- u'protected': True})
-base_html_expands.append({u'desc': u'Paragraph', u'start tag': u'{p}',
- u'start html': u'
', u'end tag': u'{/p}', u'end html': u'
',
- u'protected': True})
-base_html_expands.append({u'desc': u'Bold', u'start tag': u'{st}',
- u'start html': u'', u'end tag': u'{/st}', u'end html': u'',
- u'protected': True})
-base_html_expands.append({u'desc': u'Italics', u'start tag': u'{it}',
- u'start html': u'', u'end tag': u'{/it}', u'end html': u'',
- u'protected': True})
-base_html_expands.append({u'desc': u'Underline', u'start tag': u'{u}',
- u'start html': u'',
- u'end tag': u'{/u}', u'end html': u'', u'protected': True})
-base_html_expands.append({u'desc': u'Break', u'start tag': u'{br}',
- u'start html': u'
', u'end tag': u'', u'end html': u'',
- u'protected': True})
-
def translate(context, text, comment=None,
encoding=QtCore.QCoreApplication.CodecForTr, n=-1,
translate=QtCore.QCoreApplication.translate):
diff --git a/openlp/core/lib/displaytags.py b/openlp/core/lib/displaytags.py
index c59f6e868..76273156f 100644
--- a/openlp/core/lib/displaytags.py
+++ b/openlp/core/lib/displaytags.py
@@ -28,7 +28,7 @@
Provide Html Tag management and Display Tag access class
"""
-from openlp.core.lib import base_html_expands
+from openlp.core.lib import translate
class DisplayTags(object):
"""
@@ -50,15 +50,77 @@ class DisplayTags(object):
Resets the html_expands list.
"""
DisplayTags.html_expands = []
- for html in base_html_expands:
- DisplayTags.html_expands.append(html)
+ base_tags = []
+ # Append the base tags.
+ # Hex Color tags from http://www.w3schools.com/html/html_colornames.asp
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Red'),
+ u'start tag': u'{r}',
+ u'start html': u'',
+ u'end tag': u'{/r}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Black'),
+ u'start tag': u'{b}',
+ u'start html': u'',
+ u'end tag': u'{/b}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Blue'),
+ u'start tag': u'{bl}',
+ u'start html': u'',
+ u'end tag': u'{/bl}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Yellow'),
+ u'start tag': u'{y}',
+ u'start html': u'',
+ u'end tag': u'{/y}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Green'),
+ u'start tag': u'{g}',
+ u'start html': u'',
+ u'end tag': u'{/g}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Pink'),
+ u'start tag': u'{pk}',
+ u'start html': u'',
+ u'end tag': u'{/pk}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Orange'),
+ u'start tag': u'{o}',
+ u'start html': u'',
+ u'end tag': u'{/o}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Purple'),
+ u'start tag': u'{pp}',
+ u'start html': u'',
+ u'end tag': u'{/pp}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'White'),
+ u'start tag': u'{w}',
+ u'start html': u'',
+ u'end tag': u'{/w}', u'end html': u'', u'protected': True})
+ base_tags.append({
+ u'desc': translate('OpenLP.DisplayTags', 'Superscript'),
+ u'start tag': u'{su}', u'start html': u'',
+ u'end tag': u'{/su}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Subscript'),
+ u'start tag': u'{sb}', u'start html': u'',
+ u'end tag': u'{/sb}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Paragraph'),
+ u'start tag': u'{p}', u'start html': u'', u'end tag': u'{/p}',
+ u'end html': u'
', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Bold'),
+ u'start tag': u'{st}', u'start html': u'',
+ u'end tag': u'{/st}', u'end html': u'',
+ u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Italics'),
+ u'start tag': u'{it}', u'start html': u'', u'end tag': u'{/it}',
+ u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Underline'),
+ u'start tag': u'{u}',
+ u'start html': u'',
+ u'end tag': u'{/u}', u'end html': u'', u'protected': True})
+ base_tags.append({u'desc': translate('OpenLP.DisplayTags', 'Break'),
+ u'start tag': u'{br}', u'start html': u'
', u'end tag': u'',
+ u'end html': u'', u'protected': True})
+ DisplayTags.add_html_tags(base_tags)
@staticmethod
- def add_html_tag(tag):
+ def add_html_tags(tags):
"""
- Add a new tag to the list
+ Add a list of tags to the list
"""
- DisplayTags.html_expands.append(tag)
+ DisplayTags.html_expands.extend(tags)
@staticmethod
def remove_html_tag(tag_id):
diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py
index 37723321c..cf682abc6 100644
--- a/openlp/core/lib/serviceitem.py
+++ b/openlp/core/lib/serviceitem.py
@@ -177,10 +177,11 @@ class ServiceItem(object):
.format_slide(slide[u'raw_slide'], line_break, self)
for page in formatted:
page = page.replace(u'
', u'{br}')
+ html = expand_tags(cgi.escape(page.rstrip()))
self._display_frames.append({
u'title': clean_tags(page),
u'text': clean_tags(page.rstrip()),
- u'html': expand_tags(cgi.escape(page.rstrip())),
+ u'html': html.replace(u' ', u' '),
u'verseTag': slide[u'verseTag']
})
elif self.service_item_type == ServiceItemType.Image or \
diff --git a/openlp/core/ui/displaytagdialog.py b/openlp/core/ui/displaytagdialog.py
index f501f03f6..a7701d8f3 100644
--- a/openlp/core/ui/displaytagdialog.py
+++ b/openlp/core/ui/displaytagdialog.py
@@ -69,9 +69,6 @@ class Ui_DisplayTagDialog(object):
spacerItem = QtGui.QSpacerItem(40, 20,
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
- self.defaultPushButton = QtGui.QPushButton(self.widget)
- self.defaultPushButton.setObjectName(u'defaultPushButton')
- self.horizontalLayout.addWidget(self.defaultPushButton)
self.deletePushButton = QtGui.QPushButton(self.widget)
self.deletePushButton.setObjectName(u'deletePushButton')
self.horizontalLayout.addWidget(self.deletePushButton)
@@ -141,8 +138,6 @@ class Ui_DisplayTagDialog(object):
self.endTagLabel.setText(
translate('OpenLP.DisplayTagDialog', 'End tag'))
self.deletePushButton.setText(UiStrings().Delete)
- self.defaultPushButton.setText(
- translate('OpenLP.DisplayTagDialog', 'Default'))
self.newPushButton.setText(UiStrings().New)
self.tagTableWidget.horizontalHeaderItem(0).setText(
translate('OpenLP.DisplayTagDialog', 'Description'))
diff --git a/openlp/core/ui/displaytagform.py b/openlp/core/ui/displaytagform.py
index 78a78f8fa..6aaddf2b8 100644
--- a/openlp/core/ui/displaytagform.py
+++ b/openlp/core/ui/displaytagform.py
@@ -51,8 +51,6 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog):
self._loadDisplayTags()
QtCore.QObject.connect(self.tagTableWidget,
QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onRowSelected)
- QtCore.QObject.connect(self.defaultPushButton,
- QtCore.SIGNAL(u'pressed()'), self.onDefaultPushed)
QtCore.QObject.connect(self.newPushButton,
QtCore.SIGNAL(u'pressed()'), self.onNewPushed)
QtCore.QObject.connect(self.savePushButton,
@@ -87,8 +85,7 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog):
if user_expands_string:
user_tags = cPickle.loads(user_expands_string)
# If we have some user ones added them as well
- for t in user_tags:
- DisplayTags.add_html_tag(t)
+ DisplayTags.add_html_tags(user_tags)
def onRowSelected(self):
"""
@@ -128,22 +125,20 @@ class DisplayTagForm(QtGui.QDialog, Ui_DisplayTagDialog):
'Tag "n" already defined.'))
return
# Add new tag to list
- tag = {u'desc': u'New Item', u'start tag': u'{n}',
- u'start html': u'', u'end tag': u'{/n}',
- u'end html': u'', u'protected': False}
- DisplayTags.add_html_tag(tag)
+ tag = {
+ u'desc': translate('OpenLP.DisplayTagTab', 'New Tag'),
+ u'start tag': u'{n}',
+ u'start html': translate('OpenLP.DisplayTagTab', ''),
+ u'end tag': u'{/n}',
+ u'end html': translate('OpenLP.DisplayTagTab', ''),
+ u'protected': False
+ }
+ DisplayTags.add_html_tags([tag])
self._resetTable()
# Highlight new row
self.tagTableWidget.selectRow(self.tagTableWidget.rowCount() - 1)
self.onRowSelected()
- def onDefaultPushed(self):
- """
- Remove all Custom Tags and reset to base set only.
- """
- DisplayTags.reset_html_tags()
- self._resetTable()
-
def onDeletePushed(self):
"""
Delete selected custom tag.
diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py
index b245f7241..41059f942 100644
--- a/openlp/plugins/bibles/lib/mediaitem.py
+++ b/openlp/plugins/bibles/lib/mediaitem.py
@@ -775,6 +775,7 @@ class BibleMediaItem(MediaManagerItem):
# We have to be 'Continuous'.
else:
bible_text = u'%s %s %s\n' % (bible_text, verse_text, text)
+ bible_text = bible_text.strip(u' ')
if not old_item:
start_item = bitem
elif self.checkTitle(bitem, old_item):
diff --git a/openlp/plugins/custom/forms/editcustomform.py b/openlp/plugins/custom/forms/editcustomform.py
index 5a23e2066..0e4376634 100644
--- a/openlp/plugins/custom/forms/editcustomform.py
+++ b/openlp/plugins/custom/forms/editcustomform.py
@@ -116,7 +116,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
log.debug(u'accept')
if self.saveCustom():
Receiver.send_message(u'custom_set_autoselect_item',
- self.customSlide.title)
+ self.customSlide.id)
Receiver.send_message(u'custom_load_list')
QtGui.QDialog.accept(self)
diff --git a/openlp/plugins/custom/lib/mediaitem.py b/openlp/plugins/custom/lib/mediaitem.py
index 91af98bea..43f4afd63 100644
--- a/openlp/plugins/custom/lib/mediaitem.py
+++ b/openlp/plugins/custom/lib/mediaitem.py
@@ -147,7 +147,7 @@ class CustomMediaItem(MediaManagerItem):
QtCore.Qt.UserRole, QtCore.QVariant(custom_slide.id))
self.listView.addItem(custom_name)
# Auto-select the item if name has been set
- if custom_slide.title == self.autoSelectItem:
+ if custom_slide.id == self.autoSelectItem:
self.listView.setCurrentItem(custom_name)
def onNewClick(self):
diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py
index ba4afdfe7..393009f82 100644
--- a/openlp/plugins/songs/forms/editsongform.py
+++ b/openlp/plugins/songs/forms/editsongform.py
@@ -696,9 +696,9 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.clearCaches()
if self._validate_song():
self.saveSong()
- Receiver.send_message(u'songs_set_autoselect_item',
- unicode(self.titleEdit.text()))
+ Receiver.send_message(u'songs_set_autoselect_item',self.song.id)
Receiver.send_message(u'songs_load_list')
+ self.song = None
QtGui.QDialog.accept(self)
def saveSong(self, preview=False):
@@ -756,8 +756,6 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
self.song.topics.append(self.manager.get_object(Topic, topicId))
clean_song(self.manager, self.song)
self.manager.save_object(self.song)
- if not preview:
- self.song = None
def _processLyrics(self):
"""
diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py
index cc36f983a..7fe4d45c4 100644
--- a/openlp/plugins/songs/lib/mediaitem.py
+++ b/openlp/plugins/songs/lib/mediaitem.py
@@ -245,7 +245,7 @@ class SongMediaItem(MediaManagerItem):
song_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(song.id))
self.listView.addItem(song_name)
# Auto-select the item if name has been set
- if song.title == self.autoSelectItem :
+ if song.id == self.autoSelectItem :
self.listView.setCurrentItem(song_name)
def displayResultsAuthor(self, searchresults):