forked from openlp/openlp
Head r1264
This commit is contained in:
commit
293bb8ce33
@ -67,6 +67,7 @@ class Ui_AlertDialog(object):
|
||||
self.saveButton.setObjectName(u'saveButton')
|
||||
self.manageButtonLayout.addWidget(self.saveButton)
|
||||
self.deleteButton = delete_push_button(alertDialog)
|
||||
self.deleteButton.setEnabled(False)
|
||||
self.manageButtonLayout.addWidget(self.deleteButton)
|
||||
self.manageButtonLayout.addStretch()
|
||||
self.alertDialogLayout.addLayout(self.manageButtonLayout, 1, 1)
|
||||
@ -74,11 +75,13 @@ class Ui_AlertDialog(object):
|
||||
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,
|
||||
|
@ -44,20 +44,22 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
|
||||
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.saveButton, QtCore.SIGNAL(u'clicked()'),
|
||||
self.onSaveClick)
|
||||
QtCore.QObject.connect(self.newButton,
|
||||
QtCore.SIGNAL(u'clicked()'), self.onNewClick)
|
||||
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):
|
||||
"""
|
||||
@ -70,12 +72,9 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
|
||||
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())):
|
||||
@ -93,8 +92,6 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
|
||||
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:
|
||||
@ -133,30 +130,26 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
|
||||
"""
|
||||
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):
|
||||
"""
|
||||
@ -165,30 +158,49 @@ class AlertForm(QtGui.QDialog, Ui_AlertDialog):
|
||||
``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".
|
||||
|
Loading…
Reference in New Issue
Block a user