openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #05994
[Merge] lp:~googol-hush/openlp/alerts into lp:openlp
Andreas Preikschat has proposed merging lp:~googol-hush/openlp/alerts into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
For more details, see:
https://code.launchpad.net/~googol-hush/openlp/alerts/+merge/48537
Hello!
- enhanced the button behaviour on the alert dialog
--
https://code.launchpad.net/~googol-hush/openlp/alerts/+merge/48537
Your team OpenLP Core is requested to review the proposed merge of lp:~googol-hush/openlp/alerts into lp:openlp.
=== modified file 'openlp/plugins/alerts/forms/alertdialog.py'
--- openlp/plugins/alerts/forms/alertdialog.py 2011-01-05 17:13:57 +0000
+++ openlp/plugins/alerts/forms/alertdialog.py 2011-02-03 19:43:55 +0000
@@ -66,6 +66,7 @@
self.saveButton.setObjectName(u'saveButton')
self.manageButtonLayout.addWidget(self.saveButton)
self.deleteButton = QtGui.QPushButton(alertDialog)
+ self.deleteButton.setEnabled(False)
self.deleteButton.setIcon(build_icon(u':/general/general_delete.png'))
self.deleteButton.setObjectName(u'deleteButton')
self.manageButtonLayout.addWidget(self.deleteButton)
@@ -75,11 +76,13 @@
self.buttonBox.addButton(QtGui.QDialogButtonBox.Close)
displayIcon = build_icon(u':/general/general_live.png')
self.displayButton = QtGui.QPushButton(alertDialog)
+ self.displayButton.setEnabled(False)
self.displayButton.setIcon(displayIcon)
self.displayButton.setObjectName(u'displayButton')
self.buttonBox.addButton(self.displayButton,
QtGui.QDialogButtonBox.ActionRole)
self.displayCloseButton = QtGui.QPushButton(alertDialog)
+ self.displayCloseButton.setEnabled(False)
self.displayCloseButton.setIcon(displayIcon)
self.displayCloseButton.setObjectName(u'displayCloseButton')
self.buttonBox.addButton(self.displayCloseButton,
=== modified file 'openlp/plugins/alerts/forms/alertform.py'
--- openlp/plugins/alerts/forms/alertform.py 2011-01-22 12:21:43 +0000
+++ openlp/plugins/alerts/forms/alertform.py 2011-02-03 19:43:55 +0000
@@ -44,22 +44,24 @@
self.item_id = None
QtGui.QDialog.__init__(self, plugin.formparent)
self.setupUi(self)
- QtCore.QObject.connect(self.displayButton, QtCore.SIGNAL(u'clicked()'),
- self.onDisplayClicked)
+ QtCore.QObject.connect(self.displayButton,
+ QtCore.SIGNAL(u'clicked()'), self.onDisplayClicked)
QtCore.QObject.connect(self.displayCloseButton,
QtCore.SIGNAL(u'clicked()'), self.onDisplayCloseClicked)
QtCore.QObject.connect(self.alertTextEdit,
QtCore.SIGNAL(u'textChanged(const QString&)'), self.onTextChanged)
- QtCore.QObject.connect(self.newButton, QtCore.SIGNAL(u'clicked()'),
- self.onNewClick)
- QtCore.QObject.connect(self.deleteButton, QtCore.SIGNAL(u'clicked()'),
- self.onDeleteClick)
- QtCore.QObject.connect(self.saveButton, QtCore.SIGNAL(u'clicked()'),
- self.onSaveClick)
+ QtCore.QObject.connect(self.newButton,
+ QtCore.SIGNAL(u'clicked()'), self.onNewClick)
+ QtCore.QObject.connect(self.deleteButton,
+ QtCore.SIGNAL(u'clicked()'), self.onDeleteClick)
+ QtCore.QObject.connect(self.saveButton,
+ QtCore.SIGNAL(u'clicked()'), self.onSaveClick)
QtCore.QObject.connect(self.alertListWidget,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onDoubleClick)
QtCore.QObject.connect(self.alertListWidget,
QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onSingleClick)
+ QtCore.QObject.connect(self.alertListWidget,
+ QtCore.SIGNAL(u'currentRowChanged(int)'), self.onCurrentRowChanged)
def loadList(self):
"""
@@ -72,12 +74,9 @@
item_name = QtGui.QListWidgetItem(alert.text)
item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(alert.id))
self.alertListWidget.addItem(item_name)
- self.saveButton.setEnabled(False)
- self.deleteButton.setEnabled(False)
def onDisplayClicked(self):
- if self.triggerAlert(unicode(self.alertTextEdit.text())):
- self.loadList()
+ self.triggerAlert(unicode(self.alertTextEdit.text()))
def onDisplayCloseClicked(self):
if self.triggerAlert(unicode(self.alertTextEdit.text())):
@@ -95,8 +94,6 @@
self.alertListWidget.takeItem(row)
self.item_id = None
self.alertTextEdit.setText(u'')
- self.saveButton.setEnabled(False)
- self.deleteButton.setEnabled(False)
def onNewClick(self):
if len(self.alertTextEdit.text()) == 0:
@@ -135,30 +132,26 @@
"""
List item has been double clicked to display it
"""
- items = self.alertListWidget.selectedIndexes()
- for item in items:
- bitem = self.alertListWidget.item(item.row())
- self.triggerAlert(unicode(bitem.text()))
- self.alertTextEdit.setText(unicode(bitem.text()))
- self.item_id = (bitem.data(QtCore.Qt.UserRole)).toInt()[0]
+ item = self.alertListWidget.selectedIndexes()[0]
+ bitem = self.alertListWidget.item(item.row())
+ self.triggerAlert(unicode(bitem.text()))
+ self.alertTextEdit.setText(unicode(bitem.text()))
+ self.item_id = (bitem.data(QtCore.Qt.UserRole)).toInt()[0]
self.saveButton.setEnabled(False)
- self.deleteButton.setEnabled(True)
def onSingleClick(self):
"""
List item has been single clicked to add it to
the edit field so it can be changed.
"""
- items = self.alertListWidget.selectedIndexes()
- for item in items:
- bitem = self.alertListWidget.item(item.row())
- self.alertTextEdit.setText(unicode(bitem.text()))
- self.item_id = (bitem.data(QtCore.Qt.UserRole)).toInt()[0]
+ item = self.alertListWidget.selectedIndexes()[0]
+ bitem = self.alertListWidget.item(item.row())
+ self.alertTextEdit.setText(unicode(bitem.text()))
+ self.item_id = (bitem.data(QtCore.Qt.UserRole)).toInt()[0]
# If the alert does not contain '<>' we clear the ParameterEdit field.
if unicode(self.alertTextEdit.text()).find(u'<>') == -1:
self.parameterEdit.setText(u'')
self.saveButton.setEnabled(False)
- self.deleteButton.setEnabled(True)
def triggerAlert(self, text):
"""
@@ -167,30 +160,49 @@
``text``
The alert text (unicode).
"""
- if text:
- # We found '<>' in the alert text, but the ParameterEdit field is
- # empty.
- if text.find(u'<>') != -1 and not self.parameterEdit.text() and \
- QtGui.QMessageBox.question(self,
- translate('AlertPlugin.AlertForm', 'No Parameter found'),
- translate('AlertPlugin.AlertForm', 'You have not entered a '
- 'parameter to be replaced.\nDo you want to continue anyway?'),
- QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No |
- QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.No:
- self.parameterEdit.setFocus()
- return False
- # The ParameterEdit field is not empty, but we have not found '<>'
- # in the alert text.
- elif text.find(u'<>') == -1 and self.parameterEdit.text() and \
- QtGui.QMessageBox.question(self,
- translate('AlertPlugin.AlertForm', 'No Placeholder found'),
- translate('AlertPlugin.AlertForm', 'The alert text does not'
- ' contain \'<>\'.\nDo want to continue anyway?'),
- QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No |
- QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.No:
- self.parameterEdit.setFocus()
- return False
- text = text.replace(u'<>', unicode(self.parameterEdit.text()))
- self.parent.alertsmanager.displayAlert(text)
- return True
- return False
+ if not text:
+ return False
+ # We found '<>' in the alert text, but the ParameterEdit field is empty.
+ if text.find(u'<>') != -1 and not self.parameterEdit.text() and \
+ QtGui.QMessageBox.question(self,
+ translate('AlertPlugin.AlertForm', 'No Parameter found'),
+ translate('AlertPlugin.AlertForm', 'You have not entered a '
+ 'parameter to be replaced.\nDo you want to continue anyway?'),
+ QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No |
+ QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.No:
+ self.parameterEdit.setFocus()
+ return False
+ # The ParameterEdit field is not empty, but we have not found '<>'
+ # in the alert text.
+ elif text.find(u'<>') == -1 and self.parameterEdit.text() and \
+ QtGui.QMessageBox.question(self,
+ translate('AlertPlugin.AlertForm', 'No Placeholder found'),
+ translate('AlertPlugin.AlertForm', 'The alert text does not'
+ ' contain \'<>\'.\nDo want to continue anyway?'),
+ QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No |
+ QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.No:
+ self.parameterEdit.setFocus()
+ return False
+ text = text.replace(u'<>', unicode(self.parameterEdit.text()))
+ self.parent.alertsmanager.displayAlert(text)
+ return True
+
+ def onCurrentRowChanged(self, row):
+ """
+ Called when the *alertListWidget*'s current row has been changed. This
+ enables or disables buttons which require an item to act on.
+
+ ``row``
+ The row (int). If there is no current row, the value is -1.
+ """
+ if row == -1:
+ self.displayButton.setEnabled(False)
+ self.displayCloseButton.setEnabled(False)
+ self.saveButton.setEnabled(False)
+ self.deleteButton.setEnabled(False)
+ else:
+ self.displayButton.setEnabled(True)
+ self.displayCloseButton.setEnabled(True)
+ self.deleteButton.setEnabled(True)
+ # We do not need to enable the save button, as it is only enabled
+ # when typing text in the "alertTextEdit".
Follow ups