openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #04790
[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)
- camelCase for Qt Classes
- "Save" button now only saves the alert (if the alert has not created before the save button is disabled). -> the buttons are less confusing
- feedback:
1) If the "alert text" field does not contain "<>" but the parameter field is not empty, then a pop up opens.
2) If the "alert text" field does contain "<>" but the parameter field is empty, a pop up opens.
- docs
--
https://code.launchpad.net/~googol-hush/openlp/alerts/+merge/43433
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 2010-12-09 17:44:18 +0000
+++ openlp/plugins/alerts/forms/alertdialog.py 2010-12-11 20:32:53 +0000
@@ -29,115 +29,112 @@
from openlp.core.lib import build_icon, translate
class Ui_AlertDialog(object):
- def setupUi(self, AlertDialog):
- AlertDialog.setObjectName(u'AlertDialog')
- AlertDialog.resize(567, 440)
- AlertDialog.setWindowIcon(build_icon(u':/icon/openlp.org-icon-32.bmp'))
- self.AlertDialogLayout = QtGui.QVBoxLayout(AlertDialog)
- self.AlertDialogLayout.setSpacing(8)
- self.AlertDialogLayout.setMargin(8)
- self.AlertDialogLayout.setObjectName(u'AlertDialogLayout')
- self.AlertTextLayout = QtGui.QFormLayout()
- self.AlertTextLayout.setContentsMargins(0, 0, -1, -1)
- self.AlertTextLayout.setSpacing(8)
- self.AlertTextLayout.setObjectName(u'AlertTextLayout')
- self.AlertEntryLabel = QtGui.QLabel(AlertDialog)
+ def setupUi(self, alertDialog):
+ alertDialog.setObjectName(u'alertDialog')
+ alertDialog.resize(567, 440)
+ alertDialog.setWindowIcon(build_icon(u':/icon/openlp.org-icon-32.bmp'))
+ self.alertDialogLayout = QtGui.QVBoxLayout(alertDialog)
+ self.alertDialogLayout.setSpacing(8)
+ self.alertDialogLayout.setMargin(8)
+ self.alertDialogLayout.setObjectName(u'alertDialogLayout')
+ self.alertTextLayout = QtGui.QFormLayout()
+ self.alertTextLayout.setContentsMargins(0, 0, -1, -1)
+ self.alertTextLayout.setSpacing(8)
+ self.alertTextLayout.setObjectName(u'AlertTextLayout')
+ self.alertEntryLabel = QtGui.QLabel(alertDialog)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
QtGui.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(
- self.AlertEntryLabel.sizePolicy().hasHeightForWidth())
- self.AlertEntryLabel.setSizePolicy(sizePolicy)
- self.AlertEntryLabel.setObjectName(u'AlertEntryLabel')
- self.AlertTextLayout.setWidget(0, QtGui.QFormLayout.LabelRole,
- self.AlertEntryLabel)
- self.AlertParameter = QtGui.QLabel(AlertDialog)
- self.AlertParameter.setObjectName(u'AlertParameter')
- self.AlertTextLayout.setWidget(1, QtGui.QFormLayout.LabelRole,
- self.AlertParameter)
- self.ParameterEdit = QtGui.QLineEdit(AlertDialog)
- self.ParameterEdit.setObjectName(u'ParameterEdit')
- self.AlertTextLayout.setWidget(1, QtGui.QFormLayout.FieldRole,
- self.ParameterEdit)
- self.AlertTextEdit = QtGui.QLineEdit(AlertDialog)
- self.AlertTextEdit.setObjectName(u'AlertTextEdit')
- self.AlertTextLayout.setWidget(0, QtGui.QFormLayout.FieldRole,
- self.AlertTextEdit)
- self.AlertDialogLayout.addLayout(self.AlertTextLayout)
- self.ManagementLayout = QtGui.QHBoxLayout()
- self.ManagementLayout.setSpacing(8)
- self.ManagementLayout.setContentsMargins(-1, -1, -1, 0)
- self.ManagementLayout.setObjectName(u'ManagementLayout')
- self.AlertListWidget = QtGui.QListWidget(AlertDialog)
- self.AlertListWidget.setAlternatingRowColors(True)
- self.AlertListWidget.setObjectName(u'AlertListWidget')
- self.ManagementLayout.addWidget(self.AlertListWidget)
- self.ManageButtonLayout = QtGui.QVBoxLayout()
- self.ManageButtonLayout.setSpacing(8)
- self.ManageButtonLayout.setObjectName(u'ManageButtonLayout')
- self.NewButton = QtGui.QPushButton(AlertDialog)
- self.NewButton.setIcon(build_icon(u':/general/general_new.png'))
- self.NewButton.setObjectName(u'NewButton')
- self.ManageButtonLayout.addWidget(self.NewButton)
- self.SaveButton = QtGui.QPushButton(AlertDialog)
- self.SaveButton.setEnabled(False)
- self.SaveButton.setIcon(build_icon(u':/general/general_save.png'))
- self.SaveButton.setObjectName(u'SaveButton')
- self.ManageButtonLayout.addWidget(self.SaveButton)
- self.DeleteButton = QtGui.QPushButton(AlertDialog)
- self.DeleteButton.setIcon(build_icon(u':/general/general_delete.png'))
- self.DeleteButton.setObjectName(u'DeleteButton')
- self.ManageButtonLayout.addWidget(self.DeleteButton)
+ self.alertEntryLabel.sizePolicy().hasHeightForWidth())
+ self.alertEntryLabel.setSizePolicy(sizePolicy)
+ self.alertEntryLabel.setObjectName(u'AlertEntryLabel')
+ self.alertTextLayout.setWidget(0, QtGui.QFormLayout.LabelRole,
+ self.alertEntryLabel)
+ self.alertParameter = QtGui.QLabel(alertDialog)
+ self.alertParameter.setObjectName(u'AlertParameter')
+ self.alertTextLayout.setWidget(1, QtGui.QFormLayout.LabelRole,
+ self.alertParameter)
+ self.parameterEdit = QtGui.QLineEdit(alertDialog)
+ self.parameterEdit.setObjectName(u'ParameterEdit')
+ self.alertTextLayout.setWidget(1, QtGui.QFormLayout.FieldRole,
+ self.parameterEdit)
+ self.alertTextEdit = QtGui.QLineEdit(alertDialog)
+ self.alertTextEdit.setObjectName(u'AlertTextEdit')
+ self.alertTextLayout.setWidget(0, QtGui.QFormLayout.FieldRole,
+ self.alertTextEdit)
+ self.alertDialogLayout.addLayout(self.alertTextLayout)
+ self.managementLayout = QtGui.QHBoxLayout()
+ self.managementLayout.setSpacing(8)
+ self.managementLayout.setContentsMargins(-1, -1, -1, 0)
+ self.managementLayout.setObjectName(u'ManagementLayout')
+ self.alertListWidget = QtGui.QListWidget(alertDialog)
+ self.alertListWidget.setAlternatingRowColors(True)
+ self.alertListWidget.setObjectName(u'AlertListWidget')
+ self.managementLayout.addWidget(self.alertListWidget)
+ self.manageButtonLayout = QtGui.QVBoxLayout()
+ self.manageButtonLayout.setSpacing(8)
+ self.manageButtonLayout.setObjectName(u'ManageButtonLayout')
+ self.newButton = QtGui.QPushButton(alertDialog)
+ self.newButton.setIcon(build_icon(u':/general/general_new.png'))
+ self.newButton.setObjectName(u'NewButton')
+ self.manageButtonLayout.addWidget(self.newButton)
+ self.saveButton = QtGui.QPushButton(alertDialog)
+ self.saveButton.setEnabled(False)
+ self.saveButton.setIcon(build_icon(u':/general/general_save.png'))
+ self.saveButton.setObjectName(u'SaveButton')
+ self.manageButtonLayout.addWidget(self.saveButton)
+ self.deleteButton = QtGui.QPushButton(alertDialog)
+ self.deleteButton.setIcon(build_icon(u':/general/general_delete.png'))
+ self.deleteButton.setObjectName(u'DeleteButton')
+ self.manageButtonLayout.addWidget(self.deleteButton)
spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
QtGui.QSizePolicy.Expanding)
- self.ManageButtonLayout.addItem(spacerItem)
- self.ManagementLayout.addLayout(self.ManageButtonLayout)
- self.AlertDialogLayout.addLayout(self.ManagementLayout)
- self.AlertButtonLayout = QtGui.QHBoxLayout()
- self.AlertButtonLayout.setSpacing(8)
- self.AlertButtonLayout.setObjectName(u'AlertButtonLayout')
+ self.manageButtonLayout.addItem(spacerItem)
+ self.managementLayout.addLayout(self.manageButtonLayout)
+ self.alertDialogLayout.addLayout(self.managementLayout)
+ self.alertButtonLayout = QtGui.QHBoxLayout()
+ self.alertButtonLayout.setSpacing(8)
+ self.alertButtonLayout.setObjectName(u'AlertButtonLayout')
spacerItem1 = QtGui.QSpacerItem(181, 0, QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Minimum)
- self.AlertButtonLayout.addItem(spacerItem1)
+ self.alertButtonLayout.addItem(spacerItem1)
displayIcon = build_icon(u':/general/general_live.png')
- self.DisplayButton = QtGui.QPushButton(AlertDialog)
- self.DisplayButton.setIcon(displayIcon)
- self.DisplayButton.setObjectName(u'DisplayButton')
- self.AlertButtonLayout.addWidget(self.DisplayButton)
- self.DisplayCloseButton = QtGui.QPushButton(AlertDialog)
- self.DisplayCloseButton.setIcon(displayIcon)
- self.DisplayCloseButton.setObjectName(u'DisplayCloseButton')
- self.AlertButtonLayout.addWidget(self.DisplayCloseButton)
- self.CloseButton = QtGui.QPushButton(AlertDialog)
- self.CloseButton.setIcon(build_icon(u':/system/system_close.png'))
- self.CloseButton.setObjectName(u'CloseButton')
- self.AlertButtonLayout.addWidget(self.CloseButton)
- self.AlertDialogLayout.addLayout(self.AlertButtonLayout)
- self.AlertEntryLabel.setBuddy(self.AlertTextEdit)
- self.AlertParameter.setBuddy(self.ParameterEdit)
-
- self.retranslateUi(AlertDialog)
- QtCore.QObject.connect(self.CloseButton, QtCore.SIGNAL(u'clicked()'),
- AlertDialog.close)
- QtCore.QMetaObject.connectSlotsByName(AlertDialog)
-
- def retranslateUi(self, AlertDialog):
- AlertDialog.setWindowTitle(
+ self.displayButton = QtGui.QPushButton(alertDialog)
+ self.displayButton.setIcon(displayIcon)
+ self.displayButton.setObjectName(u'DisplayButton')
+ self.alertButtonLayout.addWidget(self.displayButton)
+ self.displayCloseButton = QtGui.QPushButton(alertDialog)
+ self.displayCloseButton.setIcon(displayIcon)
+ self.displayCloseButton.setObjectName(u'DisplayCloseButton')
+ self.alertButtonLayout.addWidget(self.displayCloseButton)
+ self.closeButton = QtGui.QPushButton(alertDialog)
+ self.closeButton.setIcon(build_icon(u':/system/system_close.png'))
+ self.closeButton.setObjectName(u'CloseButton')
+ self.alertButtonLayout.addWidget(self.closeButton)
+ self.alertDialogLayout.addLayout(self.alertButtonLayout)
+ self.alertEntryLabel.setBuddy(self.alertTextEdit)
+ self.alertParameter.setBuddy(self.parameterEdit)
+
+ self.retranslateUi(alertDialog)
+ QtCore.QObject.connect(self.closeButton, QtCore.SIGNAL(u'clicked()'),
+ alertDialog.close)
+ QtCore.QMetaObject.connectSlotsByName(alertDialog)
+
+ def retranslateUi(self, alertDialog):
+ alertDialog.setWindowTitle(
translate('AlertsPlugin.AlertForm', 'Alert Message'))
- self.AlertEntryLabel.setText(
+ self.alertEntryLabel.setText(
translate('AlertsPlugin.AlertForm', 'Alert &text:'))
- self.AlertParameter.setText(
+ self.alertParameter.setText(
translate('AlertsPlugin.AlertForm', '&Parameter:'))
- self.NewButton.setText(
- translate('AlertsPlugin.AlertForm', '&New'))
- self.SaveButton.setText(
- translate('AlertsPlugin.AlertForm', '&Save'))
- self.DeleteButton.setText(
+ self.newButton.setText(translate('AlertsPlugin.AlertForm', '&New'))
+ self.saveButton.setText(translate('AlertsPlugin.AlertForm', '&Save'))
+ self.deleteButton.setText(
translate('AlertsPlugin.AlertForm', '&Delete'))
- self.DisplayButton.setText(
+ self.displayButton.setText(
translate('AlertsPlugin.AlertForm', 'Displ&ay'))
- self.DisplayCloseButton.setText(
+ self.displayCloseButton.setText(
translate('AlertsPlugin.AlertForm', 'Display && Cl&ose'))
- self.CloseButton.setText(
- translate('AlertsPlugin.AlertForm', '&Close'))
+ self.closeButton.setText(translate('AlertsPlugin.AlertForm', '&Close'))
=== modified file 'openlp/plugins/alerts/forms/alertform.py'
--- openlp/plugins/alerts/forms/alertform.py 2010-10-15 14:43:42 +0000
+++ openlp/plugins/alerts/forms/alertform.py 2010-12-11 20:32:53 +0000
@@ -44,115 +44,157 @@
self.item_id = None
QtGui.QDialog.__init__(self, plugin.formparent)
self.setupUi(self)
- QtCore.QObject.connect(self.DisplayButton, QtCore.SIGNAL(u'clicked()'),
+ QtCore.QObject.connect(self.displayButton, QtCore.SIGNAL(u'clicked()'),
self.onDisplayClicked)
- QtCore.QObject.connect(self.DisplayCloseButton,
+ QtCore.QObject.connect(self.displayCloseButton,
QtCore.SIGNAL(u'clicked()'), self.onDisplayCloseClicked)
- QtCore.QObject.connect(self.AlertTextEdit,
+ QtCore.QObject.connect(self.alertTextEdit,
QtCore.SIGNAL(u'textChanged(const QString&)'), self.onTextChanged)
- QtCore.QObject.connect(self.NewButton, QtCore.SIGNAL(u'clicked()'),
+ QtCore.QObject.connect(self.newButton, QtCore.SIGNAL(u'clicked()'),
self.onNewClick)
- QtCore.QObject.connect(self.DeleteButton, QtCore.SIGNAL(u'clicked()'),
+ QtCore.QObject.connect(self.deleteButton, QtCore.SIGNAL(u'clicked()'),
self.onDeleteClick)
- QtCore.QObject.connect(self.SaveButton, QtCore.SIGNAL(u'clicked()'),
+ QtCore.QObject.connect(self.saveButton, QtCore.SIGNAL(u'clicked()'),
self.onSaveClick)
- QtCore.QObject.connect(self.AlertListWidget,
+ QtCore.QObject.connect(self.alertListWidget,
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onDoubleClick)
- QtCore.QObject.connect(self.AlertListWidget,
+ QtCore.QObject.connect(self.alertListWidget,
QtCore.SIGNAL(u'clicked(QModelIndex)'), self.onSingleClick)
def loadList(self):
- self.AlertListWidget.clear()
+ """
+ Loads the list with alerts.
+ """
+ self.alertListWidget.clear()
alerts = self.manager.get_all_objects(AlertItem,
order_by_ref=AlertItem.text)
for alert in alerts:
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)
+ self.alertListWidget.addItem(item_name)
+ self.saveButton.setEnabled(False)
+ self.deleteButton.setEnabled(False)
def onDisplayClicked(self):
- if self.triggerAlert(unicode(self.AlertTextEdit.text())):
+ if self.triggerAlert(unicode(self.alertTextEdit.text())):
self.loadList()
def onDisplayCloseClicked(self):
- if self.triggerAlert(unicode(self.AlertTextEdit.text())):
+ if self.triggerAlert(unicode(self.alertTextEdit.text())):
self.close()
def onDeleteClick(self):
- item = self.AlertListWidget.currentItem()
+ """
+ Deletes the selected item.
+ """
+ item = self.alertListWidget.currentItem()
if item:
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
self.manager.delete_object(AlertItem, item_id)
- row = self.AlertListWidget.row(item)
- self.AlertListWidget.takeItem(row)
- self.AlertTextEdit.setText(u'')
- self.SaveButton.setEnabled(False)
- self.DeleteButton.setEnabled(False)
+ row = self.alertListWidget.row(item)
+ 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:
+ """
+ Creates a new alert.
+ """
+ if len(self.alertTextEdit.text()) == 0:
QtGui.QMessageBox.information(self,
translate('AlertsPlugin.AlertForm', 'New Alert'),
translate('AlertsPlugin.AlertForm', 'You haven\'t specified '
- 'any text for your alert. Please type in some text before '
- 'clicking New.'))
+ 'any text for your alert. Please type in some text before '
+ 'clicking New.'))
else:
alert = AlertItem()
- alert.text = unicode(self.AlertTextEdit.text())
+ alert.text = unicode(self.alertTextEdit.text())
self.manager.save_object(alert)
- self.AlertTextEdit.setText(u'')
+ self.alertTextEdit.setText(u'')
self.loadList()
def onSaveClick(self):
"""
- Save an alert
+ Save the alert, we are editing.
"""
if self.item_id:
alert = self.manager.get_object(AlertItem, self.item_id)
- alert.text = unicode(self.AlertTextEdit.text())
+ alert.text = unicode(self.alertTextEdit.text())
self.manager.save_object(alert)
self.item_id = None
self.loadList()
- else:
- self.onNewClick()
def onTextChanged(self):
"""
- Enable save button when data has been changed by editing the form
+ Enable save button when data has been changed by editing the form.
"""
- self.SaveButton.setEnabled(True)
+ # Only enable the button, if we are editing an item.
+ if self.item_id:
+ self.saveButton.setEnabled(True)
def onDoubleClick(self):
"""
- List item has been double clicked to display it
+ List item has been double clicked to display it.
"""
- items = self.AlertListWidget.selectedIndexes()
+ items = self.alertListWidget.selectedIndexes()
for item in items:
- bitem = self.AlertListWidget.item(item.row())
- self.triggerAlert(bitem.text())
- self.AlertTextEdit.setText(bitem.text())
+ 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)
+ 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.
+ List item has been single clicked to add it to the edit field so it can
+ be changed.
"""
- items = self.AlertListWidget.selectedIndexes()
+ items = self.alertListWidget.selectedIndexes()
for item in items:
- bitem = self.AlertListWidget.item(item.row())
- self.AlertTextEdit.setText(bitem.text())
+ bitem = self.alertListWidget.item(item.row())
+ self.alertTextEdit.setText(unicode(bitem.text()))
self.item_id = (bitem.data(QtCore.Qt.UserRole)).toInt()[0]
- self.SaveButton.setEnabled(False)
- self.DeleteButton.setEnabled(True)
+ # 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):
+ """
+ Prepares the alert text for displaying.
+
+ ``text``
+ The alert text (unicode).
+ """
if text:
- text = text.replace(u'<>', unicode(self.ParameterEdit.text()))
+ # The parameterEdit field is not empty, but we have not found '<>'
+ # in the alert text.
+ 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
+ # We found '<>' in the alert text, but the parameterEdit field it
+ # empty.
+ 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.alertTextEdit.setFocus()
+ return False
+ text = text.replace(u'<>', unicode(self.parameterEdit.text()))
self.parent.alertsmanager.displayAlert(text)
return True
return False
=== modified file 'openlp/plugins/alerts/lib/alertsmanager.py'
--- openlp/plugins/alerts/lib/alertsmanager.py 2010-09-14 18:18:47 +0000
+++ openlp/plugins/alerts/lib/alertsmanager.py 2010-12-11 20:32:53 +0000
@@ -86,7 +86,7 @@
text = self.alertList.pop(0)
alertTab = self.parent.alertsTab
self.parent.liveController.display.alert(text)
- # check to see if we have a timer running
+ # Check to see if we have a timer running.
if self.timer_id == 0:
self.timer_id = self.startTimer(int(alertTab.timeout) * 1000)
@@ -94,9 +94,9 @@
"""
Time has finished so if our time then request the next Alert
if there is one and reset the timer.
+
``event``
the QT event that has been triggered.
-
"""
log.debug(u'timer event')
if event.timerId() == self.timer_id:
Follow ups