diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index bc075c3e1..08faec312 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1106,7 +1106,7 @@ class ServiceManager(QtGui.QWidget): self.mainwindow.servicemanagerSettingsSection + u'/service theme', QtCore.QVariant(self.service_theme)) - self.regenerateServiceItems() + self.regenerateServiceItems(True) def themeChange(self): """ @@ -1118,7 +1118,7 @@ class ServiceManager(QtGui.QWidget): self.themeLabel.setVisible(visible) self.themeComboBox.setVisible(visible) - def regenerateServiceItems(self): + def regenerateServiceItems(self, changed=False): """ Rebuild the service list as things have changed and a repaint is the easiest way to do this. @@ -1154,7 +1154,8 @@ class ServiceManager(QtGui.QWidget): repaint=False, selected=item[u'selected']) # Set to False as items may have changed rendering # does not impact the saved song so True may also be valid - self.setModified() + if changed: + self.setModified() # Repaint it once only at the end self.repaintServiceList(-1, -1) Receiver.send_message(u'cursor_normal') @@ -1439,7 +1440,7 @@ class ServiceManager(QtGui.QWidget): theme = None item = self.findServiceItem()[0] self.serviceItems[item][u'service_item'].update_theme(theme) - self.regenerateServiceItems() + self.regenerateServiceItems(True) def _getParentItemData(self, item): parentitem = item.parent()