diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 2d6bcce46..01272e438 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -266,7 +266,7 @@ class MediaManagerItem(QtGui.QWidget): """ Creates the main widget for listing items the media item is tracking """ - #Add the List widget + # Add the List widget self.listView = self.ListViewWithDnD_class(self) self.listView.uniformItemSizes = True self.listView.setSpacing(1) @@ -275,9 +275,9 @@ class MediaManagerItem(QtGui.QWidget): self.listView.setAlternatingRowColors(True) self.listView.setDragEnabled(True) self.listView.setObjectName(u'%sListView' % self.plugin.name) - #Add to pageLayout + # Add to pageLayout self.pageLayout.addWidget(self.listView) - #define and add the context menu + # define and add the context menu self.listView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) name_string = self.plugin.getString(StringContent.Name) if self.hasEditIcon: diff --git a/openlp/core/ui/thememanager.py b/openlp/core/ui/thememanager.py index 7e929bb33..73f1a6d8b 100644 --- a/openlp/core/ui/thememanager.py +++ b/openlp/core/ui/thememanager.py @@ -69,7 +69,7 @@ class ThemeManager(QtGui.QWidget): u':/themes/theme_edit.png', translate('OpenLP.ThemeManager', 'Edit a theme.'), self.onEditTheme) - self.toolbar.addToolbarButton( + self.deleteToolbarAction = self.toolbar.addToolbarButton( translate('OpenLP.ThemeManager', 'Delete Theme'), u':/general/general_delete.png', translate('OpenLP.ThemeManager', 'Delete a theme.'), @@ -124,6 +124,9 @@ class ThemeManager(QtGui.QWidget): QtCore.QObject.connect(self.themeListWidget, QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.changeGlobalFromScreen) + QtCore.QObject.connect(self.themeListWidget, + QtCore.SIGNAL(u'itemClicked(QListWidgetItem *)'), + self.checkListState) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'theme_update_global'), self.changeGlobalFromTab) QtCore.QObject.connect(Receiver.get_receiver(), @@ -147,6 +150,18 @@ class ThemeManager(QtGui.QWidget): self.settingsSection + u'/global theme', QtCore.QVariant(u'')).toString()) + def checkListState(self, item): + """ + If Default theme selected remove delete button. + """ + realThemeName = unicode(item.data(QtCore.Qt.UserRole).toString()) + themeName = unicode(item.text()) + # If default theme restrict actions + if realThemeName == themeName: + self.deleteToolbarAction.setVisible(True) + else: + self.deleteToolbarAction.setVisible(False) + def contextMenu(self, point): """ Build the Right Click Context menu and set state depending on diff --git a/openlp/core/utils/__init__.py b/openlp/core/utils/__init__.py index 5274a6186..ccdb2afa1 100644 --- a/openlp/core/utils/__init__.py +++ b/openlp/core/utils/__init__.py @@ -207,7 +207,7 @@ def check_latest_version(current_version): The current version of OpenLP. """ version_string = current_version[u'full'] - #set to prod in the distribution config file. + # set to prod in the distribution config file. settings = QtCore.QSettings() settings.beginGroup(u'general') last_test = unicode(settings.value(u'last version test', diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 5d6544346..93e40f58a 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -448,7 +448,7 @@ class SongMediaItem(MediaManagerItem): if self.addSongFromService: editId = self.openLyrics.xml_to_song(item.xml_version) # Update service with correct song id. - if editId != 0: + if editId: Receiver.send_message(u'service_item_update', u'%s:%s' % (editId, item._uuid)) diff --git a/openlp/plugins/songs/lib/openlyricsimport.py b/openlp/plugins/songs/lib/openlyricsimport.py index f11ba7642..c4610dfc0 100644 --- a/openlp/plugins/songs/lib/openlyricsimport.py +++ b/openlp/plugins/songs/lib/openlyricsimport.py @@ -70,7 +70,7 @@ class OpenLyricsImport(SongImport): parser = etree.XMLParser(remove_blank_text=True) file = etree.parse(file_path, parser) xml = unicode(etree.tostring(file)) - if self.openLyrics.xml_to_song(xml) == 0: + if self.openLyrics.xml_to_song(xml) is None: log.debug(u'File could not be imported: %s' % file_path) # Importing this song failed! For now we stop import. return False diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 588ff923c..cbe313212 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -143,10 +143,11 @@ class SongXML(object): class OpenLyrics(object): """ - This class represents the converter for OpenLyrics XML to/from a song. + This class represents the converter for OpenLyrics XML (version 0.7) + to/from a song. As OpenLyrics has a rich set of different features, we cannot support them - all. The following features are supported by the :class:`OpenLyricsParser`:: + all. The following features are supported by the :class:`OpenLyrics`:: ** OpenLP does not support the attribute *type* and *lang*. @@ -203,7 +204,7 @@ class OpenLyrics(object): def __init__(self, manager): self.manager = manager - def song_to_xml(self, song, pretty_print=False): + def song_to_xml(self, song): """ Convert the song to OpenLyrics Format. """ @@ -253,7 +254,7 @@ class OpenLyrics(object): element = self._add_text_to_element(u'lines', element) for line in unicode(verse[1]).split(u'\n'): self._add_text_to_element(u'line', element, line) - return self._extract_xml(song_xml, pretty_print) + return self._extract_xml(song_xml) def xml_to_song(self, xml): """ @@ -266,7 +267,7 @@ class OpenLyrics(object): """ # No xml get out of here. if not xml: - return 0 + return None song = Song() if xml[:5] == u'