diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index ec0d10743..faafb5223 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -38,6 +38,8 @@ class GeneralTab(SettingsTab): """ self.screens = screens self.monitorNumber = 0 + # Set to True to allow PostSetup to work on application start up + self.overrideChanged = True SettingsTab.__init__(self, u'General') def preLoad(self): @@ -413,7 +415,6 @@ class GeneralTab(SettingsTab): self.customYValueEdit.setEnabled(self.overrideCheckBox.isChecked()) self.customHeightValueEdit.setEnabled(self.overrideCheckBox.isChecked()) self.customWidthValueEdit.setEnabled(self.overrideCheckBox.isChecked()) - self.overrideChanged = False def save(self): """ @@ -457,7 +458,7 @@ class GeneralTab(SettingsTab): QtCore.QVariant(self.overrideCheckBox.isChecked())) settings.endGroup() self.screens.display = self.displayOnMonitorCheck.isChecked() - #Monitor Number has changed. + # Monitor Number has changed. if self.screens.monitor_number != self.monitorNumber: self.screens.monitor_number = self.monitorNumber self.screens.set_current_display(self.monitorNumber) @@ -473,16 +474,18 @@ class GeneralTab(SettingsTab): Receiver.send_message(u'slidecontroller_live_spin_delay', self.timeoutSpinBox.value()) # Reset screens after initial definition - self.screens.override[u'size'] = QtCore.QRect( - int(self.customXValueEdit.text()), - int(self.customYValueEdit.text()), - int(self.customWidthValueEdit.text()), - int(self.customHeightValueEdit.text())) - if self.overrideCheckBox.isChecked(): - self.screens.set_override_display() - Receiver.send_message(u'config_screen_changed') - else: - self.screens.reset_current_display() + if self.overrideChanged: + self.screens.override[u'size'] = QtCore.QRect( + int(self.customXValueEdit.text()), + int(self.customYValueEdit.text()), + int(self.customWidthValueEdit.text()), + int(self.customHeightValueEdit.text())) + if self.overrideCheckBox.isChecked(): + self.screens.set_override_display() + Receiver.send_message(u'config_screen_changed') + else: + self.screens.reset_current_display() + Receiver.send_message(u'config_screen_changed') def onOverrideCheckBoxToggled(self, checked): """ diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index c45e6cd47..169faa5a0 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -252,6 +252,7 @@ class MainDisplay(DisplayWidget): self.size().height()) self.webView.setGeometry(0, 0, self.size().width(), self.size().height()) + self.alertText.setTextWidth(self.size().width()) #Build a custom splash screen self.initialFrame = QtGui.QImage( self.screen[u'size'].width(), @@ -322,7 +323,6 @@ class MainDisplay(DisplayWidget): def setupAlert(self): self.alertText = QtGui.QGraphicsTextItem() - self.alertText.setTextWidth(self.size().width()) self.alertText.setZValue(8) self.scene.addItem(self.alertText) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 45f8ebfc4..6879d3475 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -88,8 +88,7 @@ class AlertsPlugin(Plugin): def toggleAlertsState(self): self.alertsActive = not self.alertsActive - QtCore.QSettings().setValue( - self.settingsSection + u'/active', + QtCore.QSettings().setValue(self.settingsSection + u'/active', QtCore.QVariant(self.alertsActive)) def onAlertsTrigger(self): diff --git a/openlp/plugins/songs/forms/songmaintenanceform.py b/openlp/plugins/songs/forms/songmaintenanceform.py index da4351fbc..83dba85a2 100644 --- a/openlp/plugins/songs/forms/songmaintenanceform.py +++ b/openlp/plugins/songs/forms/songmaintenanceform.py @@ -113,6 +113,12 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): u'%s %s' % (author.first_name, author.last_name)) author_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(author.id)) self.AuthorsListWidget.addItem(author_name) + if self.AuthorsListWidget.count() == 0: + self.AuthorDeleteButton.setEnabled(False) + self.AuthorEditButton.setEnabled(False) + else: + self.AuthorDeleteButton.setEnabled(True) + self.AuthorEditButton.setEnabled(True) def resetTopics(self): """ @@ -125,6 +131,12 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): topic_name = QtGui.QListWidgetItem(topic.name) topic_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(topic.id)) self.TopicsListWidget.addItem(topic_name) + if self.TopicsListWidget.count() == 0: + self.TopicDeleteButton.setEnabled(False) + self.TopicEditButton.setEnabled(False) + else: + self.TopicDeleteButton.setEnabled(True) + self.TopicEditButton.setEnabled(True) def resetBooks(self): """ @@ -137,6 +149,12 @@ class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog): book.publisher)) book_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(book.id)) self.BooksListWidget.addItem(book_name) + if self.BooksListWidget.count() == 0: + self.BookDeleteButton.setEnabled(False) + self.BookEditButton.setEnabled(False) + else: + self.BookDeleteButton.setEnabled(True) + self.BookEditButton.setEnabled(True) def checkAuthor(self, new_author, edit=False): """