forked from openlp/openlp
r1271
This commit is contained in:
commit
24a1e0e785
@ -38,6 +38,9 @@ def add_welcome_page(parent, image):
|
||||
"""
|
||||
Generate an opening welcome page for a wizard using a provided image.
|
||||
|
||||
``parent``
|
||||
A ``QWizard`` object to add the welcome page to.
|
||||
|
||||
``image``
|
||||
A splash image for the wizard.
|
||||
"""
|
||||
@ -58,9 +61,14 @@ def add_welcome_page(parent, image):
|
||||
parent.welcomeLayout.addStretch()
|
||||
parent.addPage(parent.welcomePage)
|
||||
|
||||
def save_cancel_button_box(parent):
|
||||
def create_save_cancel_button_box(parent):
|
||||
"""
|
||||
Return a standard dialog button box with save and cancel buttons.
|
||||
Creates a standard dialog button box with save and cancel buttons. The
|
||||
button box is connected to the parent's ``accept()`` and ``reject()``
|
||||
methods to handle the default ``accepted()`` and ``rejected()`` signals.
|
||||
|
||||
``parent``
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
"""
|
||||
button_box = QtGui.QDialogButtonBox(parent)
|
||||
button_box.setStandardButtons(
|
||||
@ -109,9 +117,18 @@ def media_item_combo_box(parent, name):
|
||||
combo.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
|
||||
return combo
|
||||
|
||||
def delete_push_button(parent, icon=None):
|
||||
def create_delete_push_button(parent, icon=None):
|
||||
"""
|
||||
Return a standard push button with delete label.
|
||||
Creates a standard push button with a delete label and optional icon. The
|
||||
button is connected to the parent's ``onDeleteButtonClicked()`` method to
|
||||
handle the ``clicked()`` signal.
|
||||
|
||||
``parent``
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
|
||||
``icon``
|
||||
An icon to display on the button. This can be either a ``QIcon``, a
|
||||
resource path or a file name.
|
||||
"""
|
||||
delete_button = QtGui.QPushButton(parent)
|
||||
delete_button.setObjectName(u'deleteButton')
|
||||
@ -124,9 +141,15 @@ def delete_push_button(parent, icon=None):
|
||||
QtCore.SIGNAL(u'clicked()'), parent.onDeleteButtonClicked)
|
||||
return delete_button
|
||||
|
||||
def up_down_push_button_set(parent):
|
||||
def create_up_down_push_button_set(parent):
|
||||
"""
|
||||
Return a standard set of two push buttons for up and down use with lists.
|
||||
Creates a standard set of two push buttons, one for up and the other for
|
||||
down, for use with lists. The buttons use arrow icons and no text and are
|
||||
connected to the parent's ``onUpButtonClicked()`` and
|
||||
``onDownButtonClicked()`` to handle their respective ``clicked()`` signals.
|
||||
|
||||
``parent``
|
||||
The parent object. This should be a ``QWidget`` descendant.
|
||||
"""
|
||||
up_button = QtGui.QPushButton(parent)
|
||||
up_button.setIcon(build_icon(u':/services/service_up.png'))
|
||||
@ -182,3 +205,17 @@ def shortcut_action(parent, text, shortcuts, function):
|
||||
action.setShortcutContext(QtCore.Qt.WidgetWithChildrenShortcut)
|
||||
QtCore.QObject.connect(action, QtCore.SIGNAL(u'triggered()'), function)
|
||||
return action
|
||||
|
||||
def add_widget_completer(cache, widget):
|
||||
"""
|
||||
Adds a text autocompleter to a widget.
|
||||
|
||||
``cache``
|
||||
The list of items to use as suggestions.
|
||||
|
||||
``widget``
|
||||
The object to use the completer.
|
||||
"""
|
||||
completer = QtGui.QCompleter(cache)
|
||||
completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
widget.setCompleter(completer)
|
||||
|
@ -27,8 +27,8 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import translate
|
||||
from openlp.core.lib.ui import save_cancel_button_box, delete_push_button, \
|
||||
up_down_push_button_set
|
||||
from openlp.core.lib.ui import create_save_cancel_button_box, \
|
||||
create_delete_push_button, create_up_down_push_button_set
|
||||
|
||||
class Ui_ServiceItemEditDialog(object):
|
||||
def setupUi(self, serviceItemEditDialog):
|
||||
@ -41,16 +41,16 @@ class Ui_ServiceItemEditDialog(object):
|
||||
self.dialogLayout.addWidget(self.listWidget, 0, 0)
|
||||
self.buttonLayout = QtGui.QVBoxLayout()
|
||||
self.buttonLayout.setObjectName(u'buttonLayout')
|
||||
self.deleteButton = delete_push_button(serviceItemEditDialog)
|
||||
self.deleteButton = create_delete_push_button(serviceItemEditDialog)
|
||||
self.buttonLayout.addWidget(self.deleteButton)
|
||||
self.buttonLayout.addStretch()
|
||||
self.upButton, self.downButton = up_down_push_button_set(
|
||||
self.upButton, self.downButton = create_up_down_push_button_set(
|
||||
serviceItemEditDialog)
|
||||
self.buttonLayout.addWidget(self.upButton)
|
||||
self.buttonLayout.addWidget(self.downButton)
|
||||
self.dialogLayout.addLayout(self.buttonLayout, 0, 1)
|
||||
self.dialogLayout.addWidget(
|
||||
save_cancel_button_box(serviceItemEditDialog), 1, 0, 1, 2)
|
||||
create_save_cancel_button_box(serviceItemEditDialog), 1, 0, 1, 2)
|
||||
self.retranslateUi(serviceItemEditDialog)
|
||||
QtCore.QMetaObject.connectSlotsByName(serviceItemEditDialog)
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import translate
|
||||
from openlp.core.lib.ui import save_cancel_button_box
|
||||
from openlp.core.lib.ui import create_save_cancel_button_box
|
||||
|
||||
class ServiceNoteForm(QtGui.QDialog):
|
||||
"""
|
||||
@ -48,7 +48,7 @@ class ServiceNoteForm(QtGui.QDialog):
|
||||
self.textEdit = QtGui.QTextEdit(self)
|
||||
self.textEdit.setObjectName(u'textEdit')
|
||||
self.dialogLayout.addWidget(self.textEdit)
|
||||
self.dialogLayout.addWidget(save_cancel_button_box(self))
|
||||
self.dialogLayout.addWidget(create_save_cancel_button_box(self))
|
||||
QtCore.QMetaObject.connectSlotsByName(self)
|
||||
|
||||
def retranslateUi(self):
|
||||
|
@ -27,7 +27,7 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import build_icon, translate
|
||||
from openlp.core.lib.ui import delete_push_button
|
||||
from openlp.core.lib.ui import create_delete_push_button
|
||||
|
||||
class Ui_AlertDialog(object):
|
||||
def setupUi(self, alertDialog):
|
||||
@ -66,7 +66,7 @@ class Ui_AlertDialog(object):
|
||||
self.saveButton.setIcon(build_icon(u':/general/general_save.png'))
|
||||
self.saveButton.setObjectName(u'saveButton')
|
||||
self.manageButtonLayout.addWidget(self.saveButton)
|
||||
self.deleteButton = delete_push_button(alertDialog)
|
||||
self.deleteButton = create_delete_push_button(alertDialog)
|
||||
self.deleteButton.setEnabled(False)
|
||||
self.manageButtonLayout.addWidget(self.deleteButton)
|
||||
self.manageButtonLayout.addStretch()
|
||||
|
@ -30,7 +30,8 @@ from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import MediaManagerItem, Receiver, BaseListWithDnD, \
|
||||
ItemCapabilities, translate
|
||||
from openlp.core.lib.ui import critical_error_message_box, media_item_combo_box
|
||||
from openlp.core.lib.ui import add_widget_completer, media_item_combo_box, \
|
||||
critical_error_message_box
|
||||
from openlp.plugins.bibles.forms import BibleImportForm
|
||||
from openlp.plugins.bibles.lib import get_reference_match
|
||||
|
||||
@ -379,9 +380,7 @@ class BibleMediaItem(MediaManagerItem):
|
||||
book_data = bibles[bible].get_books()
|
||||
books = [book.name for book in book_data]
|
||||
books.sort()
|
||||
completer = QtGui.QCompleter(books)
|
||||
completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
self.quickSearchEdit.setCompleter(completer)
|
||||
add_widget_completer(books, self.quickSearchEdit)
|
||||
|
||||
def onAdvancedVersionComboBox(self):
|
||||
self.initialiseBible(
|
||||
|
@ -38,7 +38,6 @@ class OpenSongBible(BibleDB):
|
||||
"""
|
||||
OpenSong Bible format importer class.
|
||||
"""
|
||||
|
||||
def __init__(self, parent, **kwargs):
|
||||
"""
|
||||
Constructor to create and set up an instance of the OpenSongBible
|
||||
@ -81,14 +80,13 @@ class OpenSongBible(BibleDB):
|
||||
db_book.id,
|
||||
int(chapter.attrib[u'n'].split()[-1]),
|
||||
int(verse.attrib[u'n']),
|
||||
unicode(verse.text)
|
||||
)
|
||||
Receiver.send_message(u'openlp_process_events')
|
||||
unicode(verse.text))
|
||||
self.wizard.incrementProgressBar(unicode(translate(
|
||||
'BiblesPlugin.Opensong', 'Importing %s %s...',
|
||||
'Importing <book name> <chapter>...')) %
|
||||
(db_book.name, int(chapter.attrib[u'n'].split()[-1])))
|
||||
self.session.commit()
|
||||
self.session.commit()
|
||||
Receiver.send_message(u'openlp_process_events')
|
||||
except (IOError, AttributeError):
|
||||
log.exception(u'Loading bible from OpenSong file failed')
|
||||
success = False
|
||||
|
@ -27,8 +27,8 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import build_icon, translate
|
||||
from openlp.core.lib.ui import save_cancel_button_box, delete_push_button, \
|
||||
up_down_push_button_set
|
||||
from openlp.core.lib.ui import create_save_cancel_button_box, \
|
||||
create_delete_push_button, create_up_down_push_button_set
|
||||
|
||||
class Ui_CustomEditDialog(object):
|
||||
def setupUi(self, customEditDialog):
|
||||
@ -60,16 +60,20 @@ class Ui_CustomEditDialog(object):
|
||||
self.addButton.setObjectName(u'addButton')
|
||||
self.buttonLayout.addWidget(self.addButton)
|
||||
self.editButton = QtGui.QPushButton(customEditDialog)
|
||||
self.editButton.setEnabled(False)
|
||||
self.editButton.setObjectName(u'editButton')
|
||||
self.buttonLayout.addWidget(self.editButton)
|
||||
self.editAllButton = QtGui.QPushButton(customEditDialog)
|
||||
self.editAllButton.setObjectName(u'editAllButton')
|
||||
self.buttonLayout.addWidget(self.editAllButton)
|
||||
self.deleteButton = delete_push_button(customEditDialog)
|
||||
self.deleteButton = create_delete_push_button(customEditDialog)
|
||||
self.deleteButton.setEnabled(False)
|
||||
self.buttonLayout.addWidget(self.deleteButton)
|
||||
self.buttonLayout.addStretch()
|
||||
self.upButton, self.downButton = up_down_push_button_set(
|
||||
self.upButton, self.downButton = create_up_down_push_button_set(
|
||||
customEditDialog)
|
||||
self.upButton.setEnabled(False)
|
||||
self.downButton.setEnabled(False)
|
||||
self.buttonLayout.addWidget(self.upButton)
|
||||
self.buttonLayout.addWidget(self.downButton)
|
||||
self.centralLayout.addLayout(self.buttonLayout)
|
||||
@ -90,7 +94,10 @@ class Ui_CustomEditDialog(object):
|
||||
self.creditLabel.setBuddy(self.creditEdit)
|
||||
self.bottomFormLayout.addRow(self.creditLabel, self.creditEdit)
|
||||
self.dialogLayout.addLayout(self.bottomFormLayout)
|
||||
self.buttonBox = save_cancel_button_box(customEditDialog)
|
||||
self.buttonBox = create_save_cancel_button_box(customEditDialog)
|
||||
self.previewButton = QtGui.QPushButton()
|
||||
self.buttonBox.addButton(
|
||||
self.previewButton, QtGui.QDialogButtonBox.ActionRole)
|
||||
self.dialogLayout.addWidget(self.buttonBox)
|
||||
self.retranslateUi(customEditDialog)
|
||||
QtCore.QMetaObject.connectSlotsByName(customEditDialog)
|
||||
@ -119,3 +126,5 @@ class Ui_CustomEditDialog(object):
|
||||
translate('CustomPlugin.EditCustomForm', 'The&me:'))
|
||||
self.creditLabel.setText(
|
||||
translate('CustomPlugin.EditCustomForm', '&Credits:'))
|
||||
self.previewButton.setText(
|
||||
translate('CustomPlugin.EditCustomForm', 'Save && Preview'))
|
||||
|
@ -48,46 +48,22 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
"""
|
||||
QtGui.QDialog.__init__(self, parent)
|
||||
self.setupUi(self)
|
||||
# Create other objects and forms.
|
||||
self.manager = manager
|
||||
self.editSlideForm = EditCustomSlideForm(self)
|
||||
# Connecting signals and slots
|
||||
self.previewButton = QtGui.QPushButton()
|
||||
self.previewButton.setText(
|
||||
translate('CustomPlugin.EditCustomForm', 'Save && Preview'))
|
||||
self.buttonBox.addButton(
|
||||
self.previewButton, QtGui.QDialogButtonBox.ActionRole)
|
||||
QtCore.QObject.connect(self.buttonBox,
|
||||
QtCore.SIGNAL(u'clicked(QAbstractButton*)'), self.onPreview)
|
||||
QtCore.QObject.connect(self.previewButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onPreviewButtonPressed)
|
||||
QtCore.QObject.connect(self.addButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onAddButtonPressed)
|
||||
QtCore.QObject.connect(self.editButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onEditButtonPressed)
|
||||
QtCore.QObject.connect(self.editAllButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onEditAllButtonPressed)
|
||||
QtCore.QObject.connect(self.slideListView,
|
||||
QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'),
|
||||
self.onSlideListViewPressed)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'theme_update_list'), self.loadThemes)
|
||||
# Create other objects and forms.
|
||||
self.manager = manager
|
||||
self.editSlideForm = EditCustomSlideForm(self)
|
||||
self.initialise()
|
||||
|
||||
def onPreview(self, button):
|
||||
log.debug(u'onPreview')
|
||||
if button.text() == unicode(translate('CustomPlugin.EditCustomForm',
|
||||
'Save && Preview')) and self.saveCustom():
|
||||
Receiver.send_message(u'custom_preview')
|
||||
|
||||
def initialise(self):
|
||||
self.addButton.setEnabled(True)
|
||||
self.deleteButton.setEnabled(False)
|
||||
self.editButton.setEnabled(False)
|
||||
self.editAllButton.setEnabled(True)
|
||||
self.titleEdit.setText(u'')
|
||||
self.creditEdit.setText(u'')
|
||||
self.slideListView.clear()
|
||||
# Make sure we have a new item.
|
||||
self.customSlide = CustomSlide()
|
||||
QtCore.QObject.connect(self.slideListView,
|
||||
QtCore.SIGNAL(u'currentRowChanged(int)'), self.onCurrentRowChanged)
|
||||
|
||||
def loadThemes(self, themelist):
|
||||
self.themeComboBox.clear()
|
||||
@ -106,9 +82,13 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
States whether the custom is edited while being previewed in the
|
||||
preview panel.
|
||||
"""
|
||||
self.customSlide = CustomSlide()
|
||||
self.initialise()
|
||||
if id != 0:
|
||||
self.slideListView.clear()
|
||||
if id == 0:
|
||||
self.customSlide = CustomSlide()
|
||||
self.titleEdit.setText(u'')
|
||||
self.creditEdit.setText(u'')
|
||||
self.themeComboBox.setCurrentIndex(0)
|
||||
else:
|
||||
self.customSlide = self.manager.get_object(CustomSlide, id)
|
||||
self.titleEdit.setText(self.customSlide.title)
|
||||
self.creditEdit.setText(self.customSlide.credits)
|
||||
@ -122,9 +102,6 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
if id == -1:
|
||||
id = 0
|
||||
self.themeComboBox.setCurrentIndex(id)
|
||||
else:
|
||||
self.themeComboBox.setCurrentIndex(0)
|
||||
self.editAllButton.setEnabled(False)
|
||||
# If not preview hide the preview button.
|
||||
self.previewButton.setVisible(False)
|
||||
if preview:
|
||||
@ -144,9 +121,7 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
"""
|
||||
Saves the custom.
|
||||
"""
|
||||
valid, message = self._validate()
|
||||
if not valid:
|
||||
critical_error_message_box(message=message)
|
||||
if not self._validate():
|
||||
return False
|
||||
sxml = CustomXMLBuilder()
|
||||
sxml.new_document()
|
||||
@ -177,16 +152,11 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
self.slideListView.insertItem(selectedRow + 1, qw)
|
||||
self.slideListView.setCurrentRow(selectedRow + 1)
|
||||
|
||||
def onSlideListViewPressed(self, item):
|
||||
self.deleteButton.setEnabled(True)
|
||||
self.editButton.setEnabled(True)
|
||||
|
||||
def onAddButtonPressed(self):
|
||||
self.editSlideForm.setText(u'')
|
||||
if self.editSlideForm.exec_():
|
||||
for slide in self.editSlideForm.getText():
|
||||
self.slideListView.addItem(slide)
|
||||
self.editAllButton.setEnabled(True)
|
||||
|
||||
def onEditButtonPressed(self):
|
||||
self.editSlideForm.setText(self.slideListView.currentItem().text())
|
||||
@ -197,16 +167,23 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
"""
|
||||
Edits all slides.
|
||||
"""
|
||||
if self.slideListView.count() > 0:
|
||||
slide_list = u''
|
||||
for row in range(0, self.slideListView.count()):
|
||||
item = self.slideListView.item(row)
|
||||
slide_list += item.text()
|
||||
if row != self.slideListView.count() - 1:
|
||||
slide_list += u'\n[---]\n'
|
||||
self.editSlideForm.setText(slide_list)
|
||||
if self.editSlideForm.exec_():
|
||||
self.updateSlideList(self.editSlideForm.getText(), True)
|
||||
slide_list = u''
|
||||
for row in range(0, self.slideListView.count()):
|
||||
item = self.slideListView.item(row)
|
||||
slide_list += item.text()
|
||||
if row != self.slideListView.count() - 1:
|
||||
slide_list += u'\n[---]\n'
|
||||
self.editSlideForm.setText(slide_list)
|
||||
if self.editSlideForm.exec_():
|
||||
self.updateSlideList(self.editSlideForm.getText(), True)
|
||||
|
||||
def onPreviewButtonPressed(self):
|
||||
"""
|
||||
Save the custom item and preview it.
|
||||
"""
|
||||
log.debug(u'onPreview')
|
||||
if self.saveCustom():
|
||||
Receiver.send_message(u'custom_preview')
|
||||
|
||||
def updateSlideList(self, slides, edit_all=False):
|
||||
"""
|
||||
@ -238,13 +215,40 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
self.slideListView.repaint()
|
||||
|
||||
def onDeleteButtonClicked(self):
|
||||
"""
|
||||
Removes the current row from the list.
|
||||
"""
|
||||
self.slideListView.takeItem(self.slideListView.currentRow())
|
||||
self.editButton.setEnabled(True)
|
||||
self.editAllButton.setEnabled(True)
|
||||
if self.slideListView.count() == 0:
|
||||
if self.slideListView.currentRow() == 0:
|
||||
self.upButton.setEnabled(False)
|
||||
if self.slideListView.currentRow() == self.slideListView.count():
|
||||
self.downButton.setEnabled(False)
|
||||
|
||||
def onCurrentRowChanged(self, row):
|
||||
"""
|
||||
Called when the *slideListView*'s current row has been changed. This
|
||||
enables or disables buttons which require an slide to act on.
|
||||
|
||||
``row``
|
||||
The row (int). If there is no current row, the value is -1.
|
||||
"""
|
||||
if row == -1:
|
||||
self.deleteButton.setEnabled(False)
|
||||
self.editButton.setEnabled(False)
|
||||
self.editAllButton.setEnabled(False)
|
||||
self.upButton.setEnabled(False)
|
||||
self.downButton.setEnabled(False)
|
||||
else:
|
||||
self.deleteButton.setEnabled(True)
|
||||
self.editButton.setEnabled(True)
|
||||
# Decide if the up/down buttons should be enabled or not.
|
||||
if self.slideListView.count() - 1 == row:
|
||||
self.downButton.setEnabled(False)
|
||||
else:
|
||||
self.downButton.setEnabled(True)
|
||||
if row == 0:
|
||||
self.upButton.setEnabled(False)
|
||||
else:
|
||||
self.upButton.setEnabled(True)
|
||||
|
||||
def _validate(self):
|
||||
"""
|
||||
@ -253,10 +257,14 @@ class EditCustomForm(QtGui.QDialog, Ui_CustomEditDialog):
|
||||
# We must have a title.
|
||||
if len(self.titleEdit.displayText()) == 0:
|
||||
self.titleEdit.setFocus()
|
||||
return False, translate('CustomPlugin.EditCustomForm',
|
||||
'You need to type in a title.')
|
||||
critical_error_message_box(
|
||||
message=translate('CustomPlugin.EditCustomForm',
|
||||
'You need to type in a title.'))
|
||||
return False
|
||||
# We must have at least one slide.
|
||||
if self.slideListView.count() == 0:
|
||||
return False, translate('CustomPlugin.EditCustomForm',
|
||||
'You need to add at least one slide')
|
||||
return True, u''
|
||||
critical_error_message_box(
|
||||
message=translate('CustomPlugin.EditCustomForm',
|
||||
'You need to add at least one slide'))
|
||||
return False
|
||||
return True
|
||||
|
@ -27,7 +27,7 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import translate, SpellTextEdit
|
||||
from openlp.core.lib.ui import save_cancel_button_box
|
||||
from openlp.core.lib.ui import create_save_cancel_button_box
|
||||
|
||||
class Ui_CustomSlideEditDialog(object):
|
||||
def setupUi(self, customSlideEditDialog):
|
||||
@ -37,7 +37,7 @@ class Ui_CustomSlideEditDialog(object):
|
||||
self.slideTextEdit = SpellTextEdit(self)
|
||||
self.slideTextEdit.setObjectName(u'slideTextEdit')
|
||||
self.dialogLayout.addWidget(self.slideTextEdit)
|
||||
self.buttonBox = save_cancel_button_box(customSlideEditDialog)
|
||||
self.buttonBox = create_save_cancel_button_box(customSlideEditDialog)
|
||||
self.splitButton = QtGui.QPushButton(customSlideEditDialog)
|
||||
self.splitButton.setObjectName(u'splitButton')
|
||||
self.buttonBox.addButton(self.splitButton,
|
||||
|
@ -69,7 +69,7 @@ class CustomMediaItem(MediaManagerItem):
|
||||
QtCore.SIGNAL(u'custom_preview'), self.onPreviewClick)
|
||||
|
||||
def initialise(self):
|
||||
self.loadCustomListView(self.manager.get_all_objects(
|
||||
self.loadList(self.manager.get_all_objects(
|
||||
CustomSlide, order_by_ref=CustomSlide.title))
|
||||
# Called to redisplay the custom list screen edith from a search
|
||||
# or from the exit of the Custom edit dialog. If remote editing is
|
||||
@ -80,7 +80,7 @@ class CustomMediaItem(MediaManagerItem):
|
||||
self.onPreviewClick()
|
||||
self.onRemoteEditClear()
|
||||
|
||||
def loadCustomListView(self, list):
|
||||
def loadList(self, list):
|
||||
self.listView.clear()
|
||||
for customSlide in list:
|
||||
custom_name = QtGui.QListWidgetItem(customSlide.title)
|
||||
|
@ -74,7 +74,11 @@ class PresentationPlugin(Plugin):
|
||||
self.insertToolboxItem()
|
||||
for controller in self.controllers:
|
||||
if self.controllers[controller].enabled():
|
||||
self.controllers[controller].start_process()
|
||||
try:
|
||||
self.controllers[controller].start_process()
|
||||
except:
|
||||
log.exception(u'Failed to start controller process')
|
||||
self.controllers[controller].available = False
|
||||
self.mediaItem.buildFileMaskString()
|
||||
|
||||
def finalise(self):
|
||||
|
@ -27,7 +27,7 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import translate
|
||||
from openlp.core.lib.ui import save_cancel_button_box
|
||||
from openlp.core.lib.ui import create_save_cancel_button_box
|
||||
|
||||
class Ui_AuthorsDialog(object):
|
||||
def setupUi(self, authorsDialog):
|
||||
@ -56,7 +56,8 @@ class Ui_AuthorsDialog(object):
|
||||
self.displayLabel.setBuddy(self.displayEdit)
|
||||
self.authorLayout.addRow(self.displayLabel, self.displayEdit)
|
||||
self.dialogLayout.addLayout(self.authorLayout)
|
||||
self.dialogLayout.addWidget(save_cancel_button_box(authorsDialog))
|
||||
self.dialogLayout.addWidget(
|
||||
create_save_cancel_button_box(authorsDialog))
|
||||
self.retranslateUi(authorsDialog)
|
||||
authorsDialog.setMaximumHeight(authorsDialog.sizeHint().height())
|
||||
QtCore.QMetaObject.connectSlotsByName(authorsDialog)
|
||||
|
@ -27,7 +27,7 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import build_icon, translate
|
||||
from openlp.core.lib.ui import save_cancel_button_box
|
||||
from openlp.core.lib.ui import create_save_cancel_button_box
|
||||
|
||||
class Ui_EditSongDialog(object):
|
||||
def setupUi(self, editSongDialog):
|
||||
@ -241,7 +241,7 @@ class Ui_EditSongDialog(object):
|
||||
self.themeTabLayout.addWidget(self.commentsGroupBox)
|
||||
self.songTabWidget.addTab(self.themeTab, u'')
|
||||
self.dialogLayout.addWidget(self.songTabWidget)
|
||||
self.buttonBox = save_cancel_button_box(editSongDialog)
|
||||
self.buttonBox = create_save_cancel_button_box(editSongDialog)
|
||||
self.dialogLayout.addWidget(self.buttonBox)
|
||||
self.retranslateUi(editSongDialog)
|
||||
QtCore.QMetaObject.connectSlotsByName(editSongDialog)
|
||||
|
@ -30,7 +30,7 @@ import re
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import Receiver, translate
|
||||
from openlp.core.lib.ui import critical_error_message_box
|
||||
from openlp.core.lib.ui import add_widget_completer, critical_error_message_box
|
||||
from openlp.plugins.songs.forms import EditVerseForm
|
||||
from openlp.plugins.songs.lib import SongXML, VerseType
|
||||
from openlp.plugins.songs.lib.db import Book, Song, Author, Topic
|
||||
@ -129,37 +129,26 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
self.authorsComboBox.setItemData(
|
||||
row, QtCore.QVariant(author.id))
|
||||
self.authors.append(author.display_name)
|
||||
completer = QtGui.QCompleter(self.authors)
|
||||
completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
self.authorsComboBox.setCompleter(completer)
|
||||
add_widget_completer(self.authors, self.authorsComboBox)
|
||||
|
||||
def loadTopics(self):
|
||||
topics = self.manager.get_all_objects(Topic, order_by_ref=Topic.name)
|
||||
self.topicsComboBox.clear()
|
||||
self.topicsComboBox.addItem(u'')
|
||||
self.topics = []
|
||||
for topic in topics:
|
||||
row = self.topicsComboBox.count()
|
||||
self.topicsComboBox.addItem(topic.name)
|
||||
self.topics.append(topic.name)
|
||||
self.topicsComboBox.setItemData(row, QtCore.QVariant(topic.id))
|
||||
completer = QtGui.QCompleter(self.topics)
|
||||
completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
self.topicsComboBox.setCompleter(completer)
|
||||
self.__loadObjects(Topic, self.topicsComboBox, self.topics)
|
||||
|
||||
def loadBooks(self):
|
||||
books = self.manager.get_all_objects(Book, order_by_ref=Book.name)
|
||||
self.songBookComboBox.clear()
|
||||
self.songBookComboBox.addItem(u'')
|
||||
self.books = []
|
||||
for book in books:
|
||||
row = self.songBookComboBox.count()
|
||||
self.songBookComboBox.addItem(book.name)
|
||||
self.books.append(book.name)
|
||||
self.songBookComboBox.setItemData(row, QtCore.QVariant(book.id))
|
||||
completer = QtGui.QCompleter(self.books)
|
||||
completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
self.songBookComboBox.setCompleter(completer)
|
||||
self.__loadObjects(Book, self.songBookComboBox, self.books)
|
||||
|
||||
def __loadObjects(self, cls, combo, cache):
|
||||
objects = self.manager.get_all_objects(cls, order_by_ref=cls.name)
|
||||
combo.clear()
|
||||
combo.addItem(u'')
|
||||
for object in objects:
|
||||
row = combo.count()
|
||||
combo.addItem(object.name)
|
||||
cache.append(object.name)
|
||||
combo.setItemData(row, QtCore.QVariant(object.id))
|
||||
add_widget_completer(cache, combo)
|
||||
|
||||
def loadThemes(self, theme_list):
|
||||
self.themeComboBox.clear()
|
||||
@ -168,9 +157,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog):
|
||||
for theme in theme_list:
|
||||
self.themeComboBox.addItem(theme)
|
||||
self.themes.append(theme)
|
||||
completer = QtGui.QCompleter(self.themes)
|
||||
completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
self.themeComboBox.setCompleter(completer)
|
||||
add_widget_completer(self.themes, self.themeComboBox)
|
||||
|
||||
def newSong(self):
|
||||
log.debug(u'New Song')
|
||||
|
@ -27,7 +27,7 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import build_icon, translate, SpellTextEdit
|
||||
from openlp.core.lib.ui import save_cancel_button_box
|
||||
from openlp.core.lib.ui import create_save_cancel_button_box
|
||||
from openlp.plugins.songs.lib import VerseType
|
||||
|
||||
class Ui_EditVerseDialog(object):
|
||||
@ -60,7 +60,8 @@ class Ui_EditVerseDialog(object):
|
||||
self.verseTypeLayout.addWidget(self.insertButton)
|
||||
self.verseTypeLayout.addStretch()
|
||||
self.dialogLayout.addLayout(self.verseTypeLayout)
|
||||
self.dialogLayout.addWidget(save_cancel_button_box(editVerseDialog))
|
||||
self.dialogLayout.addWidget(
|
||||
create_save_cancel_button_box(editVerseDialog))
|
||||
self.retranslateUi(editVerseDialog)
|
||||
QtCore.QMetaObject.connectSlotsByName(editVerseDialog)
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import translate
|
||||
from openlp.core.lib.ui import save_cancel_button_box
|
||||
from openlp.core.lib.ui import create_save_cancel_button_box
|
||||
|
||||
class Ui_SongBookDialog(object):
|
||||
def setupUi(self, songBookDialog):
|
||||
@ -50,7 +50,8 @@ class Ui_SongBookDialog(object):
|
||||
self.publisherLabel.setBuddy(self.publisherEdit)
|
||||
self.bookLayout.addRow(self.publisherLabel, self.publisherEdit)
|
||||
self.dialogLayout.addLayout(self.bookLayout)
|
||||
self.dialogLayout.addWidget(save_cancel_button_box(songBookDialog))
|
||||
self.dialogLayout.addWidget(
|
||||
create_save_cancel_button_box(songBookDialog))
|
||||
self.retranslateUi(songBookDialog)
|
||||
songBookDialog.setMaximumHeight(songBookDialog.sizeHint().height())
|
||||
QtCore.QMetaObject.connectSlotsByName(songBookDialog)
|
||||
|
@ -27,7 +27,7 @@
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import translate
|
||||
from openlp.core.lib.ui import save_cancel_button_box
|
||||
from openlp.core.lib.ui import create_save_cancel_button_box
|
||||
|
||||
class Ui_TopicsDialog(object):
|
||||
def setupUi(self, topicsDialog):
|
||||
@ -44,7 +44,8 @@ class Ui_TopicsDialog(object):
|
||||
self.nameLabel.setBuddy(self.nameEdit)
|
||||
self.nameLayout.addRow(self.nameLabel, self.nameEdit)
|
||||
self.dialogLayout.addLayout(self.nameLayout)
|
||||
self.dialogLayout.addWidget(save_cancel_button_box(topicsDialog))
|
||||
self.dialogLayout.addWidget(
|
||||
create_save_cancel_button_box(topicsDialog))
|
||||
self.retranslateUi(topicsDialog)
|
||||
topicsDialog.setMaximumHeight(topicsDialog.sizeHint().height())
|
||||
QtCore.QMetaObject.connectSlotsByName(topicsDialog)
|
||||
|
Loading…
Reference in New Issue
Block a user