openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #05600
[Merge] lp:~meths/openlp/testing into lp:openlp
Jon Tibble has proposed merging lp:~meths/openlp/testing into lp:openlp.
Requested reviews:
Tim Bentley (trb143)
For more details, see:
https://code.launchpad.net/~meths/openlp/testing/+merge/46391
Refactor error messages. Although there is a small coding benefit to this the bigger benefit is to allow smaller/deduplicated translation files.
--
https://code.launchpad.net/~meths/openlp/testing/+merge/46391
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/ui/__init__.py'
--- openlp/core/ui/__init__.py 2011-01-10 10:21:39 +0000
+++ openlp/core/ui/__init__.py 2011-01-15 20:09:28 +0000
@@ -26,6 +26,9 @@
"""
The :mod:`ui` module provides the core user interface for OpenLP
"""
+from PyQt4 import QtGui
+
+from openlp.core.lib import translate, Receiver
class HideMode(object):
"""
@@ -48,6 +51,34 @@
Theme = 2
Screen = 3
+
+def criticalErrorMessageBox(title=None, message=None, parent=None,
+ question=False):
+ """
+ Provides a standard critical message box for errors that OpenLP displays
+ to users.
+
+ ``title``
+ The title for the message box.
+
+ ``message``
+ The message to display to the user.
+
+ ``parent``
+ The parent UI element to attach the dialog to.
+
+ ``question``
+ Should this message box question the user.
+ """
+ error = translate('OpenLP.Ui', 'Error')
+ if question:
+ return QtGui.QMessageBox.critical(parent, error, message,
+ QtGui.QMessageBox.StandardButtons(
+ QtGui.QMessageBox.Yes | QtGui.QMessageBox.No))
+ data = {u'message': message}
+ data[u'title'] = title if title else error
+ return Receiver.send_message(u'openlp_error_message', data)
+
from themeform import ThemeForm
from filerenameform import FileRenameForm
from maindisplay import MainDisplay
@@ -68,6 +99,6 @@
from servicemanager import ServiceManager
from thememanager import ThemeManager
-__all__ = ['SplashScreen', 'AboutForm', 'SettingsForm',
- 'MainDisplay', 'SlideController', 'ServiceManager', 'ThemeManager',
- 'MediaDockManager', 'ServiceItemEditForm']
+__all__ = ['criticalErrorMessageBox', 'SplashScreen', 'AboutForm',
+ 'SettingsForm', 'MainDisplay', 'SlideController', 'ServiceManager',
+ 'ThemeManager', 'MediaDockManager', 'ServiceItemEditForm']
=== modified file 'openlp/core/ui/displaytagtab.py'
--- openlp/core/ui/displaytagtab.py 2011-01-10 19:07:09 +0000
+++ openlp/core/ui/displaytagtab.py 2011-01-15 20:09:28 +0000
@@ -34,6 +34,7 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import SettingsTab, translate, DisplayTags
+from openlp.core.ui import criticalErrorMessageBox
class DisplayTagTab(SettingsTab):
'''
@@ -275,12 +276,10 @@
"""
for html in DisplayTags.get_html_tags():
if self._strip(html[u'start tag']) == u'n':
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('OpenLP.DisplayTagTab', 'Update Error'),
translate('OpenLP.DisplayTagTab',
- 'Tag "n" already defined.'),
- QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok),
- QtGui.QMessageBox.Ok)
+ 'Tag "n" already defined.'))
return
# Add new tag to list
tag = {u'desc': u'New Item', u'start tag': u'{n}',
@@ -318,12 +317,10 @@
for linenumber, html1 in enumerate(html_expands):
if self._strip(html1[u'start tag']) == tag and \
linenumber != self.selected:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('OpenLP.DisplayTagTab', 'Update Error'),
unicode(translate('OpenLP.DisplayTagTab',
- 'Tag %s already defined.')) % tag,
- QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.Ok),
- QtGui.QMessageBox.Ok)
+ 'Tag %s already defined.')) % tag)
return
html[u'desc'] = unicode(self.descriptionLineEdit.text())
html[u'start html'] = unicode(self.startTagLineEdit.text())
=== modified file 'openlp/core/ui/servicemanager.py'
--- openlp/core/ui/servicemanager.py 2011-01-14 18:58:47 +0000
+++ openlp/core/ui/servicemanager.py 2011-01-15 20:09:28 +0000
@@ -36,7 +36,8 @@
from openlp.core.lib import OpenLPToolbar, ServiceItem, context_menu_action, \
Receiver, build_icon, ItemCapabilities, SettingsManager, translate, \
ThemeLevel
-from openlp.core.ui import ServiceNoteForm, ServiceItemEditForm
+from openlp.core.ui import criticalErrorMessageBox, ServiceNoteForm, \
+ ServiceItemEditForm
from openlp.core.utils import AppLocation, delete_file, file_is_unicode, \
split_filename
@@ -483,11 +484,10 @@
for file in zip.namelist():
ucsfile = file_is_unicode(file)
if not ucsfile:
- QtGui.QMessageBox.critical(
- self, translate('OpenLP.ServiceManager', 'Error'),
- translate('OpenLP.ServiceManager',
- 'File is not a valid service.\n'
- 'The content encoding is not UTF-8.'))
+ criticalErrorMessageBox(
+ message=translate('OpenLP.ServiceManager',
+ 'File is not a valid service.\n'
+ 'The content encoding is not UTF-8.'))
continue
osfile = unicode(QtCore.QDir.toNativeSeparators(ucsfile))
filePath = os.path.join(self.servicePath,
@@ -514,10 +514,9 @@
serviceItem.name.lower(), serviceItem)
delete_file(p_file)
else:
- QtGui.QMessageBox.critical(
- self, translate('OpenLP.ServiceManager', 'Error'),
- translate('OpenLP.ServiceManager',
- 'File is not a valid service.'))
+ criticalErrorMessageBox(
+ message=translate('OpenLP.ServiceManager',
+ 'File is not a valid service.'))
log.exception(u'File contains no service data')
except (IOError, NameError):
log.exception(u'Problem loading a service file')
@@ -993,7 +992,7 @@
self.mainwindow.previewController.addServiceManagerItem(
self.serviceItems[item][u'service_item'], count)
else:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('OpenLP.ServiceManager', 'Missing Display Handler'),
translate('OpenLP.ServiceManager', 'Your item cannot be '
'displayed as there is no handler to display it'))
@@ -1027,11 +1026,11 @@
self.serviceItems[item][u'service_item'], 0)
self.mainwindow.liveController.PreviewListWidget.setFocus()
else:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('OpenLP.ServiceManager', 'Missing Display Handler'),
translate('OpenLP.ServiceManager', 'Your item cannot be '
- 'displayed as the plugin required to display it is missing '
- 'or inactive'))
+ 'displayed as the plugin required to display it is missing '
+ 'or inactive'))
def remoteEdit(self):
"""
=== modified file 'openlp/core/ui/themeform.py'
--- openlp/core/ui/themeform.py 2011-01-10 16:59:45 +0000
+++ openlp/core/ui/themeform.py 2011-01-15 20:09:28 +0000
@@ -31,6 +31,7 @@
from openlp.core.lib import translate, BackgroundType, BackgroundGradientType, \
Receiver
+from openlp.core.ui import criticalErrorMessageBox
from openlp.core.utils import get_images_filter
from themewizard import Ui_ThemeWizard
@@ -567,20 +568,16 @@
self.theme.theme_name = \
unicode(self.field(u'name').toString())
if not self.theme.theme_name:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('OpenLP.ThemeForm', 'Theme Name Missing'),
translate('OpenLP.ThemeForm',
- 'There is no name for this theme. Please enter one.'),
- (QtGui.QMessageBox.Ok),
- QtGui.QMessageBox.Ok)
+ 'There is no name for this theme. Please enter one.'))
return
if self.theme.theme_name == u'-1' or self.theme.theme_name == u'None':
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('OpenLP.ThemeForm', 'Theme Name Invalid'),
translate('OpenLP.ThemeForm',
- 'Invalid theme name. Please enter one.'),
- (QtGui.QMessageBox.Ok),
- QtGui.QMessageBox.Ok)
+ 'Invalid theme name. Please enter one.'))
return
saveFrom = None
saveTo = None
=== modified file 'openlp/core/ui/thememanager.py'
--- openlp/core/ui/thememanager.py 2011-01-15 12:28:49 +0000
+++ openlp/core/ui/thememanager.py 2011-01-15 20:09:28 +0000
@@ -32,7 +32,7 @@
from xml.etree.ElementTree import ElementTree, XML
from PyQt4 import QtCore, QtGui
-from openlp.core.ui import FileRenameForm, ThemeForm
+from openlp.core.ui import criticalErrorMessageBox, FileRenameForm, ThemeForm
from openlp.core.theme import Theme
from openlp.core.lib import OpenLPToolbar, ThemeXML, get_text_file_string, \
build_icon, Receiver, SettingsManager, translate, check_item_selected, \
@@ -359,9 +359,7 @@
"""
item = self.themeListWidget.currentItem()
if item is None:
- QtGui.QMessageBox.critical(self,
- translate('OpenLP.ThemeManager', 'Error'),
- translate('OpenLP.ThemeManager',
+ criticalErrorMessageBox(message=translate('OpenLP.ThemeManager',
'You have not selected a theme.'))
return
theme = unicode(item.data(QtCore.Qt.UserRole).toString())
@@ -388,10 +386,10 @@
'Your theme has been successfully exported.'))
except (IOError, OSError):
log.exception(u'Export Theme Failed')
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('OpenLP.ThemeManager', 'Theme Export Failed'),
translate('OpenLP.ThemeManager',
- 'Your theme could not be exported due to an error.'))
+ 'Your theme could not be exported due to an error.'))
finally:
if zip:
zip.close()
@@ -498,11 +496,10 @@
for file in zip.namelist():
ucsfile = file_is_unicode(file)
if not ucsfile:
- QtGui.QMessageBox.critical(
- self, translate('OpenLP.ThemeManager', 'Error'),
- translate('OpenLP.ThemeManager',
- 'File is not a valid theme.\n'
- 'The content encoding is not UTF-8.'))
+ criticalErrorMessageBox(
+ message=translate('OpenLP.ThemeManager',
+ 'File is not a valid theme.\n'
+ 'The content encoding is not UTF-8.'))
continue
osfile = unicode(QtCore.QDir.toNativeSeparators(ucsfile))
theme_dir = None
@@ -534,19 +531,17 @@
theme = self._createThemeFromXml(filexml, self.path)
self.generateAndSaveImage(dir, themename, theme)
else:
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('OpenLP.ThemeManager',
- 'Validation Error'),
- u'message':translate('OpenLP.ThemeManager',
- 'File is not a valid theme.')})
+ criticalErrorMessageBox(
+ translate('OpenLP.ThemeManager', 'Validation Error'),
+ translate('OpenLP.ThemeManager',
+ 'File is not a valid theme.'))
log.exception(u'Theme file does not contain XML data %s' %
filename)
except (IOError, NameError):
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('OpenLP.ThemeManager',
- 'Validation Error'),
- u'message':translate('OpenLP.ThemeManager',
- 'File is not a valid theme.')})
+ criticalErrorMessageBox(
+ translate('OpenLP.ThemeManager', 'Validation Error'),
+ translate('OpenLP.ThemeManager',
+ 'File is not a valid theme.'))
log.exception(u'Importing theme from zip failed %s' % filename)
finally:
if zip:
@@ -563,11 +558,10 @@
"""
theme_dir = os.path.join(self.path, themeName)
if os.path.exists(theme_dir):
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('OpenLP.ThemeManager',
- 'Validation Error'),
- u'message':translate('OpenLP.ThemeManager',
- 'A theme with this name already exists.')})
+ criticalErrorMessageBox(
+ translate('OpenLP.ThemeManager', 'Validation Error'),
+ translate('OpenLP.ThemeManager',
+ 'A theme with this name already exists.'))
return False
return True
@@ -694,21 +688,19 @@
return False
# should be the same unless default
if theme != unicode(item.data(QtCore.Qt.UserRole).toString()):
- QtGui.QMessageBox.critical(self,
- translate('OpenLP.ThemeManager', 'Error'),
- translate('OpenLP.ThemeManager',
- 'You are unable to delete the default theme.'))
+ criticalErrorMessageBox(
+ message=translate('OpenLP.ThemeManager',
+ 'You are unable to delete the default theme.'))
return False
# check for use in the system else where.
if testPlugin:
for plugin in self.mainwindow.pluginManager.plugins:
if plugin.usesTheme(theme):
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('OpenLP.ThemeManager',
+ criticalErrorMessageBox(translate('OpenLP.ThemeManager',
'Validation Error'),
- u'message': unicode(translate('OpenLP.ThemeManager',
+ unicode(translate('OpenLP.ThemeManager',
'Theme %s is used in the %s plugin.')) % \
- (theme, plugin.name)})
+ (theme, plugin.name))
return False
return True
=== modified file 'openlp/plugins/bibles/forms/bibleimportform.py'
--- openlp/plugins/bibles/forms/bibleimportform.py 2011-01-13 17:55:29 +0000
+++ openlp/plugins/bibles/forms/bibleimportform.py 2011-01-15 20:09:28 +0000
@@ -35,6 +35,7 @@
from openlp.core.lib import Receiver, SettingsManager, translate
from openlp.core.lib.db import delete_database
+from openlp.core.ui import criticalErrorMessageBox
from openlp.core.ui.wizard import OpenLPWizard
from openlp.core.utils import AppLocation, string_is_unicode
from openlp.plugins.bibles.lib.manager import BibleFormat
@@ -468,7 +469,7 @@
elif self.currentPage() == self.selectPage:
if self.field(u'source_format').toInt()[0] == BibleFormat.OSIS:
if not self.field(u'osis_location').toString():
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('BiblesPlugin.ImportWizardForm',
'Invalid Bible Location'),
translate('BiblesPlugin.ImportWizardForm',
@@ -478,7 +479,7 @@
return False
elif self.field(u'source_format').toInt()[0] == BibleFormat.CSV:
if not self.field(u'csv_booksfile').toString():
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('BiblesPlugin.ImportWizardForm',
'Invalid Books File'),
translate('BiblesPlugin.ImportWizardForm',
@@ -487,7 +488,7 @@
self.csvBooksEdit.setFocus()
return False
elif not self.field(u'csv_versefile').toString():
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('BiblesPlugin.ImportWizardForm',
'Invalid Verse File'),
translate('BiblesPlugin.ImportWizardForm',
@@ -498,7 +499,7 @@
elif self.field(u'source_format').toInt()[0] == \
BibleFormat.OpenSong:
if not self.field(u'opensong_file').toString():
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('BiblesPlugin.ImportWizardForm',
'Invalid OpenSong Bible'),
translate('BiblesPlugin.ImportWizardForm',
@@ -508,7 +509,7 @@
return False
elif self.field(u'source_format').toInt()[0] == BibleFormat.OpenLP1:
if not self.field(u'openlp1_location').toString():
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('BiblesPlugin.ImportWizardForm',
'Invalid Bible Location'),
translate('BiblesPlugin.ImportWizardForm',
@@ -522,7 +523,7 @@
license_copyright = \
unicode(self.field(u'license_copyright').toString())
if not license_version:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('BiblesPlugin.ImportWizardForm',
'Empty Version Name'),
translate('BiblesPlugin.ImportWizardForm',
@@ -530,7 +531,7 @@
self.versionNameEdit.setFocus()
return False
elif not license_copyright:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('BiblesPlugin.ImportWizardForm',
'Empty Copyright'),
translate('BiblesPlugin.ImportWizardForm',
@@ -539,7 +540,7 @@
self.copyrightEdit.setFocus()
return False
elif self.manager.exists(license_version):
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('BiblesPlugin.ImportWizardForm', 'Bible Exists'),
translate('BiblesPlugin.ImportWizardForm',
'This Bible already exists. Please import '
=== modified file 'openlp/plugins/bibles/lib/db.py'
--- openlp/plugins/bibles/lib/db.py 2011-01-06 20:48:22 +0000
+++ openlp/plugins/bibles/lib/db.py 2011-01-15 20:09:28 +0000
@@ -33,8 +33,9 @@
from sqlalchemy.orm import class_mapper, mapper, relation
from sqlalchemy.orm.exc import UnmappedClassError
-from openlp.core.lib import Receiver, translate
+from openlp.core.lib import translate
from openlp.core.lib.db import BaseModel, init_db, Manager
+from openlp.core.ui import criticalErrorMessageBox
log = logging.getLogger(__name__)
@@ -354,12 +355,11 @@
verse_list.extend(verses)
else:
log.debug(u'OpenLP failed to find book %s', book)
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('BiblesPlugin', 'No Book Found'),
- u'message': translate('BiblesPlugin', 'No matching book '
+ criticalErrorMessageBox(
+ translate('BiblesPlugin', 'No Book Found'),
+ translate('BiblesPlugin', 'No matching book '
'could be found in this Bible. Check that you have '
- 'spelled the name of the book correctly.')
- })
+ 'spelled the name of the book correctly.'))
return verse_list
def verse_search(self, text):
=== modified file 'openlp/plugins/bibles/lib/http.py'
--- openlp/plugins/bibles/lib/http.py 2011-01-13 17:55:29 +0000
+++ openlp/plugins/bibles/lib/http.py 2011-01-15 20:09:28 +0000
@@ -38,6 +38,7 @@
from BeautifulSoup import BeautifulSoup, NavigableString
from openlp.core.lib import Receiver, translate
+from openlp.core.ui import criticalErrorMessageBox
from openlp.core.utils import AppLocation, get_web_page
from openlp.plugins.bibles.lib import SearchResults
from openlp.plugins.bibles.lib.db import BibleDB, Book
@@ -429,12 +430,11 @@
if not db_book:
book_details = HTTPBooks.get_book(book)
if not book_details:
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('BiblesPlugin', 'No Book Found'),
- u'message': translate('BiblesPlugin', 'No matching '
+ criticalErrorMessageBox(
+ translate('BiblesPlugin', 'No Book Found'),
+ translate('BiblesPlugin', 'No matching '
'book could be found in this Bible. Check that you '
- 'have spelled the name of the book correctly.')
- })
+ 'have spelled the name of the book correctly.'))
return []
db_book = self.create_book(book_details[u'name'],
book_details[u'abbreviation'],
@@ -540,17 +540,15 @@
The type of error that occured for the issue.
"""
if error_type == u'download':
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('BiblePlugin.HTTPBible', 'Download Error'),
- u'message': translate('BiblePlugin.HTTPBible', 'There was a '
+ criticalErrorMessageBox(
+ translate('BiblePlugin.HTTPBible', 'Download Error'),
+ translate('BiblePlugin.HTTPBible', 'There was a '
'problem downloading your verse selection. Please check your '
'Internet connection, and if this error continues to occur '
- 'please consider reporting a bug.')
- })
+ 'please consider reporting a bug.'))
elif error_type == u'parse':
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('BiblePlugin.HTTPBible', 'Parse Error'),
- u'message': translate('BiblePlugin.HTTPBible', 'There was a '
+ criticalErrorMessageBox(
+ translate('BiblePlugin.HTTPBible', 'Parse Error'),
+ translate('BiblePlugin.HTTPBible', 'There was a '
'problem extracting your verse selection. If this error continues '
- 'to occur please consider reporting a bug.')
- })
+ 'to occur please consider reporting a bug.'))
=== modified file 'openlp/plugins/bibles/lib/mediaitem.py'
--- openlp/plugins/bibles/lib/mediaitem.py 2011-01-15 12:14:24 +0000
+++ openlp/plugins/bibles/lib/mediaitem.py 2011-01-15 20:09:28 +0000
@@ -30,6 +30,7 @@
from openlp.core.lib import MediaManagerItem, Receiver, BaseListWithDnD, \
ItemCapabilities, translate
+from openlp.core.ui import criticalErrorMessageBox
from openlp.plugins.bibles.forms import BibleImportForm
from openlp.plugins.bibles.lib import get_reference_match
@@ -389,11 +390,8 @@
verse_count = self.parent.manager.get_verse_count(bible, book, 1)
if verse_count == 0:
self.advancedSearchButton.setEnabled(False)
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('BiblePlugin.MediaItem', 'Error'),
- u'message': translate('BiblePlugin.MediaItem',
- 'Bible not fully loaded')
- })
+ criticalErrorMessageBox(message=translate('BiblePlugin.MediaItem',
+ 'Bible not fully loaded'))
else:
self.advancedSearchButton.setEnabled(True)
self.adjustComboBox(1, self.chapter_count, self.advancedFromChapter)
@@ -534,13 +532,11 @@
if item_second_bible and second_bible or not item_second_bible and \
not second_bible:
self.displayResults(bible, second_bible)
- elif QtGui.QMessageBox.critical(self,
- translate('BiblePlugin.MediaItem', 'Error'),
- translate('BiblePlugin.MediaItem', 'You cannot combine single '
- 'and second bible verses. Do you want to delete your search '
- 'results and start a new search?'),
- QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No |
- QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes:
+ elif criticalErrorMessageBox(
+ message=translate('BiblePlugin.MediaItem',
+ 'You cannot combine single and second bible verses. Do you '
+ 'want to delete your search results and start a new search?'),
+ parent=self, question=True) == QtGui.QMessageBox.Yes:
self.listView.clear()
self.displayResults(bible, second_bible)
else:
@@ -584,13 +580,11 @@
if item_second_bible and second_bible or not item_second_bible and \
not second_bible:
self.displayResults(bible, second_bible)
- elif QtGui.QMessageBox.critical(self,
- translate('BiblePlugin.MediaItem', 'Error'),
- translate('BiblePlugin.MediaItem', 'You cannot combine single '
- 'and second bible verses. Do you want to delete your search '
- 'results and start a new search?'),
- QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No |
- QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes:
+ elif criticalErrorMessageBox(
+ message=translate('BiblePlugin.MediaItem',
+ 'You cannot combine single and second bible verses. Do you '
+ 'want to delete your search results and start a new search?'),
+ parent=self, question=True) == QtGui.QMessageBox.Yes:
self.listView.clear()
self.displayResults(bible, second_bible)
elif self.search_results:
=== modified file 'openlp/plugins/custom/forms/editcustomform.py'
--- openlp/plugins/custom/forms/editcustomform.py 2010-12-26 11:04:47 +0000
+++ openlp/plugins/custom/forms/editcustomform.py 2011-01-15 20:09:28 +0000
@@ -29,6 +29,7 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, translate
+from openlp.core.ui import criticalErrorMessageBox
from openlp.plugins.custom.lib import CustomXMLBuilder, CustomXMLParser
from openlp.plugins.custom.lib.db import CustomSlide
from editcustomdialog import Ui_CustomEditDialog
@@ -151,8 +152,7 @@
"""
valid, message = self._validate()
if not valid:
- QtGui.QMessageBox.critical(self,
- translate('CustomPlugin.EditCustomForm', 'Error'), message)
+ criticalErrorMessageBox(message=message)
return False
sxml = CustomXMLBuilder()
sxml.new_document()
@@ -265,4 +265,4 @@
if self.slideListView.count() == 0:
return False, translate('CustomPlugin.EditCustomForm',
'You need to add at least one slide')
- return True, u''
\ No newline at end of file
+ return True, u''
=== modified file 'openlp/plugins/images/lib/mediaitem.py'
--- openlp/plugins/images/lib/mediaitem.py 2011-01-14 18:58:47 +0000
+++ openlp/plugins/images/lib/mediaitem.py 2011-01-15 20:09:28 +0000
@@ -31,7 +31,8 @@
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
ItemCapabilities, SettingsManager, translate, check_item_selected, \
- Receiver, check_directory_exists
+ check_directory_exists
+from openlp.core.ui import criticalErrorMessageBox
from openlp.core.utils import AppLocation, delete_file, get_images_filter
log = logging.getLogger(__name__)
@@ -160,7 +161,7 @@
items.remove(item)
# We cannot continue, as all images do not exist.
if not items:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('ImagePlugin.MediaItem', 'Missing Image(s)'),
unicode(translate('ImagePlugin.MediaItem',
'The following image(s) no longer exist: %s')) %
@@ -204,12 +205,11 @@
self.parent.liveController.display.directImage(name, filename)
self.resetAction.setVisible(True)
else:
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('ImagePlugin.MediaItem',
- 'Live Background Error'),
- u'message': unicode(translate('ImagePlugin.MediaItem',
+ criticalErrorMessageBox(
+ translate('ImagePlugin.MediaItem', 'Live Background Error'),
+ unicode(translate('ImagePlugin.MediaItem',
'There was a problem replacing your background, '
- 'the image file "%s" no longer exists.')) % filename})
+ 'the image file "%s" no longer exists.')) % filename)
def onPreviewClick(self):
MediaManagerItem.onPreviewClick(self)
=== modified file 'openlp/plugins/media/lib/mediaitem.py'
--- openlp/plugins/media/lib/mediaitem.py 2011-01-06 23:47:28 +0000
+++ openlp/plugins/media/lib/mediaitem.py 2011-01-15 20:09:28 +0000
@@ -30,8 +30,8 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
- ItemCapabilities, SettingsManager, translate, check_item_selected, \
- Receiver
+ ItemCapabilities, SettingsManager, translate, check_item_selected
+from openlp.core.ui import criticalErrorMessageBox
log = logging.getLogger(__name__)
@@ -106,12 +106,11 @@
self.parent.liveController.display.video(filename, 0, True)
self.resetAction.setVisible(True)
else:
- Receiver.send_message(u'openlp_error_message', {
- u'title': translate('MediaPlugin.MediaItem',
+ criticalErrorMessageBox(translate('MediaPlugin.MediaItem',
'Live Background Error'),
- u'message': unicode(translate('MediaPlugin.MediaItem',
+ unicode(translate('MediaPlugin.MediaItem',
'There was a problem replacing your background, '
- 'the media file "%s" no longer exists.')) % filename})
+ 'the media file "%s" no longer exists.')) % filename)
def generateSlideData(self, service_item, item=None, xmlVersion=False):
if item is None:
@@ -131,9 +130,8 @@
return True
else:
# File is no longer present
- QtGui.QMessageBox.critical(
- self, translate('MediaPlugin.MediaItem',
- 'Missing Media File'),
+ criticalErrorMessageBox(
+ translate('MediaPlugin.MediaItem', 'Missing Media File'),
unicode(translate('MediaPlugin.MediaItem',
'The file %s no longer exists.')) % filename)
return False
=== modified file 'openlp/plugins/presentations/lib/mediaitem.py'
--- openlp/plugins/presentations/lib/mediaitem.py 2011-01-09 15:37:45 +0000
+++ openlp/plugins/presentations/lib/mediaitem.py 2011-01-15 20:09:28 +0000
@@ -31,6 +31,7 @@
from openlp.core.lib import MediaManagerItem, BaseListWithDnD, build_icon, \
SettingsManager, translate, check_item_selected, Receiver, ItemCapabilities
+from openlp.core.ui import criticalErrorMessageBox
from openlp.plugins.presentations.lib import MessageListener
log = logging.getLogger(__name__)
@@ -180,7 +181,7 @@
filename = os.path.split(unicode(file))[1]
if titles.count(filename) > 0:
if not initialLoad:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('PresentationPlugin.MediaItem',
'File Exists'),
translate('PresentationPlugin.MediaItem',
@@ -204,7 +205,7 @@
if initialLoad:
icon = build_icon(u':/general/general_delete.png')
else:
- QtGui.QMessageBox.critical(
+ criticalErrorMessageBox(
self, translate('PresentationPlugin.MediaItem',
'Unsupported File'),
translate('PresentationPlugin.MediaItem',
@@ -275,8 +276,8 @@
return True
else:
# File is no longer present
- QtGui.QMessageBox.critical(
- self, translate('PresentationPlugin.MediaItem',
+ criticalErrorMessageBox(
+ translate('PresentationPlugin.MediaItem',
'Missing Presentation'),
unicode(translate('PresentationPlugin.MediaItem',
'The Presentation %s no longer exists.')) % filename)
=== modified file 'openlp/plugins/songs/forms/authorsform.py'
--- openlp/plugins/songs/forms/authorsform.py 2011-01-04 21:06:50 +0000
+++ openlp/plugins/songs/forms/authorsform.py 2011-01-15 20:09:28 +0000
@@ -27,6 +27,7 @@
from PyQt4 import QtGui, QtCore
from openlp.core.lib import translate
+from openlp.core.ui import criticalErrorMessageBox
from openlp.plugins.songs.forms.authorsdialog import Ui_AuthorsDialog
class AuthorsForm(QtGui.QDialog, Ui_AuthorsDialog):
@@ -79,28 +80,21 @@
def accept(self):
if not self.firstNameEdit.text():
- QtGui.QMessageBox.critical(
- self, translate('SongsPlugin.AuthorsForm', 'Error'),
- translate('SongsPlugin.AuthorsForm',
- 'You need to type in the first name of the author.'))
+ criticalErrorMessageBox(message=translate('SongsPlugin.AuthorsForm',
+ 'You need to type in the first name of the author.'))
self.firstNameEdit.setFocus()
return False
elif not self.lastNameEdit.text():
- QtGui.QMessageBox.critical(
- self, translate('SongsPlugin.AuthorsForm', 'Error'),
- translate('SongsPlugin.AuthorsForm',
- 'You need to type in the last name of the author.'))
+ criticalErrorMessageBox(message=translate('SongsPlugin.AuthorsForm',
+ 'You need to type in the last name of the author.'))
self.lastNameEdit.setFocus()
return False
elif not self.displayEdit.text():
- if QtGui.QMessageBox.critical(
- self, translate('SongsPlugin.AuthorsForm', 'Error'),
- translate('SongsPlugin.AuthorsForm',
- 'You have not set a display name for the '
- 'author, combine the first and last names?'),
- QtGui.QMessageBox.StandardButtons(
- QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
- ) == QtGui.QMessageBox.Yes:
+ if criticalErrorMessageBox(
+ message=translate('SongsPlugin.AuthorsForm',
+ 'You have not set a display name for the '
+ 'author, combine the first and last names?'),
+ parent=self, question=True) == QtGui.QMessageBox.Yes:
self.displayEdit.setText(self.firstNameEdit.text() + \
u' ' + self.lastNameEdit.text())
return QtGui.QDialog.accept(self)
=== modified file 'openlp/plugins/songs/forms/editsongform.py'
--- openlp/plugins/songs/forms/editsongform.py 2011-01-14 21:37:32 +0000
+++ openlp/plugins/songs/forms/editsongform.py 2011-01-15 20:09:28 +0000
@@ -30,6 +30,7 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, translate
+from openlp.core.ui import criticalErrorMessageBox
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
@@ -346,10 +347,9 @@
author = self.manager.get_object(Author, item_id)
if self.authorsListView.findItems(unicode(author.display_name),
QtCore.Qt.MatchExactly):
- QtGui.QMessageBox.warning(self,
- translate('SongsPlugin.EditSongForm', 'Error'),
- translate('SongsPlugin.EditSongForm', 'This author is '
- 'already in the list.'))
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.EditSongForm',
+ 'This author is already in the list.'))
else:
author_item = QtGui.QListWidgetItem(unicode(
author.display_name))
@@ -400,10 +400,9 @@
topic = self.manager.get_object(Topic, item_id)
if self.topicsListView.findItems(unicode(topic.name),
QtCore.Qt.MatchExactly):
- QtGui.QMessageBox.warning(self,
- translate('SongsPlugin.EditSongForm', 'Error'),
- translate('SongsPlugin.EditSongForm', 'This topic is '
- 'already in the list.'))
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.EditSongForm',
+ 'This topic is already in the list.'))
else:
topic_item = QtGui.QListWidgetItem(unicode(topic.name))
topic_item.setData(QtCore.Qt.UserRole,
@@ -533,25 +532,22 @@
if len(self.titleEdit.displayText()) == 0:
self.songTabWidget.setCurrentIndex(0)
self.titleEdit.setFocus()
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.EditSongForm', 'Error'),
- translate('SongsPlugin.EditSongForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.EditSongForm',
'You need to type in a song title.'))
return False
if self.verseListWidget.rowCount() == 0:
self.songTabWidget.setCurrentIndex(0)
self.verseListWidget.setFocus()
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.EditSongForm', 'Error'),
- translate('SongsPlugin.EditSongForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.EditSongForm',
'You need to type in at least one verse.'))
return False
if self.authorsListView.count() == 0:
self.songTabWidget.setCurrentIndex(1)
self.authorsListView.setFocus()
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.EditSongForm', 'Warning'),
- translate('SongsPlugin.EditSongForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.EditSongForm',
'You need to have an author for this song.'))
return False
if self.song.verse_order:
@@ -578,9 +574,8 @@
valid = verses.pop(0)
for verse in verses:
valid = valid + u', ' + verse
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.EditSongForm', 'Error'),
- unicode(translate('SongsPlugin.EditSongForm',
+ criticalErrorMessageBox(
+ message=unicode(translate('SongsPlugin.EditSongForm',
'The verse order is invalid. There is no verse '
'corresponding to %s. Valid entries are %s.')) % \
(order_names[count], valid))
=== modified file 'openlp/plugins/songs/forms/editverseform.py'
--- openlp/plugins/songs/forms/editverseform.py 2011-01-04 21:06:50 +0000
+++ openlp/plugins/songs/forms/editverseform.py 2011-01-15 20:09:28 +0000
@@ -29,6 +29,7 @@
from PyQt4 import QtCore, QtGui
+from openlp.core.ui import criticalErrorMessageBox
from openlp.plugins.songs.lib import VerseType, translate
from editversedialog import Ui_EditVerseDialog
@@ -167,9 +168,8 @@
else:
value = self.getVerse()[0].split(u'\n')[1]
if len(value) == 0:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.EditSongForm', 'Error'),
- translate('SongsPlugin.EditSongForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.EditSongForm',
'You need to type some text in to the verse.'))
return False
QtGui.QDialog.accept(self)
=== modified file 'openlp/plugins/songs/forms/songbookform.py'
--- openlp/plugins/songs/forms/songbookform.py 2011-01-04 21:06:50 +0000
+++ openlp/plugins/songs/forms/songbookform.py 2011-01-15 20:09:28 +0000
@@ -27,6 +27,7 @@
from PyQt4 import QtGui
from openlp.core.lib import translate
+from openlp.core.ui import criticalErrorMessageBox
from openlp.plugins.songs.forms.songbookdialog import Ui_SongBookDialog
class SongBookForm(QtGui.QDialog, Ui_SongBookDialog):
@@ -49,10 +50,9 @@
def accept(self):
if not self.nameEdit.text():
- QtGui.QMessageBox.critical(
- self, translate('SongsPlugin.SongBookForm', 'Error'),
- translate('SongsPlugin.SongBookForm',
- 'You need to type in a name for the book.'))
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongBookForm',
+ 'You need to type in a name for the book.'))
self.nameEdit.setFocus()
return False
else:
=== modified file 'openlp/plugins/songs/forms/songimportform.py'
--- openlp/plugins/songs/forms/songimportform.py 2011-01-13 17:55:29 +0000
+++ openlp/plugins/songs/forms/songimportform.py 2011-01-15 20:09:28 +0000
@@ -32,6 +32,7 @@
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Receiver, SettingsManager, translate
+from openlp.core.ui import criticalErrorMessageBox
from openlp.core.ui.wizard import OpenLPWizard
from openlp.plugins.songs.lib.importer import SongFormat
@@ -325,7 +326,7 @@
source_format = self.formatComboBox.currentIndex()
if source_format == SongFormat.OpenLP2:
if self.openLP2FilenameEdit.text().isEmpty():
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No OpenLP 2.0 Song Database Selected'),
translate('SongsPlugin.ImportWizardForm',
@@ -335,7 +336,7 @@
return False
elif source_format == SongFormat.OpenLP1:
if self.openLP1FilenameEdit.text().isEmpty():
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No openlp.org 1.x Song Database Selected'),
translate('SongsPlugin.ImportWizardForm',
@@ -345,7 +346,7 @@
return False
elif source_format == SongFormat.OpenLyrics:
if self.openLyricsFileListWidget.count() == 0:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No OpenLyrics Files Selected'),
translate('SongsPlugin.ImportWizardForm',
@@ -355,7 +356,7 @@
return False
elif source_format == SongFormat.OpenSong:
if self.openSongFileListWidget.count() == 0:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No OpenSong Files Selected'),
translate('SongsPlugin.ImportWizardForm',
@@ -365,7 +366,7 @@
return False
elif source_format == SongFormat.WordsOfWorship:
if self.wordsOfWorshipFileListWidget.count() == 0:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No Words of Worship Files Selected'),
translate('SongsPlugin.ImportWizardForm',
@@ -375,7 +376,7 @@
return False
elif source_format == SongFormat.CCLI:
if self.ccliFileListWidget.count() == 0:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No CCLI Files Selected'),
translate('SongsPlugin.ImportWizardForm',
@@ -385,7 +386,7 @@
return False
elif source_format == SongFormat.SongsOfFellowship:
if self.songsOfFellowshipFileListWidget.count() == 0:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No Songs of Fellowship File Selected'),
translate('SongsPlugin.ImportWizardForm',
@@ -395,7 +396,7 @@
return False
elif source_format == SongFormat.Generic:
if self.genericFileListWidget.count() == 0:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No Document/Presentation Selected'),
translate('SongsPlugin.ImportWizardForm',
@@ -405,7 +406,7 @@
return False
elif source_format == SongFormat.EasyWorship:
if self.ewFilenameEdit.text().isEmpty():
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No EasyWorship Song Database Selected'),
translate('SongsPlugin.ImportWizardForm',
@@ -415,7 +416,7 @@
return False
elif source_format == SongFormat.SongBeamer:
if self.songBeamerFileListWidget.count() == 0:
- QtGui.QMessageBox.critical(self,
+ criticalErrorMessageBox(
translate('SongsPlugin.ImportWizardForm',
'No SongBeamer File Selected'),
translate('SongsPlugin.ImportWizardForm',
=== modified file 'openlp/plugins/songs/forms/songmaintenanceform.py'
--- openlp/plugins/songs/forms/songmaintenanceform.py 2011-01-05 17:17:22 +0000
+++ openlp/plugins/songs/forms/songmaintenanceform.py 2011-01-15 20:09:28 +0000
@@ -23,15 +23,19 @@
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
###############################################################################
+import logging
from PyQt4 import QtGui, QtCore
from sqlalchemy.sql import and_
from openlp.core.lib import Receiver, translate
+from openlp.core.ui import criticalErrorMessageBox
from openlp.plugins.songs.forms import AuthorsForm, TopicsForm, SongBookForm
from openlp.plugins.songs.lib.db import Author, Book, Topic, Song
from songmaintenancedialog import Ui_SongMaintenanceDialog
+log = logging.getLogger(__name__)
+
class SongMaintenanceForm(QtGui.QDialog, Ui_SongMaintenanceDialog):
"""
Class documentation goes here.
@@ -87,15 +91,14 @@
if item_id != -1:
item = self.manager.get_object(item_class, item_id)
if item and len(item.songs) == 0:
- if QtGui.QMessageBox.warning(self, dlg_title, del_text,
- QtGui.QMessageBox.StandardButtons(QtGui.QMessageBox.No |
- QtGui.QMessageBox.Yes)) == QtGui.QMessageBox.Yes:
+ if criticalErrorMessageBox(title=dlg_title, message=del_text,
+ parent=self, question=True) == QtGui.QMessageBox.Yes:
self.manager.delete_object(item_class, item.id)
reset_func()
else:
- QtGui.QMessageBox.critical(self, dlg_title, err_text)
+ criticalErrorMessageBox(dlg_title, err_text)
else:
- QtGui.QMessageBox.critical(self, dlg_title, sel_text)
+ criticalErrorMessageBox(dlg_title, sel_text)
def resetAuthors(self):
"""
@@ -229,14 +232,12 @@
if self.manager.save_object(author):
self.resetAuthors()
else:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'Could not add your author.'))
else:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'This author already exists.'))
def onTopicAddButtonClick(self):
@@ -246,14 +247,12 @@
if self.manager.save_object(topic):
self.resetTopics()
else:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'Could not add your topic.'))
else:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'This topic already exists.'))
def onBookAddButtonClick(self):
@@ -264,14 +263,12 @@
if self.manager.save_object(book):
self.resetBooks()
else:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'Could not add your book.'))
else:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'This book already exists.'))
def onAuthorEditButtonClick(self):
@@ -298,20 +295,15 @@
self.resetAuthors()
Receiver.send_message(u'songs_load_list')
else:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm',
- 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'Could not save your changes.'))
- elif QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- unicode(translate('SongsPlugin.SongMaintenanceForm',
- 'The author %s already exists. Would you like to make songs'
- ' with author %s use the existing author %s?')) %
- (author.display_name, temp_display_name,
- author.display_name), QtGui.QMessageBox.StandardButtons(
- QtGui.QMessageBox.No | QtGui.QMessageBox.Yes)) == \
- QtGui.QMessageBox.Yes:
+ elif criticalErrorMessageBox(message=unicode(translate(
+ 'SongsPlugin.SongMaintenanceForm', 'The author %s already '
+ 'exists. Would you like to make songs with author %s use '
+ 'the existing author %s?')) % (author.display_name,
+ temp_display_name, author.display_name),
+ parent=self, question=True) == QtGui.QMessageBox.Yes:
self.mergeAuthors(author)
self.resetAuthors()
Receiver.send_message(u'songs_load_list')
@@ -321,9 +313,8 @@
author.first_name = temp_first_name
author.last_name = temp_last_name
author.display_name = temp_display_name
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'Could not save your modified author, because the '
'author already exists.'))
@@ -340,27 +331,22 @@
if self.manager.save_object(topic):
self.resetTopics()
else:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm',
- 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'Could not save your changes.'))
- elif QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- unicode(translate('SongsPlugin.SongMaintenanceForm',
+ elif criticalErrorMessageBox(
+ message=unicode(translate('SongsPlugin.SongMaintenanceForm',
'The topic %s already exists. Would you like to make songs '
'with topic %s use the existing topic %s?')) % (topic.name,
- temp_name, topic.name), QtGui.QMessageBox.StandardButtons(
- QtGui.QMessageBox.No | QtGui.QMessageBox.Yes)) == \
- QtGui.QMessageBox.Yes:
+ temp_name, topic.name),
+ parent=self, question=True) == QtGui.QMessageBox.Yes:
self.mergeTopics(topic)
self.resetTopics()
else:
# We restore the topics's old name.
topic.name = temp_name
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'Could not save your modified topic, because it '
'already exists.'))
@@ -383,19 +369,15 @@
if self.manager.save_object(book):
self.resetBooks()
else:
- QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm',
- 'Error'),
- translate('SongsPlugin.SongMaintenanceForm',
+ criticalErrorMessageBox(
+ message=translate('SongsPlugin.SongMaintenanceForm',
'Could not save your changes.'))
- elif QtGui.QMessageBox.critical(self,
- translate('SongsPlugin.SongMaintenanceForm', 'Error'),
- unicode(translate('SongsPlugin.SongMaintenanceForm',
+ elif criticalErrorMessageBox(
+ message=unicode(translate('SongsPlugin.SongMaintenanceForm',
'The book %s already exists. Would you like to make songs '
'with book %s use the existing book %s?')) % (book.name,
- temp_name, book.name), QtGui.QMessageBox.StandardButtons(
- QtGui.QMessageBox.No | QtGui.QMessageBox.Yes)) == \
- QtGui.QMessageBox.Yes:
+ temp_name, book.name),
+ parent=self, question=True) == QtGui.QMessageBox.Yes:
self.mergeBooks(book)
self.resetBooks()
else:
=== modified file 'openlp/plugins/songs/forms/topicsform.py'
--- openlp/plugins/songs/forms/topicsform.py 2011-01-04 21:06:50 +0000
+++ openlp/plugins/songs/forms/topicsform.py 2011-01-15 20:09:28 +0000
@@ -27,6 +27,7 @@
from PyQt4 import QtGui
from openlp.core.lib import translate
+from openlp.core.ui import criticalErrorMessageBox
from openlp.plugins.songs.forms.topicsdialog import Ui_TopicsDialog
class TopicsForm(QtGui.QDialog, Ui_TopicsDialog):
@@ -48,10 +49,8 @@
def accept(self):
if not self.nameEdit.text():
- QtGui.QMessageBox.critical(
- self, translate('SongsPlugin.TopicsForm', 'Error'),
- translate('SongsPlugin.TopicsForm',
- 'You need to type in a topic name.'))
+ criticalErrorMessageBox(message=translate('SongsPlugin.TopicsForm',
+ 'You need to type in a topic name.'))
self.nameEdit.setFocus()
return False
else:
Follow ups