mirror of https://gitlab.com/openlp/openlp.git
head
This commit is contained in:
commit
604394a2eb
|
@ -133,6 +133,7 @@ class OpenLP(QtGui.QApplication):
|
|||
u'general/update check', QtCore.QVariant(True)).toBool()
|
||||
if update_check:
|
||||
VersionThread(self.mainWindow).start()
|
||||
Receiver.send_message(u'maindisplay_blank_check')
|
||||
self.mainWindow.appStartup()
|
||||
DelayStartThread(self.mainWindow).start()
|
||||
return self.exec_()
|
||||
|
|
|
@ -91,6 +91,7 @@ class MediaManagerItem(QtGui.QWidget):
|
|||
Constructor to create the media manager item.
|
||||
"""
|
||||
QtGui.QWidget.__init__(self, parent)
|
||||
self.hide()
|
||||
self.whitespace = re.compile(r'[\W_]+', re.UNICODE)
|
||||
self.plugin = plugin
|
||||
visible_title = self.plugin.getString(StringContent.VisibleName)
|
||||
|
|
|
@ -67,7 +67,7 @@ class Renderer(object):
|
|||
``theme_manager``
|
||||
The ThemeManager instance, used to get the current theme details.
|
||||
"""
|
||||
log.debug(u'Initilisation started')
|
||||
log.debug(u'Initialisation started')
|
||||
self.theme_manager = theme_manager
|
||||
self.image_manager = image_manager
|
||||
self.screens = ScreenList.get_instance()
|
||||
|
|
|
@ -106,7 +106,7 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
|
|||
"""
|
||||
Saving exception log and system informations to a file.
|
||||
"""
|
||||
report = unicode(translate('OpenLP.ExceptionForm',
|
||||
report_text = unicode(translate('OpenLP.ExceptionForm',
|
||||
'**OpenLP Bug Report**\n'
|
||||
'Version: %s\n\n'
|
||||
'--- Details of the Exception. ---\n\n%s\n\n '
|
||||
|
@ -122,21 +122,21 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog):
|
|||
filename = unicode(QtCore.QDir.toNativeSeparators(filename))
|
||||
SettingsManager.set_last_dir(self.settingsSection, os.path.dirname(
|
||||
filename))
|
||||
report = report % self._createReport()
|
||||
report_text = report_text % self._createReport()
|
||||
try:
|
||||
file = open(filename, u'w')
|
||||
report_file = open(filename, u'w')
|
||||
try:
|
||||
file.write(report)
|
||||
report_file.write(report_text)
|
||||
except UnicodeError:
|
||||
file.close()
|
||||
file = open(filename, u'wb')
|
||||
file.write(report.encode(u'utf-8'))
|
||||
report_file.close()
|
||||
report_file = open(filename, u'wb')
|
||||
report_file.write(report_text.encode(u'utf-8'))
|
||||
finally:
|
||||
file.close()
|
||||
report_file.close()
|
||||
except IOError:
|
||||
log.exception(u'Failed to write crash report')
|
||||
finally:
|
||||
file.close()
|
||||
report_file.close()
|
||||
|
||||
def onSendReportButtonPressed(self):
|
||||
"""
|
||||
|
|
|
@ -148,7 +148,6 @@ class MainDisplay(QtGui.QGraphicsView):
|
|||
self.__hideMouse()
|
||||
# To display or not to display?
|
||||
if not self.screen[u'primary']:
|
||||
self.show()
|
||||
self.primary = False
|
||||
else:
|
||||
self.primary = True
|
||||
|
|
|
@ -678,13 +678,12 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
def blankCheck(self):
|
||||
"""
|
||||
Check and display message if screen blank on setup.
|
||||
Triggered by delay thread.
|
||||
"""
|
||||
settings = QtCore.QSettings()
|
||||
self.liveController.mainDisplaySetBackground()
|
||||
if settings.value(u'%s/screen blank' % self.generalSettingsSection,
|
||||
QtCore.QVariant(False)).toBool():
|
||||
self.liveController.mainDisplaySetBackground()
|
||||
if settings.value(u'blank warning',
|
||||
if settings.value(u'%s/blank warning' % self.generalSettingsSection,
|
||||
QtCore.QVariant(False)).toBool():
|
||||
QtGui.QMessageBox.question(self,
|
||||
translate('OpenLP.MainWindow',
|
||||
|
|
|
@ -79,7 +79,7 @@ class ScreenList(object):
|
|||
``number``
|
||||
The number of the screen, which size has changed.
|
||||
"""
|
||||
log.info(u'screenResolutionChanged %d' % number)
|
||||
log.info(u'screen_resolution_changed %d' % number)
|
||||
for screen in self.screen_list:
|
||||
if number == screen[u'number']:
|
||||
newScreen = {
|
||||
|
@ -104,6 +104,9 @@ class ScreenList(object):
|
|||
``changed_screen``
|
||||
The screen's number which has been (un)plugged.
|
||||
"""
|
||||
# Do not log at start up.
|
||||
if changed_screen != -1:
|
||||
log.info(u'screen_count_changed %d' % number)
|
||||
# Remove unplugged screens.
|
||||
for screen in copy.deepcopy(self.screen_list):
|
||||
if screen[u'number'] == self.desktop.numScreens():
|
||||
|
@ -116,8 +119,7 @@ class ScreenList(object):
|
|||
u'size': self.desktop.screenGeometry(number),
|
||||
u'primary': (self.desktop.primaryScreen() == number)
|
||||
})
|
||||
# We do not want to send this message, when the method is called the
|
||||
# first time.
|
||||
# We do not want to send this message at start up.
|
||||
if changed_screen != -1:
|
||||
# Reload setting tabs to apply possible changes.
|
||||
Receiver.send_message(u'config_screen_changed')
|
||||
|
@ -241,6 +243,7 @@ class ScreenList(object):
|
|||
height = settings.value(u'height',
|
||||
QtCore.QVariant(self.current[u'size'].height())).toInt()[0]
|
||||
self.override[u'size'] = QtCore.QRect(x, y, width, height)
|
||||
self.override[u'primary'] = False
|
||||
settings.endGroup()
|
||||
if override_display:
|
||||
self.set_override_display()
|
||||
|
|
|
@ -742,8 +742,10 @@ class SlideController(QtGui.QWidget):
|
|||
self.onThemeDisplay(True)
|
||||
elif display_type == u'hidden':
|
||||
self.onHideDisplay(True)
|
||||
else:
|
||||
elif display_type == u'blanked':
|
||||
self.onBlankDisplay(True)
|
||||
else:
|
||||
Receiver.send_message(u'maindisplay_show')
|
||||
|
||||
def onSlideBlank(self):
|
||||
"""
|
||||
|
|
|
@ -69,7 +69,6 @@ class VersionThread(QtCore.QThread):
|
|||
Run the thread.
|
||||
"""
|
||||
time.sleep(1)
|
||||
Receiver.send_message(u'maindisplay_blank_check')
|
||||
app_version = get_application_version()
|
||||
version = check_latest_version(app_version)
|
||||
remote_version = {}
|
||||
|
|
|
@ -33,7 +33,8 @@ import shutil
|
|||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import Receiver, SettingsManager, translate
|
||||
from openlp.core.lib import Receiver, SettingsManager, translate, \
|
||||
check_directory_exists
|
||||
from openlp.core.lib.db import delete_database
|
||||
from openlp.core.lib.ui import UiStrings, critical_error_message_box
|
||||
from openlp.core.ui.wizard import OpenLPWizard, WizardStrings
|
||||
|
@ -94,7 +95,7 @@ class BibleUpgradeForm(OpenLPWizard):
|
|||
|
||||
def onCheckBoxIndexChanged(self, index):
|
||||
"""
|
||||
Show/ Hide warnings if CheckBox state has changed
|
||||
Show/Hide warnings if CheckBox state has changed
|
||||
"""
|
||||
for number, filename in enumerate(self.files):
|
||||
if not self.checkBox[number].checkState() == QtCore.Qt.Checked:
|
||||
|
@ -154,17 +155,19 @@ class BibleUpgradeForm(OpenLPWizard):
|
|||
self.backupDirectoryEdit.setEnabled(not checked)
|
||||
self.backupBrowseButton.setEnabled(not checked)
|
||||
|
||||
def backupOldBibles(self, backupdirectory):
|
||||
def backupOldBibles(self, backup_directory):
|
||||
"""
|
||||
Backup old bible databases in a given folder.
|
||||
"""
|
||||
check_directory_exists(backup_directory)
|
||||
success = True
|
||||
for filename in self.files:
|
||||
try:
|
||||
shutil.copy(os.path.join(self.path, filename[0]),
|
||||
backupdirectory)
|
||||
shutil.copy(os.path.join(self.path, filename[0]),
|
||||
backup_directory)
|
||||
except:
|
||||
return False
|
||||
return True
|
||||
success = False
|
||||
return success
|
||||
|
||||
def customInit(self):
|
||||
"""
|
||||
|
@ -318,7 +321,7 @@ class BibleUpgradeForm(OpenLPWizard):
|
|||
QtGui.QFormLayout.FieldRole, self.versionNameEdit[number])
|
||||
self.versionNameEdit[number].setText(bible.get_name())
|
||||
self.formLayout.addWidget(self.formWidget[number])
|
||||
#Set up the Signal for the checkbox
|
||||
# Set up the Signal for the checkbox.
|
||||
QtCore.QObject.connect(self.checkBox[number],
|
||||
QtCore.SIGNAL(u'stateChanged(int)'),
|
||||
self.onCheckBoxIndexChanged)
|
||||
|
@ -414,29 +417,22 @@ class BibleUpgradeForm(OpenLPWizard):
|
|||
return True
|
||||
elif self.currentPage() == self.backupPage:
|
||||
if not self.noBackupCheckBox.checkState() == QtCore.Qt.Checked:
|
||||
if not unicode(self.backupDirectoryEdit.text()):
|
||||
backup_path = unicode(self.backupDirectoryEdit.text())
|
||||
if not backup_path:
|
||||
critical_error_message_box(UiStrings().EmptyField,
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'You need to specify a Backup Directory for your '
|
||||
'Bibles.'))
|
||||
self.backupDirectoryEdit.setFocus()
|
||||
return False
|
||||
elif not os.path.exists(unicode(
|
||||
self.backupDirectoryEdit.text())):
|
||||
critical_error_message_box(UiStrings().Error,
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'The given path is not an existing directory.'))
|
||||
self.backupDirectoryEdit.setFocus()
|
||||
return False
|
||||
else:
|
||||
if not self.backupOldBibles(unicode(
|
||||
self.backupDirectoryEdit.text())):
|
||||
if not self.backupOldBibles(backup_path):
|
||||
critical_error_message_box(UiStrings().Error,
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'The backup was not successfull.\nTo backup your '
|
||||
'Bibles you need the permission to write in the given '
|
||||
'directory. If you have a permissions to write and '
|
||||
'this error still occurs, please report a bug.'))
|
||||
translate('BiblesPlugin.UpgradeWizardForm',
|
||||
'The backup was not successful.\nTo backup your '
|
||||
'Bibles you need permission to write to the given '
|
||||
'directory. If you have write permissions and this '
|
||||
'error still occurs, please report a bug.'))
|
||||
return False
|
||||
return True
|
||||
elif self.currentPage() == self.selectPage:
|
||||
|
|
|
@ -70,15 +70,15 @@ class BookNameForm(QDialog, Ui_BookNameDialog):
|
|||
self.onCheckBoxIndexChanged)
|
||||
|
||||
def onCheckBoxIndexChanged(self, index):
|
||||
'''
|
||||
"""
|
||||
Reload Combobox if CheckBox state has changed
|
||||
'''
|
||||
"""
|
||||
self.reloadComboBox()
|
||||
|
||||
def reloadComboBox(self):
|
||||
'''
|
||||
"""
|
||||
Reload the Combobox items
|
||||
'''
|
||||
"""
|
||||
self.correspondingComboBox.clear()
|
||||
items = BiblesResourcesDB.get_books()
|
||||
for item in items:
|
||||
|
|
|
@ -72,9 +72,8 @@ class BGExtract(object):
|
|||
log.debug(u'BGExtract.get_bible_chapter("%s", "%s", "%s")', version,
|
||||
bookname, chapter)
|
||||
urlbookname = urllib.quote(bookname.encode("utf-8"))
|
||||
url_params = urllib.urlencode(
|
||||
{u'search': u'%s %s' % (urlbookname, chapter),
|
||||
u'version': u'%s' % version})
|
||||
url_params = u'search=%s+%s&version=%s' % (urlbookname, chapter,
|
||||
version)
|
||||
cleaner = [(re.compile(' |<br />|\'\+\''), lambda match: '')]
|
||||
soup = get_soup_for_bible_ref(
|
||||
u'http://www.biblegateway.com/passage/?%s' % url_params,
|
||||
|
@ -97,10 +96,10 @@ class BGExtract(object):
|
|||
verse_list = {}
|
||||
# Cater for inconsistent mark up in the first verse of a chapter.
|
||||
first_verse = verses.find(u'versenum')
|
||||
if first_verse:
|
||||
if first_verse and len(first_verse.contents):
|
||||
verse_list[1] = unicode(first_verse.contents[0])
|
||||
for verse in verses(u'sup', u'versenum'):
|
||||
raw_verse_num = verse.next
|
||||
raw_verse_num = verse.next
|
||||
clean_verse_num = 0
|
||||
# Not all verses exist in all translations and may or may not be
|
||||
# represented by a verse number. If they are not fine, if they are
|
||||
|
|
|
@ -845,7 +845,8 @@ class BibleMediaItem(MediaManagerItem):
|
|||
service_item.theme = None
|
||||
else:
|
||||
service_item.theme = self.settings.bible_theme
|
||||
[service_item.add_from_text(slide[:30], slide) for slide in raw_slides]
|
||||
for slide in raw_slides:
|
||||
service_item.add_from_text(slide[:30], slide)
|
||||
return True
|
||||
|
||||
def formatTitle(self, start_bitem, old_bitem):
|
||||
|
|
|
@ -772,9 +772,9 @@ class SongImportForm(OpenLPWizard):
|
|||
SettingsManager.get_last_dir(self.plugin.settingsSection, 1))
|
||||
if not filename:
|
||||
return
|
||||
file = codecs.open(filename, u'w', u'utf-8')
|
||||
file.write(self.errorReportTextEdit.toPlainText())
|
||||
file.close()
|
||||
report_file = codecs.open(filename, u'w', u'utf-8')
|
||||
report_file.write(self.errorReportTextEdit.toPlainText())
|
||||
report_file.close()
|
||||
|
||||
def addFileSelectItem(self, prefix, obj_prefix=None, can_disable=False,
|
||||
single_select=False):
|
||||
|
|
|
@ -61,8 +61,8 @@ class EasiSlidesImport(SongImport):
|
|||
"""
|
||||
log.info(u'Importing EasiSlides XML file %s', self.import_source)
|
||||
parser = etree.XMLParser(remove_blank_text=True)
|
||||
file = etree.parse(self.import_source, parser)
|
||||
xml = unicode(etree.tostring(file))
|
||||
parsed_file = etree.parse(self.import_source, parser)
|
||||
xml = unicode(etree.tostring(parsed_file))
|
||||
song_xml = objectify.fromstring(xml)
|
||||
self.import_wizard.progressBar.setMaximum(len(song_xml.Item))
|
||||
for song in song_xml.Item:
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
The :mod:`importer` modules provides the general song import functionality.
|
||||
"""
|
||||
import logging
|
||||
|
||||
from opensongimport import OpenSongImport
|
||||
from easislidesimport import EasiSlidesImport
|
||||
from olpimport import OpenLPSongImport
|
||||
|
|
Loading…
Reference in New Issue