From 3e2e87bb2c6686753486294f9fb6650a8d921234 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Tue, 27 Sep 2011 20:37:34 +0100 Subject: [PATCH 01/72] Initial stab Fixes: https://launchpad.net/bugs/814201 --- openlp/core/ui/themeform.py | 34 ++++++++++++++++++++++++++++++++++ openlp/core/ui/themewizard.py | 15 +++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index dc3c23d0d..5de7a239e 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -229,6 +229,8 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): """ Detects Page changes and updates as approprate. """ + if self.page(pageId) == self.areaPositionPage: + self._generate_layout() if self.page(pageId) == self.previewPage: self.updateTheme() frame = self.thememanager.generateImage(self.theme) @@ -236,6 +238,38 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): self.displayAspectRatio = float(frame.width()) / frame.height() self.resizeEvent() + def _generate_layout(self): + width = self.thememanager.mainwindow.renderer.width + height = self.thememanager.mainwindow.renderer.height + footer_start = int(height * 0.90) + pixmap = QtGui.QPixmap(width, height) + pixmap.fill(QtCore.Qt.white) + paint = QtGui.QPainter(pixmap) + paint.setPen(QtCore.Qt.blue) + if not self.theme.font_main_override: + main_rect = QtCore.QRect(10, 0, width - 20, footer_start) + else: + main_rect = QtCore.QRect(self.theme.font_main_x, self.theme.font_main_y, + self.theme.font_main_width - 1, self.theme.font_main_height - 1) + paint.drawRect(main_rect) + paint.setPen(QtCore.Qt.red) + if not self.theme.font_footer_override: + footer_rect = QtCore.QRect(10, footer_start, width - 20, + height - footer_start) + else: + footer_rect = QtCore.QRect(self.theme.font_footer_x, + self.theme.font_footer_y, self.theme.font_footer_width - 1, + self.theme.font_footer_height - 1) + print footer_rect + paint.drawRect(footer_rect) + paint.end() + pixmap = pixmap.scaled(100, 100 * + self.thememanager.mainwindow.renderer.screen_ratio, + QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation) + self.themeLayoutLabel.setPixmap(pixmap) + self.displayAspectRatio = float(pixmap.width()) / pixmap.height() + self.resizeEvent() + def onOutlineCheckCheckBoxStateChanged(self, state): """ Change state as Outline check box changed diff --git a/openlp/core/ui/themewizard.py b/openlp/core/ui/themewizard.py index c7cba0ebd..12ae97d0d 100644 --- a/openlp/core/ui/themewizard.py +++ b/openlp/core/ui/themewizard.py @@ -336,6 +336,21 @@ class Ui_ThemeWizard(object): self.footerPositionLayout.addRow(self.footerHeightLabel, self.footerHeightSpinBox) self.areaPositionLayout.addWidget(self.footerPositionGroupBox) + self.layoutArea = QtGui.QWidget(self.areaPositionPage) + self.layoutArea.setObjectName(u'LayoutArea') + self.themeLayoutPreview = QtGui.QGridLayout(self.layoutArea) + self.themeLayoutPreview.setMargin(0) + self.themeLayoutPreview.setColumnStretch(0, 1) + self.themeLayoutPreview.setRowStretch(0, 1) + self.themeLayoutLabel = QtGui.QLabel(self.areaPositionPage) + self.themeLayoutLabel.setObjectName(u'ThemeLayoutPreview') + self.themeLayoutLabel.setObjectName(u'ThemeLayoutPreview') + self.themeLayoutLabel = QtGui.QLabel(self.layoutArea) + self.themeLayoutLabel.setFrameShape(QtGui.QFrame.Box) + self.themeLayoutLabel.setScaledContents(True) + self.themeLayoutLabel.setObjectName(u'ThemeLayoutLabel') + self.areaPositionLayout.addWidget(self.themeLayoutLabel) + self.areaPositionLayout.addWidget(self.layoutArea) themeWizard.addPage(self.areaPositionPage) # Preview Page self.previewPage = QtGui.QWizardPage() From 632e2ce2dd1acf21838450040365ec10158d49d0 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 28 Sep 2011 05:50:56 +0100 Subject: [PATCH 02/72] More fixes --- openlp/core/ui/themeform.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index 5de7a239e..63dc542fa 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -245,14 +245,14 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): pixmap = QtGui.QPixmap(width, height) pixmap.fill(QtCore.Qt.white) paint = QtGui.QPainter(pixmap) - paint.setPen(QtCore.Qt.blue) + paint.setPen(QtGui.QPen(QtCore.Qt.blue)) if not self.theme.font_main_override: main_rect = QtCore.QRect(10, 0, width - 20, footer_start) else: main_rect = QtCore.QRect(self.theme.font_main_x, self.theme.font_main_y, self.theme.font_main_width - 1, self.theme.font_main_height - 1) paint.drawRect(main_rect) - paint.setPen(QtCore.Qt.red) + paint.setPen(QtGui.QPen(QtCore.Qt.red)) if not self.theme.font_footer_override: footer_rect = QtCore.QRect(10, footer_start, width - 20, height - footer_start) @@ -260,12 +260,9 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): footer_rect = QtCore.QRect(self.theme.font_footer_x, self.theme.font_footer_y, self.theme.font_footer_width - 1, self.theme.font_footer_height - 1) - print footer_rect paint.drawRect(footer_rect) paint.end() - pixmap = pixmap.scaled(100, 100 * - self.thememanager.mainwindow.renderer.screen_ratio, - QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation) + pixmap = pixmap.scaledToWidth(100, QtCore.Qt.SmoothTransformation) self.themeLayoutLabel.setPixmap(pixmap) self.displayAspectRatio = float(pixmap.width()) / pixmap.height() self.resizeEvent() @@ -303,6 +300,7 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): """ if self.updateThemeAllowed: self.theme.font_main_override = not (value == QtCore.Qt.Checked) + self._generate_layout() def onFooterPositionCheckBoxStateChanged(self, value): """ @@ -311,6 +309,7 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): """ if self.updateThemeAllowed: self.theme.font_footer_override = not (value == QtCore.Qt.Checked) + self._generate_layout() def exec_(self, edit=False): """ From ff32139b2e278791753868255efa941713f4e0aa Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 28 Sep 2011 18:39:26 +0100 Subject: [PATCH 03/72] refactor code to stop duplicate code --- openlp/core/lib/renderer.py | 28 +++++++++++++++++++----- openlp/core/ui/themeform.py | 18 +++------------ openlp/plugins/remotes/lib/httpserver.py | 2 +- 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index 6d48707b4..dce5b38ee 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -306,19 +306,37 @@ class Renderer(object): log.debug(u'_build_text_rectangle') main_rect = None footer_rect = None + main_rect = self.get_main_rectangle(theme) + footer_rect = self.get_main_rectangle(theme) + self._set_text_rectangle(main_rect, footer_rect) + + def get_main_rectangle(self, theme): + """ + Calculates the placement and size of the main rectangle + + ``theme`` + The theme information + """ if not theme.font_main_override: - main_rect = QtCore.QRect(10, 0, self.width - 20, self.footer_start) + return QtCore.QRect(10, 0, self.width - 20, self.footer_start) else: - main_rect = QtCore.QRect(theme.font_main_x, theme.font_main_y, + return QtCore.QRect(theme.font_main_x, theme.font_main_y, theme.font_main_width - 1, theme.font_main_height - 1) + + def get_footer_rectangle(self, theme): + """ + Calculates the placement and size of the main rectangle + + ``theme`` + The theme information + """ if not theme.font_footer_override: - footer_rect = QtCore.QRect(10, self.footer_start, self.width - 20, + return QtCore.QRect(10, self.footer_start, self.width - 20, self.height - self.footer_start) else: - footer_rect = QtCore.QRect(theme.font_footer_x, + return QtCore.QRect(theme.font_footer_x, theme.font_footer_y, theme.font_footer_width - 1, theme.font_footer_height - 1) - self._set_text_rectangle(main_rect, footer_rect) def _set_text_rectangle(self, rect_main, rect_footer): """ diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index 63dc542fa..0d4aeff32 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -246,23 +246,11 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): pixmap.fill(QtCore.Qt.white) paint = QtGui.QPainter(pixmap) paint.setPen(QtGui.QPen(QtCore.Qt.blue)) - if not self.theme.font_main_override: - main_rect = QtCore.QRect(10, 0, width - 20, footer_start) - else: - main_rect = QtCore.QRect(self.theme.font_main_x, self.theme.font_main_y, - self.theme.font_main_width - 1, self.theme.font_main_height - 1) - paint.drawRect(main_rect) + paint.drawRect(self.thememanager.mainwindow.renderer.get_main_rectangle(self.theme)) paint.setPen(QtGui.QPen(QtCore.Qt.red)) - if not self.theme.font_footer_override: - footer_rect = QtCore.QRect(10, footer_start, width - 20, - height - footer_start) - else: - footer_rect = QtCore.QRect(self.theme.font_footer_x, - self.theme.font_footer_y, self.theme.font_footer_width - 1, - self.theme.font_footer_height - 1) - paint.drawRect(footer_rect) + paint.drawRect(self.thememanager.mainwindow.renderer.get_footer_rectangle(self.theme)) paint.end() - pixmap = pixmap.scaledToWidth(100, QtCore.Qt.SmoothTransformation) + pixmap = pixmap.scaledToWidth(200, QtCore.Qt.SmoothTransformation) self.themeLayoutLabel.setPixmap(pixmap) self.displayAspectRatio = float(pixmap.width()) / pixmap.height() self.resizeEvent() diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index c81c83d92..a01691284 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -315,7 +315,7 @@ class HttpConnection(object): """ log.debug(u'ready to read socket') if self.socket.canReadLine(): - data = unicode(self.socket.readLine()) + data = unicode(self.socket.readLine()).encode(u'utf-8') log.debug(u'received: ' + data) words = data.split(u' ') response = None From 9142ffb4881d8743691523c19e33dd02593b01bd Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 28 Sep 2011 21:43:30 +0100 Subject: [PATCH 04/72] more visible lines --- openlp/core/lib/renderer.py | 2 -- openlp/core/ui/themeform.py | 5 ++--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index dce5b38ee..3d0d1e080 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -304,8 +304,6 @@ class Renderer(object): The theme to build a text block for. """ log.debug(u'_build_text_rectangle') - main_rect = None - footer_rect = None main_rect = self.get_main_rectangle(theme) footer_rect = self.get_main_rectangle(theme) self._set_text_rectangle(main_rect, footer_rect) diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index 0d4aeff32..114d541f5 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -241,13 +241,12 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): def _generate_layout(self): width = self.thememanager.mainwindow.renderer.width height = self.thememanager.mainwindow.renderer.height - footer_start = int(height * 0.90) pixmap = QtGui.QPixmap(width, height) pixmap.fill(QtCore.Qt.white) paint = QtGui.QPainter(pixmap) - paint.setPen(QtGui.QPen(QtCore.Qt.blue)) + paint.setPen(QtGui.QPen(QtCore.Qt.blue, 2)) paint.drawRect(self.thememanager.mainwindow.renderer.get_main_rectangle(self.theme)) - paint.setPen(QtGui.QPen(QtCore.Qt.red)) + paint.setPen(QtGui.QPen(QtCore.Qt.red, 2)) paint.drawRect(self.thememanager.mainwindow.renderer.get_footer_rectangle(self.theme)) paint.end() pixmap = pixmap.scaledToWidth(200, QtCore.Qt.SmoothTransformation) From 128b6b80bf9139e276795270a0bea3a0ec4e63c7 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Thu, 29 Sep 2011 18:57:48 +0100 Subject: [PATCH 05/72] Display now works --- openlp/core/ui/themeform.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index 114d541f5..743b0ca2d 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -249,7 +249,8 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): paint.setPen(QtGui.QPen(QtCore.Qt.red, 2)) paint.drawRect(self.thememanager.mainwindow.renderer.get_footer_rectangle(self.theme)) paint.end() - pixmap = pixmap.scaledToWidth(200, QtCore.Qt.SmoothTransformation) + pixmap = pixmap.scaledToHeight(150, QtCore.Qt.SmoothTransformation) + self.themeLayoutLabel.setFixedSize(pixmap.width() + 2, pixmap.height() + 2) self.themeLayoutLabel.setPixmap(pixmap) self.displayAspectRatio = float(pixmap.width()) / pixmap.height() self.resizeEvent() From d8fc6cd4dd6fe8716280b25a42c188802b8b4d44 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Fri, 30 Sep 2011 17:45:59 -0400 Subject: [PATCH 06/72] Added additional desctiption to OpenLyrics import selection and added code to select xml files for import --- openlp/core/ui/wizard.py | 2 +- openlp/plugins/songs/forms/songimportform.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/wizard.py b/openlp/core/ui/wizard.py index 9d8a106ed..40591872b 100644 --- a/openlp/core/ui/wizard.py +++ b/openlp/core/ui/wizard.py @@ -49,7 +49,7 @@ class WizardStrings(object): EW = u'EasyWorship' ES = u'EasiSlides' FP = u'Foilpresenter' - OL = u'OpenLyrics' + OL = u'OpenLyrics or OpenLP 2.0 Exported Song' OS = u'OpenSong' OSIS = u'OSIS' SB = u'SongBeamer' diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 6f09c9b8c..f3f7b1fce 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -508,7 +508,8 @@ class SongImportForm(OpenLPWizard): Get OpenLyrics song database files """ self.getFiles(WizardStrings.OpenTypeFile % WizardStrings.OL, - self.openLyricsFileListWidget) + self.openLyricsFileListWidget, u'%s (*.xml)' % + translate('SongsPlugin.ImportWizardForm', 'OpenLyrics Files')) def onOpenLyricsRemoveButtonClicked(self): """ From 09c982ef6b4a8bcb54ab712f1d0c7021ad8665af Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 1 Oct 2011 10:20:32 +0100 Subject: [PATCH 07/72] Add option to remotes to set time format Fixes: https://launchpad.net/bugs/863841 From 648c5159a190e235be90109dd0311448ad168788 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 1 Oct 2011 17:34:09 +0530 Subject: [PATCH 08/72] Allow the stageview time to be formatted between 12 and 24 hours Fixes: https://launchpad.net/bugs/863841 --- openlp/plugins/remotes/html/stage.js | 6 +++--- openlp/plugins/remotes/lib/httpserver.py | 4 +++- openlp/plugins/remotes/lib/remotetab.py | 21 +++++++++++++++++++++ 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/remotes/html/stage.js b/openlp/plugins/remotes/html/stage.js index 09c82c49b..8db92b39a 100644 --- a/openlp/plugins/remotes/html/stage.js +++ b/openlp/plugins/remotes/html/stage.js @@ -121,11 +121,11 @@ window.OpenLP = { $("#nextslide").html(text); } }, - updateClock: function() { + updateClock: function(data) { var div = $("#clock"); var t = new Date(); var h = t.getHours(); - if (h > 12) + if (data.results.twelve && h > 12) h = h - 12; var m = t.getMinutes(); if (m < 10) @@ -136,7 +136,7 @@ window.OpenLP = { $.getJSON( "/api/poll", function (data, status) { - OpenLP.updateClock(); + OpenLP.updateClock(data); if (OpenLP.currentItem != data.results.item) { OpenLP.currentItem = data.results.item; OpenLP.loadSlides(); diff --git a/openlp/plugins/remotes/lib/httpserver.py b/openlp/plugins/remotes/lib/httpserver.py index a01691284..522c354b8 100644 --- a/openlp/plugins/remotes/lib/httpserver.py +++ b/openlp/plugins/remotes/lib/httpserver.py @@ -397,7 +397,9 @@ class HttpConnection(object): result = { u'slide': self.parent.current_slide or 0, u'item': self.parent.current_item._uuid \ - if self.parent.current_item else u'' + if self.parent.current_item else u'', + u'twelve':QtCore.QSettings().value( + u'remotes/twelve hour', QtCore.QVariant(True)).toBool() } return HttpResponse(json.dumps({u'results': result}), {u'Content-Type': u'application/json'}) diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index 03781ae06..d2b5659fe 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -57,6 +57,9 @@ class RemoteTab(SettingsTab): QtCore.QObject.connect(self.addressEdit, QtCore.SIGNAL(u'textChanged(const QString&)'), self.setUrls) self.serverSettingsLayout.addRow(self.addressLabel, self.addressEdit) + self.twelveHourCheckBox = QtGui.QCheckBox(self.serverSettingsGroupBox) + self.twelveHourCheckBox.setObjectName(u'twelveHourCheckBox') + self.serverSettingsLayout.addRow(self.twelveHourCheckBox) self.portLabel = QtGui.QLabel(self.serverSettingsGroupBox) self.portLabel.setObjectName(u'portLabel') self.portSpinBox = QtGui.QSpinBox(self.serverSettingsGroupBox) @@ -80,6 +83,9 @@ class RemoteTab(SettingsTab): self.leftLayout.addWidget(self.serverSettingsGroupBox) self.leftLayout.addStretch() self.rightLayout.addStretch() + QtCore.QObject.connect(self.twelveHourCheckBox, + QtCore.SIGNAL(u'stateChanged(int)'), + self.onTwelveHourCheckBoxChanged) def retranslateUi(self): self.serverSettingsGroupBox.setTitle( @@ -92,6 +98,9 @@ class RemoteTab(SettingsTab): 'Remote URL:')) self.stageUrlLabel.setText(translate('RemotePlugin.RemoteTab', 'Stage view URL:')) + self.twelveHourCheckBox.setText( + translate('RemotePlugin.RemoteTab', + 'Display stage time in 12hr format')) def setUrls(self): ipAddress = u'localhost' @@ -123,6 +132,10 @@ class RemoteTab(SettingsTab): self.addressEdit.setText( QtCore.QSettings().value(self.settingsSection + u'/ip address', QtCore.QVariant(ZERO_URL)).toString()) + self.twelveHour = QtCore.QSettings().value( + self.settingsSection + u'/twelve hour', + QtCore.QVariant(True)).toBool() + self.twelveHourCheckBox.setChecked(self.twelveHour) self.setUrls() def save(self): @@ -130,3 +143,11 @@ class RemoteTab(SettingsTab): QtCore.QVariant(self.portSpinBox.value())) QtCore.QSettings().setValue(self.settingsSection + u'/ip address', QtCore.QVariant(self.addressEdit.text())) + QtCore.QSettings().setValue(self.settingsSection + u'/twelve hour', + QtCore.QVariant(self.twelveHour)) + + def onTwelveHourCheckBoxChanged(self, check_state): + self.twelveHour = False + # we have a set value convert to True/False + if check_state == QtCore.Qt.Checked: + self.twelveHour = True From dc41fa4318e4be18e0d83c4779049b06b31e7acd Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Sat, 1 Oct 2011 10:34:30 -0400 Subject: [PATCH 09/72] Added coded to translate the modified OpenLyrics import description --- openlp/plugins/songs/forms/songimportform.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index f3f7b1fce..72048e409 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -240,8 +240,8 @@ class SongImportForm(OpenLPWizard): self.formatLabel.setText(WizardStrings.FormatLabel) self.formatComboBox.setItemText(SongFormat.OpenLP2, UiStrings().OLPV2) self.formatComboBox.setItemText(SongFormat.OpenLP1, UiStrings().OLPV1) - self.formatComboBox.setItemText( - SongFormat.OpenLyrics, WizardStrings.OL) + self.formatComboBox.setItemText(SongFormat.OpenLyrics, + translate('SongsPlugin.ImportWizardForm', WizardStrings.OL)) self.formatComboBox.setItemText(SongFormat.OpenSong, WizardStrings.OS) self.formatComboBox.setItemText( SongFormat.WordsOfWorship, WizardStrings.WoW) From 9b5074991ce895696c5837495e77c1b883b7ce6e Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 1 Oct 2011 21:33:53 +0100 Subject: [PATCH 10/72] Add new dialog --- openlp/core/ui/themeform.py | 11 +++++++---- openlp/core/ui/themewizard.py | 21 +++++---------------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index 743b0ca2d..1ac2cf754 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -230,7 +230,10 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): Detects Page changes and updates as approprate. """ if self.page(pageId) == self.areaPositionPage: + self.setOption(QtGui.QWizard.HaveCustomButton1, True) self._generate_layout() + else: + self.setOption(QtGui.QWizard.HaveCustomButton1, False) if self.page(pageId) == self.previewPage: self.updateTheme() frame = self.thememanager.generateImage(self.theme) @@ -250,10 +253,10 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): paint.drawRect(self.thememanager.mainwindow.renderer.get_footer_rectangle(self.theme)) paint.end() pixmap = pixmap.scaledToHeight(150, QtCore.Qt.SmoothTransformation) - self.themeLayoutLabel.setFixedSize(pixmap.width() + 2, pixmap.height() + 2) - self.themeLayoutLabel.setPixmap(pixmap) - self.displayAspectRatio = float(pixmap.width()) / pixmap.height() - self.resizeEvent() + #self.themeLayoutLabel.setFixedSize(pixmap.width() + 2, pixmap.height() + 2) + #self.themeLayoutLabel.setPixmap(pixmap) + #self.displayAspectRatio = float(pixmap.width()) / pixmap.height() + #self.resizeEvent() def onOutlineCheckCheckBoxStateChanged(self, state): """ diff --git a/openlp/core/ui/themewizard.py b/openlp/core/ui/themewizard.py index 12ae97d0d..76b9ba3a8 100644 --- a/openlp/core/ui/themewizard.py +++ b/openlp/core/ui/themewizard.py @@ -38,7 +38,8 @@ class Ui_ThemeWizard(object): themeWizard.setModal(True) themeWizard.setWizardStyle(QtGui.QWizard.ModernStyle) themeWizard.setOptions(QtGui.QWizard.IndependentPages | - QtGui.QWizard.NoBackButtonOnStartPage) + QtGui.QWizard.NoBackButtonOnStartPage | + QtGui.QWizard.HaveCustomButton1) self.spacer = QtGui.QSpacerItem(10, 0, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum) # Welcome Page @@ -336,21 +337,6 @@ class Ui_ThemeWizard(object): self.footerPositionLayout.addRow(self.footerHeightLabel, self.footerHeightSpinBox) self.areaPositionLayout.addWidget(self.footerPositionGroupBox) - self.layoutArea = QtGui.QWidget(self.areaPositionPage) - self.layoutArea.setObjectName(u'LayoutArea') - self.themeLayoutPreview = QtGui.QGridLayout(self.layoutArea) - self.themeLayoutPreview.setMargin(0) - self.themeLayoutPreview.setColumnStretch(0, 1) - self.themeLayoutPreview.setRowStretch(0, 1) - self.themeLayoutLabel = QtGui.QLabel(self.areaPositionPage) - self.themeLayoutLabel.setObjectName(u'ThemeLayoutPreview') - self.themeLayoutLabel.setObjectName(u'ThemeLayoutPreview') - self.themeLayoutLabel = QtGui.QLabel(self.layoutArea) - self.themeLayoutLabel.setFrameShape(QtGui.QFrame.Box) - self.themeLayoutLabel.setScaledContents(True) - self.themeLayoutLabel.setObjectName(u'ThemeLayoutLabel') - self.areaPositionLayout.addWidget(self.themeLayoutLabel) - self.areaPositionLayout.addWidget(self.layoutArea) themeWizard.addPage(self.areaPositionPage) # Preview Page self.previewPage = QtGui.QWizardPage() @@ -550,6 +536,9 @@ class Ui_ThemeWizard(object): translate('OpenLP.ThemeWizard', 'px')) self.footerPositionCheckBox.setText( translate('OpenLP.ThemeWizard', 'Use default location')) + themeWizard.setOption(QtGui.QWizard.HaveCustomButton1, False) + themeWizard.setButtonText(QtGui.QWizard.CustomButton1, + translate('OpenLP.ThemeWizard', 'Preview')) self.previewPage.setTitle( translate('OpenLP.ThemeWizard', 'Save and Preview')) self.previewPage.setSubTitle( From 297a25001031925f19f48ea2a51eba432dafe8ac Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 2 Oct 2011 08:52:28 +0100 Subject: [PATCH 11/72] Display works but bigggggggggg --- openlp/core/ui/__init__.py | 1 + openlp/core/ui/themeform.py | 21 ++++---- openlp/core/ui/themelayoutdialog.py | 65 +++++++++++++++++++++++ openlp/core/ui/themelayoutform.py | 54 +++++++++++++++++++ resources/forms/themelayout.ui | 81 +++++++++++++++++++++++++++++ 5 files changed, 213 insertions(+), 9 deletions(-) create mode 100644 openlp/core/ui/themelayoutdialog.py create mode 100644 openlp/core/ui/themelayoutform.py create mode 100644 resources/forms/themelayout.ui diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index e754480e0..7d2dfa0ba 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -54,6 +54,7 @@ class HideMode(object): from firsttimeform import FirstTimeForm from firsttimelanguageform import FirstTimeLanguageForm +from themelayoutform import ThemeLayoutForm from themeform import ThemeForm from filerenameform import FileRenameForm from starttimeform import StartTimeForm diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index 1ac2cf754..cbb83073d 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -33,6 +33,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import Receiver, translate from openlp.core.lib.theme import BackgroundType, BackgroundGradientType from openlp.core.lib.ui import UiStrings, critical_error_message_box +from openlp.core.ui import ThemeLayoutForm from openlp.core.utils import get_images_filter from themewizard import Ui_ThemeWizard @@ -58,6 +59,7 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): self.registerFields() self.updateThemeAllowed = True self.temp_background_filename = u'' + self.themeLayoutForm = ThemeLayoutForm(self) QtCore.QObject.connect(self.backgroundComboBox, QtCore.SIGNAL(u'currentIndexChanged(int)'), self.onBackgroundComboBoxCurrentIndexChanged) @@ -88,6 +90,9 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): self.onShadowCheckCheckBoxStateChanged) QtCore.QObject.connect(self.footerColorButton, QtCore.SIGNAL(u'clicked()'), self.onFooterColorButtonClicked) + QtCore.QObject.connect(self, + QtCore.SIGNAL(u'customButtonClicked(int)'), + self.onCustom1ButtonClicked) QtCore.QObject.connect(self.mainPositionCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), self.onMainPositionCheckBoxStateChanged) @@ -231,7 +236,6 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): """ if self.page(pageId) == self.areaPositionPage: self.setOption(QtGui.QWizard.HaveCustomButton1, True) - self._generate_layout() else: self.setOption(QtGui.QWizard.HaveCustomButton1, False) if self.page(pageId) == self.previewPage: @@ -241,22 +245,21 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): self.displayAspectRatio = float(frame.width()) / frame.height() self.resizeEvent() - def _generate_layout(self): + def onCustom1ButtonClicked(self, number): width = self.thememanager.mainwindow.renderer.width height = self.thememanager.mainwindow.renderer.height pixmap = QtGui.QPixmap(width, height) pixmap.fill(QtCore.Qt.white) paint = QtGui.QPainter(pixmap) paint.setPen(QtGui.QPen(QtCore.Qt.blue, 2)) - paint.drawRect(self.thememanager.mainwindow.renderer.get_main_rectangle(self.theme)) + paint.drawRect(self.thememanager.mainwindow.renderer. + get_main_rectangle(self.theme)) paint.setPen(QtGui.QPen(QtCore.Qt.red, 2)) - paint.drawRect(self.thememanager.mainwindow.renderer.get_footer_rectangle(self.theme)) + paint.drawRect(self.thememanager.mainwindow.renderer. + get_footer_rectangle(self.theme)) paint.end() - pixmap = pixmap.scaledToHeight(150, QtCore.Qt.SmoothTransformation) - #self.themeLayoutLabel.setFixedSize(pixmap.width() + 2, pixmap.height() + 2) - #self.themeLayoutLabel.setPixmap(pixmap) - #self.displayAspectRatio = float(pixmap.width()) / pixmap.height() - #self.resizeEvent() + self.themeLayoutForm.exec_(pixmap) + def onOutlineCheckCheckBoxStateChanged(self, state): """ diff --git a/openlp/core/ui/themelayoutdialog.py b/openlp/core/ui/themelayoutdialog.py new file mode 100644 index 000000000..d9770be23 --- /dev/null +++ b/openlp/core/ui/themelayoutdialog.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan # +# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, # +# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias # +# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # +# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # +# --------------------------------------------------------------------------- # +# This program is free software; you can redistribute it and/or modify it # +# under the terms of the GNU General Public License as published by the Free # +# Software Foundation; version 2 of the License. # +# # +# This program is distributed in the hope that it will be useful, but WITHOUT # +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # +# more details. # +# # +# You should have received a copy of the GNU General Public License along # +# with this program; if not, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### + +from PyQt4 import QtCore, QtGui + +from openlp.core.lib import translate +from openlp.core.lib.ui import create_accept_reject_button_box + + +class Ui_ThemeLayoutDialog(object): + def setupUi(self, themeLayoutDialog): + themeLayoutDialog.setObjectName(u'themeLayoutDialogDialog') + themeLayoutDialog.resize(300, 200) + self.previewLayout = QtGui.QVBoxLayout(themeLayoutDialog) + self.previewLayout.setObjectName(u'PreviewLayout') + self.previewArea = QtGui.QWidget(themeLayoutDialog) + self.previewArea.setObjectName(u'PreviewArea') + self.previewAreaLayout = QtGui.QGridLayout(self.previewArea) + self.previewAreaLayout.setMargin(0) + self.previewAreaLayout.setColumnStretch(0, 1) + self.previewAreaLayout.setRowStretch(0, 1) + self.previewAreaLayout.setObjectName(u'PreviewAreaLayout') + self.themeDisplayLabel = QtGui.QLabel(self.previewArea) + self.themeDisplayLabel.setFrameShape(QtGui.QFrame.Box) + self.themeDisplayLabel.setScaledContents(True) + self.themeDisplayLabel.setObjectName(u'ThemeDisplayLabel') + self.previewAreaLayout.addWidget(self.themeDisplayLabel) + self.previewLayout.addWidget(self.previewArea) + self.buttonBox = QtGui.QDialogButtonBox(themeLayoutDialog) + self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok) + self.buttonBox.setObjectName(u'ButtonBox') + QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'), + themeLayoutDialog.accept) + self.previewLayout.addWidget(self.buttonBox) + self.retranslateUi(themeLayoutDialog) + QtCore.QMetaObject.connectSlotsByName(themeLayoutDialog) + + def retranslateUi(self, themeLayoutDialog): + themeLayoutDialog.setWindowTitle( + translate('OpenLP.StartTimeForm', 'Theme Layout')) + diff --git a/openlp/core/ui/themelayoutform.py b/openlp/core/ui/themelayoutform.py new file mode 100644 index 000000000..b1984c01a --- /dev/null +++ b/openlp/core/ui/themelayoutform.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2011 Raoul Snyman # +# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan # +# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, # +# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias # +# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # +# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # +# --------------------------------------------------------------------------- # +# This program is free software; you can redistribute it and/or modify it # +# under the terms of the GNU General Public License as published by the Free # +# Software Foundation; version 2 of the License. # +# # +# This program is distributed in the hope that it will be useful, but WITHOUT # +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # +# more details. # +# # +# You should have received a copy of the GNU General Public License along # +# with this program; if not, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### + +from PyQt4 import QtGui, QtCore + +from themelayoutdialog import Ui_ThemeLayoutDialog + +from openlp.core.lib import translate +from openlp.core.lib.ui import UiStrings, critical_error_message_box + +class ThemeLayoutForm(QtGui.QDialog, Ui_ThemeLayoutDialog): + """ + The exception dialog + """ + def __init__(self, parent): + QtGui.QDialog.__init__(self, parent) + self.setupUi(self) + + def exec_(self, image): + """ + Run the Dialog with correct heading. + """ + pixmap = image.scaledToHeight(150, QtCore.Qt.SmoothTransformation) + self.themeDisplayLabel.setPixmap(image) + return QtGui.QDialog.exec_(self) + + def accept(self): + return QtGui.QDialog.accept(self) + + diff --git a/resources/forms/themelayout.ui b/resources/forms/themelayout.ui new file mode 100644 index 000000000..2152fc5d0 --- /dev/null +++ b/resources/forms/themelayout.ui @@ -0,0 +1,81 @@ + + + ThemeLayout + + + + 0 + 0 + 400 + 300 + + + + Theme Layout + + + + + 50 + 260 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 20 + 10 + 361 + 231 + + + + + + + + + + + buttonBox + accepted() + ThemeLayout + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + ThemeLayout + reject() + + + 316 + 260 + + + 286 + 274 + + + + + From 6426d9aac4e01a8bff73b35916afb62df28350a1 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 2 Oct 2011 17:38:05 +0100 Subject: [PATCH 12/72] Display is now big enough --- openlp/core/ui/themeform.py | 6 +++--- openlp/core/ui/themelayoutdialog.py | 2 +- openlp/core/ui/themelayoutform.py | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index cbb83073d..064652488 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -246,6 +246,9 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): self.resizeEvent() def onCustom1ButtonClicked(self, number): + """ + Generate layout preview and display the form + """ width = self.thememanager.mainwindow.renderer.width height = self.thememanager.mainwindow.renderer.height pixmap = QtGui.QPixmap(width, height) @@ -260,7 +263,6 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): paint.end() self.themeLayoutForm.exec_(pixmap) - def onOutlineCheckCheckBoxStateChanged(self, state): """ Change state as Outline check box changed @@ -294,7 +296,6 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): """ if self.updateThemeAllowed: self.theme.font_main_override = not (value == QtCore.Qt.Checked) - self._generate_layout() def onFooterPositionCheckBoxStateChanged(self, value): """ @@ -303,7 +304,6 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): """ if self.updateThemeAllowed: self.theme.font_footer_override = not (value == QtCore.Qt.Checked) - self._generate_layout() def exec_(self, edit=False): """ diff --git a/openlp/core/ui/themelayoutdialog.py b/openlp/core/ui/themelayoutdialog.py index d9770be23..58c09fb26 100644 --- a/openlp/core/ui/themelayoutdialog.py +++ b/openlp/core/ui/themelayoutdialog.py @@ -34,7 +34,7 @@ from openlp.core.lib.ui import create_accept_reject_button_box class Ui_ThemeLayoutDialog(object): def setupUi(self, themeLayoutDialog): themeLayoutDialog.setObjectName(u'themeLayoutDialogDialog') - themeLayoutDialog.resize(300, 200) + #themeLayoutDialog.resize(300, 200) self.previewLayout = QtGui.QVBoxLayout(themeLayoutDialog) self.previewLayout.setObjectName(u'PreviewLayout') self.previewArea = QtGui.QWidget(themeLayoutDialog) diff --git a/openlp/core/ui/themelayoutform.py b/openlp/core/ui/themelayoutform.py index b1984c01a..6f77d31da 100644 --- a/openlp/core/ui/themelayoutform.py +++ b/openlp/core/ui/themelayoutform.py @@ -44,11 +44,12 @@ class ThemeLayoutForm(QtGui.QDialog, Ui_ThemeLayoutDialog): """ Run the Dialog with correct heading. """ - pixmap = image.scaledToHeight(150, QtCore.Qt.SmoothTransformation) + pixmap = image.scaledToHeight(400, QtCore.Qt.SmoothTransformation) self.themeDisplayLabel.setPixmap(image) + displayAspectRatio = float(image.width()) / image.height() + self.themeDisplayLabel.setFixedSize(400, 400 / displayAspectRatio ) return QtGui.QDialog.exec_(self) def accept(self): return QtGui.QDialog.accept(self) - From c5a7127aec29e1a86530efaf0e41ff16be65d2ba Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 2 Oct 2011 20:49:29 +0100 Subject: [PATCH 13/72] Copy theme during remote edit. Fixes: https://launchpad.net/bugs/864822 --- openlp/core/lib/serviceitem.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 3170e0a93..941f54897 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -364,6 +364,9 @@ class ServiceItem(object): """ self._uuid = other._uuid self.notes = other.notes + # copy theme over if present. Assumes overridden + if other.theme is not None: + self.theme = other.theme if self.is_capable(ItemCapabilities.HasBackgroundAudio): log.debug(self.background_audio) From 9f9f2186aeecccb4720deb18232184ee413c4daf Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 2 Oct 2011 20:57:42 +0100 Subject: [PATCH 14/72] Minor performance improvement --- openlp/core/lib/serviceitem.py | 2 +- openlp/core/ui/servicemanager.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 941f54897..a48ef157d 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -366,7 +366,7 @@ class ServiceItem(object): self.notes = other.notes # copy theme over if present. Assumes overridden if other.theme is not None: - self.theme = other.theme + self.update_theme(other.theme) if self.is_capable(ItemCapabilities.HasBackgroundAudio): log.debug(self.background_audio) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index c9f058351..8ad2db9c2 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -1160,7 +1160,6 @@ class ServiceManager(QtGui.QWidget): # if not passed set to config value if expand is None: expand = self.expandTabs - item.render() item.from_service = True if replace: sitem, child = self.findServiceItem() @@ -1169,6 +1168,7 @@ class ServiceManager(QtGui.QWidget): self.repaintServiceList(sitem, child) self.mainwindow.liveController.replaceServiceManagerItem(item) else: + item.render() # nothing selected for dnd if self.dropPosition == 0: if isinstance(item, list): From 42d15a53c7c9af1daf1c9b33aa734747f37e6cc2 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 3 Oct 2011 14:32:45 +0200 Subject: [PATCH 15/72] suggest web bible name when registering --- openlp/plugins/bibles/forms/bibleimportform.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/forms/bibleimportform.py b/openlp/plugins/bibles/forms/bibleimportform.py index b5478e514..7577e86a3 100644 --- a/openlp/plugins/bibles/forms/bibleimportform.py +++ b/openlp/plugins/bibles/forms/bibleimportform.py @@ -461,6 +461,11 @@ class BibleImportForm(OpenLPWizard): WizardStrings.YouSpecifyFile % WizardStrings.OS) self.openSongFileEdit.setFocus() return False + elif self.field(u'source_format').toInt()[0] == \ + BibleFormat.WebDownload: + self.versionNameEdit.setText( + self.webTranslationComboBox.currentText()) + return True elif self.field(u'source_format').toInt()[0] == BibleFormat.OpenLP1: if not self.field(u'openlp1_location').toString(): critical_error_message_box(UiStrings().NFSs, @@ -674,7 +679,7 @@ class BibleImportForm(OpenLPWizard): elif bible_type == BibleFormat.CSV: # Import a CSV bible. importer = self.manager.import_bible(BibleFormat.CSV, - name=license_version, + name=license_version, booksfile=unicode(self.field(u'csv_booksfile').toString()), versefile=unicode(self.field(u'csv_versefile').toString()) ) From 5053e27c76f937f536699bbac2546056237e82a9 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Mon, 3 Oct 2011 17:53:54 +0100 Subject: [PATCH 16/72] Fix up review comments --- openlp/core/lib/renderer.py | 4 ++-- openlp/core/lib/serviceitem.py | 6 ++++-- openlp/core/ui/themeform.py | 3 ++- openlp/plugins/remotes/lib/remotetab.py | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index 3d0d1e080..960dde7fa 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -310,7 +310,7 @@ class Renderer(object): def get_main_rectangle(self, theme): """ - Calculates the placement and size of the main rectangle + Calculates the placement and size of the main rectangle. ``theme`` The theme information @@ -323,7 +323,7 @@ class Renderer(object): def get_footer_rectangle(self, theme): """ - Calculates the placement and size of the main rectangle + Calculates the placement and size of the footer rectangle. ``theme`` The theme information diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index a48ef157d..510d71cde 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -364,9 +364,11 @@ class ServiceItem(object): """ self._uuid = other._uuid self.notes = other.notes - # copy theme over if present. Assumes overridden + # Copy theme over if present. if other.theme is not None: - self.update_theme(other.theme) + self.theme = other.theme + self._new_item() + self.render() if self.is_capable(ItemCapabilities.HasBackgroundAudio): log.debug(self.background_audio) diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index 064652488..f91beb429 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -247,8 +247,9 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): def onCustom1ButtonClicked(self, number): """ - Generate layout preview and display the form + Generate layout preview and display the form. """ + self.updateTheme() width = self.thememanager.mainwindow.renderer.width height = self.thememanager.mainwindow.renderer.height pixmap = QtGui.QPixmap(width, height) diff --git a/openlp/plugins/remotes/lib/remotetab.py b/openlp/plugins/remotes/lib/remotetab.py index d2b5659fe..95bb27f1c 100644 --- a/openlp/plugins/remotes/lib/remotetab.py +++ b/openlp/plugins/remotes/lib/remotetab.py @@ -100,7 +100,7 @@ class RemoteTab(SettingsTab): 'Stage view URL:')) self.twelveHourCheckBox.setText( translate('RemotePlugin.RemoteTab', - 'Display stage time in 12hr format')) + 'Display stage time in 12h format')) def setUrls(self): ipAddress = u'localhost' From 88c0a22ac482fb274549e29c4ddc0770aa7ab94e Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 3 Oct 2011 19:27:34 +0200 Subject: [PATCH 17/72] improve performance of preview Fixes: https://launchpad.net/bugs/856296 --- openlp/core/lib/renderer.py | 3 ++- openlp/core/ui/maindisplay.py | 8 ++------ openlp/core/ui/slidecontroller.py | 10 ++++------ openlp/core/ui/themeform.py | 2 +- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index 6d48707b4..b25b2a3f4 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -201,7 +201,8 @@ class Renderer(object): if not self.force_page: self.display.buildHtml(serviceItem) raw_html = serviceItem.get_rendered_frame(0) - preview = self.display.text(raw_html) + self.display.text(raw_html) + preview = self.display.preview() # Reset the real screen size for subsequent render requests self._calculate_default() return preview diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 06afb0313..d6eff912c 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -194,7 +194,6 @@ class MainDisplay(QtGui.QGraphicsView): self.setGeometry(self.screen[u'size']) self.frame.evaluateJavaScript(u'show_text("%s")' % slide.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"')) - return self.preview() def alert(self, text): """ @@ -256,7 +255,6 @@ class MainDisplay(QtGui.QGraphicsView): image = self.imageManager.get_image_bytes(name) self.resetVideo() self.displayImage(image) - return self.preview() def displayImage(self, image): """ @@ -387,7 +385,6 @@ class MainDisplay(QtGui.QGraphicsView): # Update the preview frame. if self.isLive: Receiver.send_message(u'maindisplay_active') - return self.preview() def videoState(self, newState, oldState): """ @@ -455,9 +452,8 @@ class MainDisplay(QtGui.QGraphicsView): self.setVisible(True) else: self.setVisible(True) - preview = QtGui.QImage(self.screen[u'size'].width(), - self.screen[u'size'].height(), - QtGui.QImage.Format_ARGB32_Premultiplied) + preview = QtGui.QPixmap(self.screen[u'size'].width(), + self.screen[u'size'].height()) painter = QtGui.QPainter(preview) painter.setRenderHint(QtGui.QPainter.Antialiasing) self.frame.render(painter) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 18d010a40..d1e93706b 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -940,16 +940,15 @@ class SlideController(QtGui.QWidget): else: toDisplay = self.serviceItem.get_rendered_frame(row) if self.serviceItem.is_text(): - frame = self.display.text(toDisplay) + self.display.text(toDisplay) else: if start: self.display.buildHtml(self.serviceItem, toDisplay) - frame = self.display.preview() else: - frame = self.display.image(toDisplay) + self.display.image(toDisplay) # reset the store used to display first image self.serviceItem.bg_image_bytes = None - self.slidePreview.setPixmap(QtGui.QPixmap.fromImage(frame)) + self.slidePreview.setPixmap(self.display.preview()) self.selectedRow = row self.__checkUpdateSelectedSlide(row) Receiver.send_message(u'slidecontroller_%s_changed' % self.typePrefix, @@ -977,8 +976,7 @@ class SlideController(QtGui.QWidget): QtCore.QTimer.singleShot(0.5, self.grabMainDisplay) QtCore.QTimer.singleShot(2.5, self.grabMainDisplay) else: - self.slidePreview.setPixmap( - QtGui.QPixmap.fromImage(self.display.preview())) + self.slidePreview.setPixmap(self.display.preview()) def grabMainDisplay(self): """ diff --git a/openlp/core/ui/themeform.py b/openlp/core/ui/themeform.py index dc3c23d0d..ae05f141e 100644 --- a/openlp/core/ui/themeform.py +++ b/openlp/core/ui/themeform.py @@ -232,7 +232,7 @@ class ThemeForm(QtGui.QWizard, Ui_ThemeWizard): if self.page(pageId) == self.previewPage: self.updateTheme() frame = self.thememanager.generateImage(self.theme) - self.previewBoxLabel.setPixmap(QtGui.QPixmap.fromImage(frame)) + self.previewBoxLabel.setPixmap(frame) self.displayAspectRatio = float(frame.width()) / frame.height() self.resizeEvent() From 360e11791874c12440d1fcc9e2dbedddf31c7e7a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 3 Oct 2011 20:14:39 +0200 Subject: [PATCH 18/72] removed dead code --- openlp/core/lib/eventreceiver.py | 6 ------ openlp/core/ui/slidecontroller.py | 35 ------------------------------- 2 files changed, 41 deletions(-) diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index 7c0115f89..6bba2d919 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -51,9 +51,6 @@ class EventReceiver(QtCore.QObject): ``config_screen_changed`` The display monitor has been changed - ``slidecontroller_{live|preview}_first`` - Moves to the first slide - ``slidecontroller_{live|preview}_next`` Moves to the next slide @@ -66,9 +63,6 @@ class EventReceiver(QtCore.QObject): ``slidecontroller_{live|preview}_previous_noloop`` Moves to the previous slide, without auto advance - ``slidecontroller_{live|preview}_last`` - Moves to the last slide - ``slidecontroller_{live|preview}_set`` Moves to a specific slide, by index diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index d1e93706b..a205ddc45 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -351,18 +351,12 @@ class SlideController(QtGui.QWidget): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_%s_stop_loop' % self.typePrefix), self.onStopLoop) - QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'slidecontroller_%s_first' % self.typePrefix), - self.onSlideSelectedFirst) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_%s_next' % self.typePrefix), self.onSlideSelectedNext) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_%s_previous' % self.typePrefix), self.onSlideSelectedPrevious) - QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'slidecontroller_%s_last' % self.typePrefix), - self.onSlideSelectedLast) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_%s_change' % self.typePrefix), self.onSlideChange) @@ -744,20 +738,6 @@ class SlideController(QtGui.QWidget): % self.typePrefix, data) # Screen event methods - def onSlideSelectedFirst(self): - """ - Go to the first slide. - """ - if not self.serviceItem: - return - if self.serviceItem.is_command(): - Receiver.send_message(u'%s_first' % self.serviceItem.name.lower(), - [self.serviceItem, self.isLive]) - self.updatePreview() - else: - self.previewListWidget.selectRow(0) - self.slideSelected() - def onSlideSelectedIndex(self, message): """ Go to the requested slide @@ -1039,21 +1019,6 @@ class SlideController(QtGui.QWidget): self.previewListWidget.item(row + 1, 0)) self.previewListWidget.selectRow(row) - def onSlideSelectedLast(self): - """ - Go to the last slide. - """ - if not self.serviceItem: - return - Receiver.send_message(u'%s_last' % self.serviceItem.name.lower(), - [self.serviceItem, self.isLive]) - if self.serviceItem.is_command(): - self.updatePreview() - else: - self.previewListWidget.selectRow( - self.previewListWidget.rowCount() - 1) - self.slideSelected() - def onToggleLoop(self): """ Toggles the loop state. From 201ec584a8f3ee1c2f21a7b27d76ec22e7df9806 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 3 Oct 2011 20:51:32 +0200 Subject: [PATCH 19/72] removed dead code + minor clean up --- openlp/core/lib/eventreceiver.py | 5 ----- openlp/core/ui/slidecontroller.py | 33 +++++-------------------------- 2 files changed, 5 insertions(+), 33 deletions(-) diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index 6bba2d919..1b957e5df 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -76,11 +76,6 @@ class EventReceiver(QtCore.QObject): ``slidecontroller_{live|preview}_changed`` Broadcasts that the slidecontroller has changed the current slide - ``slidecontroller_{live|preview}_text_request`` - Request the text for the current item in the controller - Returns a slidecontroller_{live|preview}_text_response with an - array of dictionaries with the tag and verse text - ``slidecontroller_{live|preview}_blank`` Request that the output screen is blanked diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index a205ddc45..e29cb3ae4 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -118,7 +118,7 @@ class SlideController(QtGui.QWidget): self.previewListWidget.horizontalHeader().setVisible(False) self.previewListWidget.setColumnWidth(0, self.controller.width()) self.previewListWidget.isLive = self.isLive - self.previewListWidget.setObjectName(u'PreviewListWidget') + self.previewListWidget.setObjectName(u'previewListWidget') self.previewListWidget.setSelectionBehavior( QtGui.QAbstractItemView.SelectRows) self.previewListWidget.setSelectionMode( @@ -288,14 +288,14 @@ class SlideController(QtGui.QWidget): QtGui.QSizePolicy.Label)) self.previewFrame.setFrameShape(QtGui.QFrame.StyledPanel) self.previewFrame.setFrameShadow(QtGui.QFrame.Sunken) - self.previewFrame.setObjectName(u'PreviewFrame') + self.previewFrame.setObjectName(u'previewFrame') self.grid = QtGui.QGridLayout(self.previewFrame) self.grid.setMargin(8) self.grid.setObjectName(u'grid') self.slideLayout = QtGui.QVBoxLayout() self.slideLayout.setSpacing(0) self.slideLayout.setMargin(0) - self.slideLayout.setObjectName(u'SlideLayout') + self.slideLayout.setObjectName(u'slideLayout') if not self.isLive: self.mediaObject = Phonon.MediaObject(self) self.video = Phonon.VideoWidget() @@ -319,7 +319,7 @@ class SlideController(QtGui.QWidget): self.slidePreview.setFrameShadow(QtGui.QFrame.Plain) self.slidePreview.setLineWidth(1) self.slidePreview.setScaledContents(True) - self.slidePreview.setObjectName(u'SlidePreview') + self.slidePreview.setObjectName(u'slidePreview') self.slideLayout.insertWidget(0, self.slidePreview) self.grid.addLayout(self.slideLayout, 0, 0, 1, 1) # Signals @@ -369,9 +369,6 @@ class SlideController(QtGui.QWidget): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_%s_unblank' % self.typePrefix), self.onSlideUnblank) - QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'slidecontroller_%s_text_request' % self.typePrefix), - self.onTextRequest) def setPreviewHotkeys(self, parent=None): self.previousItem.setObjectName(u'previousItemPreview') @@ -717,26 +714,6 @@ class SlideController(QtGui.QWidget): else: self.__checkUpdateSelectedSlide(slideno) - def onTextRequest(self): - """ - Return the text for the current item in controller - """ - data = [] - if self.serviceItem: - for framenumber, frame in enumerate(self.serviceItem.get_frames()): - dataItem = {} - if self.serviceItem.is_text(): - dataItem[u'tag'] = unicode(frame[u'verseTag']) - dataItem[u'text'] = unicode(frame[u'html']) - else: - dataItem[u'tag'] = unicode(framenumber) - dataItem[u'text'] = u'' - dataItem[u'selected'] = \ - (self.previewListWidget.currentRow() == framenumber) - data.append(dataItem) - Receiver.send_message(u'slidecontroller_%s_text_response' - % self.typePrefix, data) - # Screen event methods def onSlideSelectedIndex(self, message): """ @@ -928,7 +905,7 @@ class SlideController(QtGui.QWidget): self.display.image(toDisplay) # reset the store used to display first image self.serviceItem.bg_image_bytes = None - self.slidePreview.setPixmap(self.display.preview()) + self.updatePreview() self.selectedRow = row self.__checkUpdateSelectedSlide(row) Receiver.send_message(u'slidecontroller_%s_changed' % self.typePrefix, From d3bfffa4b15a93d3245e431a5a7ae26078cb575e Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 3 Oct 2011 22:12:57 +0200 Subject: [PATCH 20/72] removed not used imports --- openlp/plugins/bibles/lib/db.py | 1 - openlp/plugins/images/lib/imagetab.py | 1 - openlp/plugins/presentations/lib/presentationcontroller.py | 2 +- openlp/plugins/presentations/presentationplugin.py | 2 +- openlp/plugins/songs/lib/mediaitem.py | 2 +- openlp/plugins/songs/lib/openlyricsexport.py | 1 - openlp/plugins/songs/lib/upgrade.py | 2 +- openlp/plugins/songusage/forms/songusagedeletedialog.py | 1 - 8 files changed, 4 insertions(+), 8 deletions(-) diff --git a/openlp/plugins/bibles/lib/db.py b/openlp/plugins/bibles/lib/db.py index e5962664b..9ec5b45b2 100644 --- a/openlp/plugins/bibles/lib/db.py +++ b/openlp/plugins/bibles/lib/db.py @@ -28,7 +28,6 @@ import logging import chardet import os -import re import sqlite3 from PyQt4 import QtCore diff --git a/openlp/plugins/images/lib/imagetab.py b/openlp/plugins/images/lib/imagetab.py index 98fbd203f..1aa39b63c 100644 --- a/openlp/plugins/images/lib/imagetab.py +++ b/openlp/plugins/images/lib/imagetab.py @@ -28,7 +28,6 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import SettingsTab, translate, Receiver -from openlp.core.lib.ui import UiStrings, create_valign_combo class ImageTab(SettingsTab): """ diff --git a/openlp/plugins/presentations/lib/presentationcontroller.py b/openlp/plugins/presentations/lib/presentationcontroller.py index 55823dfd2..a9d384c81 100644 --- a/openlp/plugins/presentations/lib/presentationcontroller.py +++ b/openlp/plugins/presentations/lib/presentationcontroller.py @@ -32,7 +32,7 @@ import shutil from PyQt4 import QtCore from openlp.core.lib import Receiver, check_directory_exists, create_thumb, \ - resize_image, validate_thumb + validate_thumb from openlp.core.utils import AppLocation log = logging.getLogger(__name__) diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index a97f82159..643ad14ad 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -87,7 +87,7 @@ class PresentationPlugin(Plugin): to close down their applications and release resources. """ log.info(u'Plugin Finalise') - #Ask each controller to tidy up + # Ask each controller to tidy up. for key in self.controllers: controller = self.controllers[key] if controller.enabled(): diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 98b2d3f24..f20c02903 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -397,7 +397,7 @@ class SongMediaItem(MediaManagerItem): try: os.remove(media_file.file_name) except: - log.exception('Could not remove file: %s', audio) + log.exception('Could not remove file: %s', media_file) try: save_path = os.path.join(AppLocation.get_section_data_path( self.plugin.name), 'audio', str(item_id)) diff --git a/openlp/plugins/songs/lib/openlyricsexport.py b/openlp/plugins/songs/lib/openlyricsexport.py index ec5677ea4..515674618 100644 --- a/openlp/plugins/songs/lib/openlyricsexport.py +++ b/openlp/plugins/songs/lib/openlyricsexport.py @@ -30,7 +30,6 @@ songs from the database to the OpenLyrics format. """ import logging import os -import re from lxml import etree diff --git a/openlp/plugins/songs/lib/upgrade.py b/openlp/plugins/songs/lib/upgrade.py index fae3400c2..21988c267 100644 --- a/openlp/plugins/songs/lib/upgrade.py +++ b/openlp/plugins/songs/lib/upgrade.py @@ -29,7 +29,7 @@ The :mod:`upgrade` module provides a way for the database and schema that is the backend for the Songs plugin """ -from sqlalchemy import Column, ForeignKey, Table, types +from sqlalchemy import Column, Table, types from sqlalchemy.sql.expression import func from migrate import changeset from migrate.changeset.constraint import ForeignKeyConstraint diff --git a/openlp/plugins/songusage/forms/songusagedeletedialog.py b/openlp/plugins/songusage/forms/songusagedeletedialog.py index 28f18d578..a6f7fb2b0 100644 --- a/openlp/plugins/songusage/forms/songusagedeletedialog.py +++ b/openlp/plugins/songusage/forms/songusagedeletedialog.py @@ -28,7 +28,6 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import translate -from openlp.core.lib.ui import create_accept_reject_button_box class Ui_SongUsageDeleteDialog(object): def setupUi(self, songUsageDeleteDialog): From 91c20c42713b8dcbf28efecfb0bf628241042b99 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 3 Oct 2011 22:26:51 +0200 Subject: [PATCH 21/72] more clean ups --- openlp/plugins/bibles/lib/http.py | 9 ++++++--- openlp/plugins/songs/lib/cclifileimport.py | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/openlp/plugins/bibles/lib/http.py b/openlp/plugins/bibles/lib/http.py index 2d8e16c4c..228d4758c 100644 --- a/openlp/plugins/bibles/lib/http.py +++ b/openlp/plugins/bibles/lib/http.py @@ -82,13 +82,16 @@ class BGExtract(object): Receiver.send_message(u'openlp_process_events') footnotes = soup.findAll(u'sup', u'footnote') if footnotes: - [footnote.extract() for footnote in footnotes] + for footnote in footnotes: + footnote.extract() crossrefs = soup.findAll(u'sup', u'xref') if crossrefs: - [crossref.extract() for crossref in crossrefs] + for crossref in crossrefs: + crossref.extract() headings = soup.findAll(u'h5') if headings: - [heading.extract() for heading in headings] + for heading in headings: + heading.extract() cleanup = [(re.compile('\s+'), lambda match: ' ')] verses = BeautifulSoup(str(soup), markupMassage=cleanup) verse_list = {} diff --git a/openlp/plugins/songs/lib/cclifileimport.py b/openlp/plugins/songs/lib/cclifileimport.py index e15f898ab..624256290 100644 --- a/openlp/plugins/songs/lib/cclifileimport.py +++ b/openlp/plugins/songs/lib/cclifileimport.py @@ -333,5 +333,6 @@ class CCLIFileImport(SongImport): if len(author_list) < 2: author_list = song_author.split(u'|') # Clean spaces before and after author names. - [self.addAuthor(author_name.strip()) for author_name in author_list] + for author_name in author_list: + self.addAuthor(author_name.strip()) return self.finish() From 947b31d2c412b7ec66f8182080a1439b004be485 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 3 Oct 2011 22:28:17 +0200 Subject: [PATCH 22/72] fixed name --- openlp/plugins/songs/lib/mediaitem.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index f20c02903..d98a55c00 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -397,7 +397,8 @@ class SongMediaItem(MediaManagerItem): try: os.remove(media_file.file_name) except: - log.exception('Could not remove file: %s', media_file) + log.exception('Could not remove file: %s', + media_file.file_name) try: save_path = os.path.join(AppLocation.get_section_data_path( self.plugin.name), 'audio', str(item_id)) From 00aaae3022fc9ee8c602a69415c5925674b1ad4f Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Tue, 4 Oct 2011 18:02:45 +0200 Subject: [PATCH 23/72] removed not needed files + updated copyright --- copyright.txt | 2 +- resources/images/openlp-2.qrc | 2 -- resources/images/slide_first.png | Bin 653 -> 0 bytes resources/images/slide_last.png | Bin 666 -> 0 bytes scripts/check_dependencies.py | 2 +- scripts/generate_resources.sh | 14 +++++++------- testing/conftest.py | 2 +- testing/test_app.py | 2 +- 8 files changed, 11 insertions(+), 13 deletions(-) delete mode 100644 resources/images/slide_first.png delete mode 100644 resources/images/slide_last.png diff --git a/copyright.txt b/copyright.txt index 0fb988622..df5563844 100644 --- a/copyright.txt +++ b/copyright.txt @@ -7,7 +7,7 @@ # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan # # Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, # -# Armin Köhler, Joshua Millar, Stevan Pettit, Andreas Preikschat, Mattias # +# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias # # Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # # Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # # --------------------------------------------------------------------------- # diff --git a/resources/images/openlp-2.qrc b/resources/images/openlp-2.qrc index fff1f75b8..c12b67002 100644 --- a/resources/images/openlp-2.qrc +++ b/resources/images/openlp-2.qrc @@ -60,8 +60,6 @@ slide_close.png - slide_first.png - slide_last.png slide_next.png slide_blank.png slide_desktop.png diff --git a/resources/images/slide_first.png b/resources/images/slide_first.png deleted file mode 100644 index a9d66123e5de9fe7f7f96e2ee3d58b4cce8f5fe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 653 zcmV;80&@L{P)EBIrR7FMfW;W012HS>cd+2*S zc;C$XzV`;+Fe1WHOv53@rkTTL*#o95!i8RZ-~_D5@?#@oWyf-y@`rK~5@$!Vqpz)` zWiNkOPSPuC{&xb^9zk z(^YsiXz8t90d}30a$fFv#>&KMts0X| z6(o3L!%YP1kw_5aYbIy+JEqSI}`gKpG&M0DI?dUyzCbNQBAWJ)mdu zg&%8P9vDe&m?=||LBIfj6uKgw3OCB5GoIl6i$qV`@3z?QGrAZ5Y^7`&bu_yK!!rN} zT~U>CUH|tc(gLmfeDhoY@$$Ht2^q0yZ0o0D|Ik7ZfDWK*{Q`R;^F)oi{ zm48#9jt019>j@<{P4dJ&WnfNzOPQCe+}2uZ5Mdod4zRs+R=yVX~W&uk?6p{ neRzB!{ult;#fy9R$lv)7L~iNTQ>DOK00000NkvXXu0mjfir*rXKo+ z$2Sk=d-Ddq5k!Q8Km$Yk#Z_@%I3m@jr&<38Q37#ISd-aF&uzGs^}_mPNPKqAI9}N; zmsdAd9ePD;gA?=+Y9VGW%p|5xPrU)*mM?td^ZBH6-dW)^w=n<`J=A%X+>#j2jw^e_ zUg9(;RZAjwHmBmr_+#t3b*?qhxZC`M#3rPm0tKVZCT*#oIG#;g#?XqmDQ?g+dbwlZ=}k1d9-#MZ6%e7rtOLRo zKn2i#X^2_F1Vh*R66hvt13;XaWZF!@^bmnM1k1Mq!!&EPt;Q948ocW_ki6{zFqy+# z(k9wkJGvE3AQ4LjVWaz{=DC;X32pD01F7{4n5bxBVmlSt3lcaMX2N#afBsukPtn3| zbAN)a4&^KA)Pn#&aE}anV3tf8-8vc;z7_9=bN<79CoyHEks3L|^Q2AVefLqSlSaBQ zTL1pFcrj`ogx+ry`jT42JPz;Zg0u A!2kdN diff --git a/scripts/check_dependencies.py b/scripts/check_dependencies.py index 14d27fb81..dd2907ba9 100755 --- a/scripts/check_dependencies.py +++ b/scripts/check_dependencies.py @@ -8,7 +8,7 @@ # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan # # Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, # -# Armin Köhler, Joshua Millar, Stevan Pettit, Andreas Preikschat, Mattias # +# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias # # Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # # Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # # --------------------------------------------------------------------------- # diff --git a/scripts/generate_resources.sh b/scripts/generate_resources.sh index cf6f8f2f8..1c4475198 100755 --- a/scripts/generate_resources.sh +++ b/scripts/generate_resources.sh @@ -1,15 +1,15 @@ -#!/bin/sh +# -*- coding: utf-8 -*- # vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 ############################################################################### # OpenLP - Open Source Lyrics Projection # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2011 Raoul Snyman # -# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael # -# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, # -# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, # -# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode # -# Woldsund # +# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan # +# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, # +# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias # +# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # +# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # # --------------------------------------------------------------------------- # # This program is free software; you can redistribute it and/or modify it # # under the terms of the GNU General Public License as published by the Free # @@ -49,7 +49,7 @@ cat openlp/core/resources.py.new | sed '/# Created: /d;/# by: /d' \ > openlp/core/resources.py # Patch resources.py to OpenLP coding style -patch --posix -s openlp/core/resources.py scripts/resources.patch +#patch --posix -s openlp/core/resources.py scripts/resources.patch # Remove temporary file rm openlp/core/resources.py.new diff --git a/testing/conftest.py b/testing/conftest.py index f38018c17..001f8979a 100644 --- a/testing/conftest.py +++ b/testing/conftest.py @@ -8,7 +8,7 @@ # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan # # Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, # -# Armin Köhler, Joshua Millar, Stevan Pettit, Andreas Preikschat, Mattias # +# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias # # Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # # Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # # --------------------------------------------------------------------------- # diff --git a/testing/test_app.py b/testing/test_app.py index 00cd744ba..3ff053479 100644 --- a/testing/test_app.py +++ b/testing/test_app.py @@ -8,7 +8,7 @@ # Copyright (c) 2008-2011 Raoul Snyman # # Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan # # Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, # -# Armin Köhler, Joshua Millar, Stevan Pettit, Andreas Preikschat, Mattias # +# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias # # Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, # # Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund # # --------------------------------------------------------------------------- # From 8c4ed560d0eaf6d166a620e229ecc2ff8ca579bb Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Tue, 4 Oct 2011 18:03:07 +0200 Subject: [PATCH 24/72] uncommented needed line --- scripts/generate_resources.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/generate_resources.sh b/scripts/generate_resources.sh index 1c4475198..a18822aa2 100755 --- a/scripts/generate_resources.sh +++ b/scripts/generate_resources.sh @@ -49,7 +49,7 @@ cat openlp/core/resources.py.new | sed '/# Created: /d;/# by: /d' \ > openlp/core/resources.py # Patch resources.py to OpenLP coding style -#patch --posix -s openlp/core/resources.py scripts/resources.patch +patch --posix -s openlp/core/resources.py scripts/resources.patch # Remove temporary file rm openlp/core/resources.py.new From ba3a2372dcc321a42291740dbb4886cbc4478fda Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Tue, 4 Oct 2011 18:11:06 +0200 Subject: [PATCH 25/72] fixed resources.py From 196795106197bb4bd98f60037167acd9e5386ac6 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Tue, 4 Oct 2011 20:01:13 +0200 Subject: [PATCH 26/72] attempt to prevent calling updatePreview more than once --- openlp/core/ui/slidecontroller.py | 8 ++++---- scripts/generate_resources.sh | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index e29cb3ae4..0abc6cf05 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -328,8 +328,8 @@ class SlideController(QtGui.QWidget): if self.isLive: QtCore.QObject.connect(self.volumeSlider, QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume) - QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'maindisplay_active'), self.updatePreview) +# QtCore.QObject.connect(Receiver.get_receiver(), +# QtCore.SIGNAL(u'maindisplay_active'), self.updatePreview) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_live_spin_delay'), self.receiveSpinDelay) @@ -893,7 +893,6 @@ class SlideController(QtGui.QWidget): Receiver.send_message( u'%s_slide' % self.serviceItem.name.lower(), [self.serviceItem, self.isLive, row]) - self.updatePreview() else: toDisplay = self.serviceItem.get_rendered_frame(row) if self.serviceItem.is_text(): @@ -905,7 +904,7 @@ class SlideController(QtGui.QWidget): self.display.image(toDisplay) # reset the store used to display first image self.serviceItem.bg_image_bytes = None - self.updatePreview() + self.updatePreview() self.selectedRow = row self.__checkUpdateSelectedSlide(row) Receiver.send_message(u'slidecontroller_%s_changed' % self.typePrefix, @@ -926,6 +925,7 @@ class SlideController(QtGui.QWidget): using *Blank to Theme*. """ log.debug(u'updatePreview %s ' % self.screens.current[u'primary']) + print u'updatePreview' if not self.screens.current[u'primary'] and self.serviceItem and \ self.serviceItem.is_capable(ItemCapabilities.ProvidesOwnDisplay): # Grab now, but try again in a couple of seconds if slide change diff --git a/scripts/generate_resources.sh b/scripts/generate_resources.sh index a18822aa2..5778f771a 100755 --- a/scripts/generate_resources.sh +++ b/scripts/generate_resources.sh @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +#!/bin/sh # vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 ############################################################################### From 159a95855f781769510640dacabef70274c400f7 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 5 Oct 2011 17:14:21 +0100 Subject: [PATCH 27/72] Change Text --- openlp/core/ui/themelayoutdialog.py | 10 ++++++++++ openlp/core/ui/themewizard.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/openlp/core/ui/themelayoutdialog.py b/openlp/core/ui/themelayoutdialog.py index 58c09fb26..d2c91619f 100644 --- a/openlp/core/ui/themelayoutdialog.py +++ b/openlp/core/ui/themelayoutdialog.py @@ -50,6 +50,12 @@ class Ui_ThemeLayoutDialog(object): self.themeDisplayLabel.setObjectName(u'ThemeDisplayLabel') self.previewAreaLayout.addWidget(self.themeDisplayLabel) self.previewLayout.addWidget(self.previewArea) + self.mainColourLabel = QtGui.QLabel(self.previewArea) + self.mainColourLabel.setObjectName(u'MainColourLabel') + self.previewLayout.addWidget(self.mainColourLabel) + self.footerColourLabel = QtGui.QLabel(self.previewArea) + self.footerColourLabel.setObjectName(u'FooterColourLabel') + self.previewLayout.addWidget(self.footerColourLabel) self.buttonBox = QtGui.QDialogButtonBox(themeLayoutDialog) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName(u'ButtonBox') @@ -62,4 +68,8 @@ class Ui_ThemeLayoutDialog(object): def retranslateUi(self, themeLayoutDialog): themeLayoutDialog.setWindowTitle( translate('OpenLP.StartTimeForm', 'Theme Layout')) + self.mainColourLabel.setText(translate('OpenLP.StartTimeForm', + 'The main layout area is shown by a blue box.')) + self.footerColourLabel.setText(translate('OpenLP.StartTimeForm', + 'The footer layout area is shown by a red box.')) diff --git a/openlp/core/ui/themewizard.py b/openlp/core/ui/themewizard.py index 76b9ba3a8..1135db274 100644 --- a/openlp/core/ui/themewizard.py +++ b/openlp/core/ui/themewizard.py @@ -538,7 +538,7 @@ class Ui_ThemeWizard(object): translate('OpenLP.ThemeWizard', 'Use default location')) themeWizard.setOption(QtGui.QWizard.HaveCustomButton1, False) themeWizard.setButtonText(QtGui.QWizard.CustomButton1, - translate('OpenLP.ThemeWizard', 'Preview')) + translate('OpenLP.ThemeWizard', 'Layout Preview')) self.previewPage.setTitle( translate('OpenLP.ThemeWizard', 'Save and Preview')) self.previewPage.setSubTitle( From 45b296b741b30e69e5d4f4ad6d4c431bb41534ef Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 5 Oct 2011 19:04:59 +0200 Subject: [PATCH 28/72] clean up --- openlp/core/ui/slidecontroller.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 0abc6cf05..354cfa168 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -328,8 +328,6 @@ class SlideController(QtGui.QWidget): if self.isLive: QtCore.QObject.connect(self.volumeSlider, QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume) -# QtCore.QObject.connect(Receiver.get_receiver(), -# QtCore.SIGNAL(u'maindisplay_active'), self.updatePreview) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'slidecontroller_live_spin_delay'), self.receiveSpinDelay) @@ -925,7 +923,6 @@ class SlideController(QtGui.QWidget): using *Blank to Theme*. """ log.debug(u'updatePreview %s ' % self.screens.current[u'primary']) - print u'updatePreview' if not self.screens.current[u'primary'] and self.serviceItem and \ self.serviceItem.is_capable(ItemCapabilities.ProvidesOwnDisplay): # Grab now, but try again in a couple of seconds if slide change From 575aa020222960b147bb39a2f3e38bdd05d94e0d Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 5 Oct 2011 18:18:56 +0100 Subject: [PATCH 29/72] Amend text --- openlp/core/ui/themelayoutdialog.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/themelayoutdialog.py b/openlp/core/ui/themelayoutdialog.py index d2c91619f..5be08ad65 100644 --- a/openlp/core/ui/themelayoutdialog.py +++ b/openlp/core/ui/themelayoutdialog.py @@ -69,7 +69,7 @@ class Ui_ThemeLayoutDialog(object): themeLayoutDialog.setWindowTitle( translate('OpenLP.StartTimeForm', 'Theme Layout')) self.mainColourLabel.setText(translate('OpenLP.StartTimeForm', - 'The main layout area is shown by a blue box.')) + 'The blue box shows the main area.')) self.footerColourLabel.setText(translate('OpenLP.StartTimeForm', - 'The footer layout area is shown by a red box.')) + 'The red box shows the footer.')) From 5dfa0c95cefe96337e3f29a2cea1d40d3d7a5a64 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Wed, 5 Oct 2011 15:50:17 -0400 Subject: [PATCH 30/72] Modified code so new Openlyrics song import description will appear for translate --- openlp/core/ui/wizard.py | 2 +- openlp/plugins/songs/forms/songimportform.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/wizard.py b/openlp/core/ui/wizard.py index 40591872b..9d8a106ed 100644 --- a/openlp/core/ui/wizard.py +++ b/openlp/core/ui/wizard.py @@ -49,7 +49,7 @@ class WizardStrings(object): EW = u'EasyWorship' ES = u'EasiSlides' FP = u'Foilpresenter' - OL = u'OpenLyrics or OpenLP 2.0 Exported Song' + OL = u'OpenLyrics' OS = u'OpenSong' OSIS = u'OSIS' SB = u'SongBeamer' diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 72048e409..18a66fb85 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -241,7 +241,8 @@ class SongImportForm(OpenLPWizard): self.formatComboBox.setItemText(SongFormat.OpenLP2, UiStrings().OLPV2) self.formatComboBox.setItemText(SongFormat.OpenLP1, UiStrings().OLPV1) self.formatComboBox.setItemText(SongFormat.OpenLyrics, - translate('SongsPlugin.ImportWizardForm', WizardStrings.OL)) + translate('SongsPlugin.ImportWizardForm', + 'OpenLyrics or OpenLP 2.0 Exported Song')) self.formatComboBox.setItemText(SongFormat.OpenSong, WizardStrings.OS) self.formatComboBox.setItemText( SongFormat.WordsOfWorship, WizardStrings.WoW) From 2a1d0009a8152ed4b6673feade755ff2d8b8e64b Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Wed, 5 Oct 2011 18:17:57 -0400 Subject: [PATCH 31/72] Removed whitespace --- openlp/plugins/songs/forms/songimportform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/forms/songimportform.py b/openlp/plugins/songs/forms/songimportform.py index 18a66fb85..b79e56f7b 100644 --- a/openlp/plugins/songs/forms/songimportform.py +++ b/openlp/plugins/songs/forms/songimportform.py @@ -241,7 +241,7 @@ class SongImportForm(OpenLPWizard): self.formatComboBox.setItemText(SongFormat.OpenLP2, UiStrings().OLPV2) self.formatComboBox.setItemText(SongFormat.OpenLP1, UiStrings().OLPV1) self.formatComboBox.setItemText(SongFormat.OpenLyrics, - translate('SongsPlugin.ImportWizardForm', + translate('SongsPlugin.ImportWizardForm', 'OpenLyrics or OpenLP 2.0 Exported Song')) self.formatComboBox.setItemText(SongFormat.OpenSong, WizardStrings.OS) self.formatComboBox.setItemText( From 2591854fddb62d2df68f4b797d00db3ba260f18a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 8 Oct 2011 15:20:57 +0200 Subject: [PATCH 32/72] fixed bug 863376 - clean ups Fixes: https://launchpad.net/bugs/863376 --- openlp/plugins/songs/lib/xml.py | 42 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 5b36a7cb9..a6928cecf 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -60,7 +60,7 @@ The XML of an `OpenLyrics `_ song looks like this:: """ - +import cgi import logging import re @@ -257,11 +257,11 @@ class OpenLyrics(object): """ IMPLEMENTED_VERSION = u'0.8' + START_TAGS_REGEX = re.compile(r'\{(\w+)\}') # {abc} -> abc + END_TAGS_REGEX = re.compile(r'\{\/(\w+)\}') # {/abc} -> abc def __init__(self, manager): self.manager = manager - self.start_tags_regex = re.compile(r'\{(\w+)\}') # {abc} -> abc - self.end_tags_regex = re.compile(r'\{\/(\w+)\}') # {/abc} -> abc def song_to_xml(self, song): """ @@ -334,7 +334,8 @@ class OpenLyrics(object): if u'lang' in verse[0]: verse_element.set(u'lang', verse[0][u'lang']) # Create a list with all "virtual" verses. - virtual_verses = verse[1].split(u'[---]') + virtual_verses = cgi.escape(verse[1]) + virtual_verses = virtual_verses.split(u'[---]') for index, virtual_verse in enumerate(virtual_verses): # Add formatting tags to text lines_element = self._add_text_with_tags_to_lines(verse_element, @@ -402,32 +403,32 @@ class OpenLyrics(object): def _add_tag_to_formatting(self, tag_name, tags_element): """ - Add new formatting tag to the element ```` - if the tag is not present yet. + Add new formatting tag to the element ```` if the tag is not + present yet. """ available_tags = FormattingTags.get_html_tags() start_tag = '{%s}' % tag_name - for t in available_tags: - if t[u'start tag'] == start_tag: + for tag in available_tags: + if tag[u'start tag'] == start_tag: # Create new formatting tag in openlyrics xml. - el = self._add_text_to_element(u'tag', tags_element) - el.set(u'name', tag_name) - el_open = self._add_text_to_element(u'open', el) - el_open.text = etree.CDATA(t[u'start html']) + element = self._add_text_to_element(u'tag', tags_element) + element.set(u'name', tag_name) + element_open = self._add_text_to_element(u'open', element) + element_open.text = etree.CDATA(tag[u'start html']) # Check if formatting tag contains end tag. Some formatting # tags e.g. {br} has only start tag. If no end tag is present # element has not to be in OpenLyrics xml. - if t['end tag']: - el_close = self._add_text_to_element(u'close', el) - el_close.text = etree.CDATA(t[u'end html']) + if tag['end tag']: + element_close = self._add_text_to_element(u'close', element) + element_close.text = etree.CDATA(tag[u'end html']) def _add_text_with_tags_to_lines(self, verse_element, text, tags_element): """ Convert text with formatting tags from OpenLP format to OpenLyrics format and append it to element ````. """ - start_tags = self.start_tags_regex.findall(text) - end_tags = self.end_tags_regex.findall(text) + start_tags = OpenLyrics.START_TAGS_REGEX.findall(text) + end_tags = OpenLyrics.END_TAGS_REGEX.findall(text) # Replace start tags with xml syntax. for tag in start_tags: # Tags already converted to xml structure. @@ -442,12 +443,11 @@ class OpenLyrics(object): if tag not in xml_tags: self._add_tag_to_formatting(tag, tags_element) # Replace end tags. - for t in end_tags: - text = text.replace(u'{/%s}' % t, u'') + for tag in end_tags: + text = text.replace(u'{/%s}' % tag, u'') # Replace \n with
. text = text.replace(u'\n', u'
') - text = u'' + text + u'' - element = etree.XML(text) + element = etree.XML(u'' + text + u'') verse_element.append(element) return element From 06068eedce7522541ae3f2e0c402828fe19e758a Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 8 Oct 2011 15:29:35 +0200 Subject: [PATCH 33/72] fixed bug 863846 Fixes: https://launchpad.net/bugs/863846 --- openlp/core/ui/splashscreen.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openlp/core/ui/splashscreen.py b/openlp/core/ui/splashscreen.py index 8b2ba5d95..036daf968 100644 --- a/openlp/core/ui/splashscreen.py +++ b/openlp/core/ui/splashscreen.py @@ -36,8 +36,7 @@ class SplashScreen(QtGui.QSplashScreen): QtCore.SIGNAL(u'close_splash'), self.close) def setupUi(self): - self.setObjectName(u'splash_screen') - self.setWindowFlags(self.windowFlags() | QtCore.Qt.WindowStaysOnTopHint) + self.setObjectName(u'splashScreen') self.setContextMenuPolicy(QtCore.Qt.PreventContextMenu) splash_image = QtGui.QPixmap(u':/graphics/openlp-splash-screen.png') self.setPixmap(splash_image) From e774b084149711b202c509a54233621bdb5918f6 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Sat, 8 Oct 2011 18:21:23 -0400 Subject: [PATCH 34/72] Modified Inno setup control file to pass proper string to psvince.dll when checking if OpenLP is currently running --- resources/windows/OpenLP-2.0.iss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/windows/OpenLP-2.0.iss b/resources/windows/OpenLP-2.0.iss index 9d2e6bfaa..d773a22fd 100644 --- a/resources/windows/OpenLP-2.0.iss +++ b/resources/windows/OpenLP-2.0.iss @@ -87,7 +87,7 @@ Root: HKCR; Subkey: "OpenLP\DefaultIcon"; ValueType: string; ValueName: ""; Valu Root: HKCR; Subkey: "OpenLP\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\OpenLP.exe"" ""%1""" [Code] -function IsModuleLoaded(modulename: String ): Boolean; +function IsModuleLoaded(modulename: AnsiString ): Boolean; external 'IsModuleLoaded@files:psvince.dll stdcall'; function GetUninstallString(): String; From 3c8cc5c5320fb51d7cf26614a2fe3562d1e73f6d Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sun, 9 Oct 2011 21:45:50 +0200 Subject: [PATCH 35/72] removed comment + fixed regex --- openlp/plugins/songs/lib/xml.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index a6928cecf..3b1cefaa7 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -257,8 +257,9 @@ class OpenLyrics(object): """ IMPLEMENTED_VERSION = u'0.8' - START_TAGS_REGEX = re.compile(r'\{(\w+)\}') # {abc} -> abc - END_TAGS_REGEX = re.compile(r'\{\/(\w+)\}') # {/abc} -> abc + START_TAGS_REGEX = re.compile(r'\{(\w+)\}') + END_TAGS_REGEX = re.compile(r'\{\/(\w+)\}') + VERSE_NUMBER_REGEX = re.compile(u'[a-zA-Z]*') def __init__(self, manager): self.manager = manager @@ -692,7 +693,7 @@ class OpenLyrics(object): verse_tag = verse_def[0] else: verse_tag = VerseType.Tags[VerseType.Other] - verse_number = re.compile(u'[a-zA-Z]*').sub(u'', verse_def) + verse_number = OpenLyrics.VERSE_NUMBER_REGEX.sub(u'', verse_def) # OpenLyrics allows e. g. "c", but we need "c1". However, this does # not correct the verse order. if not verse_number: From e6751bd043268db1357404de2ce091926e53a158 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sun, 9 Oct 2011 21:51:44 +0200 Subject: [PATCH 36/72] fixed string --- openlp/plugins/songs/lib/xml.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/plugins/songs/lib/xml.py b/openlp/plugins/songs/lib/xml.py index 3b1cefaa7..aaf82b395 100644 --- a/openlp/plugins/songs/lib/xml.py +++ b/openlp/plugins/songs/lib/xml.py @@ -448,7 +448,7 @@ class OpenLyrics(object): text = text.replace(u'{/%s}' % tag, u'') # Replace \n with
. text = text.replace(u'\n', u'
') - element = etree.XML(u'' + text + u'') + element = etree.XML(u'%s' % text) verse_element.append(element) return element From 6883427cbd2efa3a448cfcc71ff6038a9e1ad8f0 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 10 Oct 2011 18:22:41 +0200 Subject: [PATCH 37/72] fixed bug 871441 Fixes: https://launchpad.net/bugs/871441 --- openlp/core/ui/maindisplay.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index d6eff912c..631c29f22 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -51,6 +51,8 @@ class MainDisplay(QtGui.QGraphicsView): def __init__(self, parent, imageManager, live): if live: QtGui.QGraphicsView.__init__(self) + # Do not overwrite the parent() method. + self._parent = parent else: QtGui.QGraphicsView.__init__(self, parent) self.isLive = live @@ -240,6 +242,9 @@ class MainDisplay(QtGui.QGraphicsView): self.override[u'image'] = name self.override[u'theme'] = self.serviceItem.themedata.theme_name self.image(name) + # Update the preview frame. + if self.isLive: + self._parent.updatePreview() return True return False @@ -248,8 +253,8 @@ class MainDisplay(QtGui.QGraphicsView): Add an image as the background. The image has already been added to the cache. - `Image` - The name of the image to be displayed + ``Image`` + The name of the image to be displayed. """ log.debug(u'image to display') image = self.imageManager.get_image_bytes(name) @@ -272,8 +277,8 @@ class MainDisplay(QtGui.QGraphicsView): def resetImage(self): """ - Reset the backgound image to the service item image. - Used after Image plugin has changed the background + Reset the backgound image to the service item image. Used after the + image plugin has changed the background. """ log.debug(u'resetImage') if hasattr(self, u'serviceItem'): @@ -284,6 +289,7 @@ class MainDisplay(QtGui.QGraphicsView): self.override = {} # Update the preview frame. if self.isLive: + self._parent.updatePreview() Receiver.send_message(u'maindisplay_active') def resetVideo(self): From 658e8f234bbbd36dff54bd2c5cd4801824d32951 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 10 Oct 2011 18:37:46 +0200 Subject: [PATCH 38/72] clean ups --- openlp/core/ui/maindisplay.py | 13 ------------- openlp/plugins/alerts/lib/alertsmanager.py | 2 +- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 631c29f22..f4b1383ba 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -271,9 +271,6 @@ class MainDisplay(QtGui.QGraphicsView): else: js = u'show_image("");' self.frame.evaluateJavaScript(js) - # Update the preview frame. - if self.isLive: - Receiver.send_message(u'maindisplay_active') def resetImage(self): """ @@ -287,10 +284,6 @@ class MainDisplay(QtGui.QGraphicsView): self.displayImage(None) # clear the cache self.override = {} - # Update the preview frame. - if self.isLive: - self._parent.updatePreview() - Receiver.send_message(u'maindisplay_active') def resetVideo(self): """ @@ -306,9 +299,6 @@ class MainDisplay(QtGui.QGraphicsView): else: self.frame.evaluateJavaScript(u'show_video("close");') self.override = {} - # Update the preview frame. - if self.isLive: - Receiver.send_message(u'maindisplay_active') def videoPlay(self): """ @@ -388,9 +378,6 @@ class MainDisplay(QtGui.QGraphicsView): self.webView.setVisible(False) self.videoWidget.setVisible(True) self.audio.setVolume(vol) - # Update the preview frame. - if self.isLive: - Receiver.send_message(u'maindisplay_active') def videoState(self, newState, oldState): """ diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index f2cb1eb4b..dcf3acafe 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -81,7 +81,7 @@ class AlertsManager(QtCore.QObject): Format and request the Alert and start the timer """ log.debug(u'Generate Alert called') - if len(self.alertList) == 0: + if not self.alertList: return text = self.alertList.pop(0) alertTab = self.parent().settings_tab From 76f47a4f6282da127dac7fd37fbaadcea274c497 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Mon, 10 Oct 2011 18:54:01 +0200 Subject: [PATCH 39/72] - clean ups - only display alert when the screen is not hidden --- openlp/core/ui/maindisplay.py | 26 +++++++++++++--------- openlp/plugins/alerts/lib/alertsmanager.py | 3 ++- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index f4b1383ba..e383a2631 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -186,7 +186,7 @@ class MainDisplay(QtGui.QGraphicsView): """ Add the slide text from slideController - `slide` + ``slide`` The slide text to be displayed """ log.debug(u'text to display') @@ -199,20 +199,25 @@ class MainDisplay(QtGui.QGraphicsView): def alert(self, text): """ - Add the alert text + Add the alert text. If the alert was not displayed, because the screen + is not visible ``False`` is returned, otherwise ``True``. - `slide` - The slide text to be displayed + ``slide`` + The slide text to be displayed. """ log.debug(u'alert to display') - if self.height() != self.screen[u'size'].height() or not \ - self.isVisible() or self.videoWidget.isVisible(): + if not self.isVisible(): + return False + if self.height() != self.screen[u'size'].height() or \ + self.videoWidget.isVisible(): shrink = True + js = u'show_alert("%s", "%s")' % ( + text.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"'), + u'top') else: shrink = False - js = u'show_alert("%s", "%s")' % ( - text.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"'), - u'top' if shrink else u'') + js = u'show_alert("%s", "")' % ( + text.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"')) height = self.frame.evaluateJavaScript(js) if shrink: if self.phononActive: @@ -232,10 +237,11 @@ class MainDisplay(QtGui.QGraphicsView): else: shrinkItem.setVisible(False) self.setGeometry(self.screen[u'size']) + return True def directImage(self, name, path, background): """ - API for replacement backgrounds so Images are added directly to cache + API for replacement backgrounds so Images are added directly to cache. """ self.imageManager.add_image(name, path, u'image', background) if hasattr(self, u'serviceItem'): diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index dcf3acafe..b38415158 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -85,7 +85,8 @@ class AlertsManager(QtCore.QObject): return text = self.alertList.pop(0) alertTab = self.parent().settings_tab - self.parent().liveController.display.alert(text) + if not self.parent().liveController.display.alert(text): + self.alertList.insert(0, text) # Check to see if we have a timer running. if self.timer_id == 0: self.timer_id = self.startTimer(int(alertTab.timeout) * 1000) From 223976b7d006cb52db66c5ab33cb212f46acfb9c Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Mon, 10 Oct 2011 17:49:43 -0400 Subject: [PATCH 40/72] Modified Inno setup file to check if OpenLP is running during an un-install --- resources/windows/OpenLP-2.0.iss | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/resources/windows/OpenLP-2.0.iss b/resources/windows/OpenLP-2.0.iss index d773a22fd..119b73900 100644 --- a/resources/windows/OpenLP-2.0.iss +++ b/resources/windows/OpenLP-2.0.iss @@ -65,8 +65,11 @@ Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription [Files] Source: ..\..\dist\OpenLP\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs -Source: psvince.dll; Flags: dontcopy -; NOTE: Don't use "Flags: ignoreversion" on any shared system files +; DLL used to check if the target program is running at install time +Source: psvince.dll; flags: dontcopy +; psvince is installed in {app} folder, so it will be loaded at +; uninstall time to check if the target program is running +Source: psvince.dll; DestDir: {app} [Icons] Name: {group}\{#AppName}; Filename: {app}\{#AppExeName} @@ -87,8 +90,13 @@ Root: HKCR; Subkey: "OpenLP\DefaultIcon"; ValueType: string; ValueName: ""; Valu Root: HKCR; Subkey: "OpenLP\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\OpenLP.exe"" ""%1""" [Code] -function IsModuleLoaded(modulename: AnsiString ): Boolean; -external 'IsModuleLoaded@files:psvince.dll stdcall'; +// Function to call psvince.dll at install time +function IsModuleLoadedInstall(modulename: AnsiString ): Boolean; +external 'IsModuleLoaded@files:psvince.dll stdcall setuponly'; + +// Function to call psvince.dll at uninstall time +function IsModuleLoadedUninstall(modulename: AnsiString ): Boolean; +external 'IsModuleLoaded@{app}\psvince.dll stdcall uninstallonly' ; function GetUninstallString(): String; var @@ -133,7 +141,7 @@ end; function InitializeSetup(): Boolean; begin Result := true; - while IsModuleLoaded( 'OpenLP.exe' ) and Result do + while IsModuleLoadedInstall( 'OpenLP.exe' ) and Result do begin if MsgBox( 'Openlp is currently running, please close it to continue the install.', mbError, MB_OKCANCEL ) = IDCANCEL then @@ -153,3 +161,16 @@ begin end; end; end; + +function InitializeUninstall(): Boolean; +begin + Result := true; + while IsModuleLoadedUninstall( 'OpenLP.exe' ) and Result do + begin + if MsgBox( 'Openlp is currently running, please close it to continue the uninstall.', + mbError, MB_OKCANCEL ) = IDCANCEL then + begin + Result := false; + end; + end; +end; \ No newline at end of file From 91769118102e820714847cccb1960f084fb0a227 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Tue, 11 Oct 2011 19:10:53 +0100 Subject: [PATCH 41/72] Try 1 --- openlp/core/lib/pluginmanager.py | 5 +++++ openlp/core/ui/maindisplay.py | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index 2248d0ddd..4b706a4c6 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -42,6 +42,10 @@ class PluginManager(object): """ log.info(u'Plugin manager loaded') + @staticmethod + def get_instance(): + return PluginManager.instance + def __init__(self, plugin_dir): """ The constructor for the plugin manager. Passes the controllers on to @@ -51,6 +55,7 @@ class PluginManager(object): The directory to search for plugins. """ log.info(u'Plugin manager Initialising') + PluginManager.instance = self if not plugin_dir in sys.path: log.debug(u'Inserting %s into sys.path', plugin_dir) sys.path.insert(0, plugin_dir) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index d6eff912c..0cf47ae5e 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -35,7 +35,7 @@ from PyQt4 import QtCore, QtGui, QtWebKit from PyQt4.phonon import Phonon from openlp.core.lib import Receiver, build_html, ServiceItem, image_to_byte, \ - translate + translate, PluginManager from openlp.core.ui import HideMode, ScreenList @@ -56,6 +56,7 @@ class MainDisplay(QtGui.QGraphicsView): self.isLive = live self.imageManager = imageManager self.screens = ScreenList.get_instance() + self.plugins = PluginManager.get_instance().plugins self.alertTab = None self.hideMode = None self.videoHide = False From e87b4658d89c14ff965ead26a64b0bd1d64d86d8 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Tue, 11 Oct 2011 20:54:18 +0100 Subject: [PATCH 42/72] fix up alert changing triggers --- openlp/core/ui/maindisplay.py | 15 +++++++++++++++ openlp/core/ui/settingsform.py | 2 +- openlp/plugins/alerts/lib/alertstab.py | 12 +++++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 0cf47ae5e..f3aed92cb 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -58,6 +58,7 @@ class MainDisplay(QtGui.QGraphicsView): self.screens = ScreenList.get_instance() self.plugins = PluginManager.get_instance().plugins self.alertTab = None + self.rebuildCSS = False self.hideMode = None self.videoHide = False self.override = {} @@ -81,6 +82,20 @@ class MainDisplay(QtGui.QGraphicsView): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'openlp_phonon_creation'), self.createMediaObject) + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'alertTab_updated'), self.alertTabChanged) + QtCore.QObject.connect(Receiver.get_receiver(), + QtCore.SIGNAL(u'config_updated'), self.configChanged) + + def alertTabChanged(self): + print "alert" + self.rebuildCSS = True + + def configChanged(self): + print "config" + if self.rebuildCSS: + print "Need to rebuild" + self.rebuildCSS = False def retranslateUi(self): """ diff --git a/openlp/core/ui/settingsform.py b/openlp/core/ui/settingsform.py index 49d27a466..37da93b5b 100644 --- a/openlp/core/ui/settingsform.py +++ b/openlp/core/ui/settingsform.py @@ -58,7 +58,7 @@ class SettingsForm(QtGui.QDialog, Ui_SettingsDialog): # load all the settings self.settingListWidget.clear() for tabIndex in range(0, self.stackedLayout.count() + 1): - # take at 0 and the rest shuffell up. + # take at 0 and the rest shuffle up. self.stackedLayout.takeAt(0) self.insertTab(self.generalTab, 0, PluginStatus.Active) self.insertTab(self.themesTab, 1, PluginStatus.Active) diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 15577fd0e..a6ed18fd1 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -27,7 +27,7 @@ from PyQt4 import QtCore, QtGui -from openlp.core.lib import SettingsTab, translate +from openlp.core.lib import SettingsTab, translate, Receiver from openlp.core.lib.ui import UiStrings, create_valign_combo class AlertsTab(SettingsTab): @@ -140,6 +140,7 @@ class AlertsTab(SettingsTab): def onTimeoutSpinBoxChanged(self): self.timeout = self.timeoutSpinBox.value() + self.changed = True def onFontSizeSpinBoxChanged(self): self.font_size = self.fontSizeSpinBox.value() @@ -171,10 +172,15 @@ class AlertsTab(SettingsTab): font.setFamily(self.font_face) self.fontComboBox.setCurrentFont(font) self.updateDisplay() + self.changed = False def save(self): settings = QtCore.QSettings() settings.beginGroup(self.settingsSection) + # Check value has changed as no event handles this field + if settings.value(u'location', QtCore.QVariant(1)).toInt()[0] != \ + self.verticalComboBox.currentIndex(): + self.changed = True settings.setValue(u'background color', QtCore.QVariant(self.bg_color)) settings.setValue(u'font color', QtCore.QVariant(self.font_color)) settings.setValue(u'font size', QtCore.QVariant(self.font_size)) @@ -184,6 +190,9 @@ class AlertsTab(SettingsTab): self.location = self.verticalComboBox.currentIndex() settings.setValue(u'location', QtCore.QVariant(self.location)) settings.endGroup() + if self.changed: + Receiver.send_message(u'alertTab_updated') + self.changed = False def updateDisplay(self): font = QtGui.QFont() @@ -193,4 +202,5 @@ class AlertsTab(SettingsTab): self.fontPreview.setFont(font) self.fontPreview.setStyleSheet(u'background-color: %s; color: %s' % (self.bg_color, self.font_color)) + self.changed = True From bb8b0cd4351be15bf32454cfbf0e8d1b321cb8eb Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Thu, 13 Oct 2011 06:14:03 +0100 Subject: [PATCH 43/72] Move the Alert web code back to the plugin --- openlp/core/lib/htmlbuilder.py | 61 ++++++++++----------------- openlp/core/lib/plugin.py | 18 ++++++++ openlp/core/ui/maindisplay.py | 2 +- openlp/plugins/alerts/alertsplugin.py | 61 +++++++++++++++++++++++++++ 4 files changed, 102 insertions(+), 40 deletions(-) diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index 8e31d8950..bc571d04d 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -73,13 +73,7 @@ body { #video2 { z-index: 3; } -#alert { - position: absolute; - left: 0px; - top: 0px; - z-index: 10; - %s -} +%s #footer { position: absolute; z-index: 6; @@ -179,7 +173,7 @@ sup { break; } } - + %s function show_image(src){ var img = document.getElementById('image'); img.src = src; @@ -225,34 +219,6 @@ sup { } } - function show_alert(alerttext, position){ - var text = document.getElementById('alert'); - text.innerHTML = alerttext; - if(alerttext == '') { - text.style.visibility = 'hidden'; - return 0; - } - if(position == ''){ - position = getComputedStyle(text, '').verticalAlign; - } - switch(position) - { - case 'top': - text.style.top = '0px'; - break; - case 'middle': - text.style.top = ((window.innerHeight - text.clientHeight) / 2) - + 'px'; - break; - case 'bottom': - text.style.top = (window.innerHeight - text.clientHeight) - + 'px'; - break; - } - text.style.visibility = 'visible'; - return text.clientHeight; - } - function show_footer(footertext){ document.getElementById('footer').innerHTML = footertext; } @@ -316,14 +282,15 @@ sup { %s +%s
- """ -def build_html(item, screen, alert, islive, background, image=None): +def build_html(item, screen, alert, islive, background, image=None, + plugins=None): """ Build the full web paged structure for display @@ -344,6 +311,9 @@ def build_html(item, screen, alert, islive, background, image=None): ``image`` Image media item - bytes + + ``plugins`` + The List of available plugins """ width = screen[u'size'].width() height = screen[u'size'].height() @@ -360,14 +330,27 @@ def build_html(item, screen, alert, islive, background, image=None): image_src = u'src="data:image/png;base64,%s"' % image else: image_src = u'style="display:none;"' + css_additions = u'' + js_additions = u'' + html_additions = u'' + if plugins: + for plugin in plugins: + print plugin + css_additions += plugin.getDisplayCss() + js_additions += plugin.getDisplayJavaScript() + html_additions += plugin.getDisplayHtml() + print js_additions html = HTMLSRC % (build_background_css(item, width, height), width, height, - build_alert_css(alert, width), + css_additions, + #build_alert_css(alert, width), build_footer_css(item, height), build_lyrics_css(item, webkitvers), u'true' if theme and theme.display_slide_transition and islive \ else u'false', + js_additions, bgimage_src, image_src, + html_additions, build_lyrics_html(item, webkitvers)) return html diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index db7d4845b..358906d58 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -369,3 +369,21 @@ class Plugin(QtCore.QObject): """ self.textStrings[name] = {u'title': title, u'tooltip': tooltip} + def getDisplayCss(self): + """ + Add css style sheets to htmlbuilder + """ + return u'' + + def getDisplayJavaScript(self): + """ + Add javascript functions to htmlbuilder + """ + return u'' + + def getDisplayHtml(self): + """ + Add html code to htmlbuilder + """ + return u'' + diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index f3aed92cb..129b5a827 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -508,7 +508,7 @@ class MainDisplay(QtGui.QGraphicsView): else: image_bytes = None html = build_html(self.serviceItem, self.screen, self.alertTab, - self.isLive, background, image_bytes) + self.isLive, background, image_bytes, self.plugins) log.debug(u'buildHtml - pre setHtml') self.webView.setHtml(html) log.debug(u'buildHtml - post setHtml') diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 21db1972a..c9adabca2 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -32,6 +32,7 @@ from PyQt4 import QtCore from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib.db import Manager from openlp.core.lib.ui import icon_action, UiStrings +from openlp.core.lib.theme import VerticalType from openlp.core.utils.actions import ActionList from openlp.plugins.alerts.lib import AlertsManager, AlertsTab from openlp.plugins.alerts.lib.db import init_schema @@ -39,6 +40,54 @@ from openlp.plugins.alerts.forms import AlertForm log = logging.getLogger(__name__) +JAVASCRIPT = """ + function show_alert(alerttext, position){ + var text = document.getElementById('alert'); + text.innerHTML = alerttext; + if(alerttext == '') { + text.style.visibility = 'hidden'; + return 0; + } + if(position == ''){ + position = getComputedStyle(text, '').verticalAlign; + } + switch(position) + { + case 'top': + text.style.top = '0px'; + break; + case 'middle': + text.style.top = ((window.innerHeight - text.clientHeight) / 2) + + 'px'; + break; + case 'bottom': + text.style.top = (window.innerHeight - text.clientHeight) + + 'px'; + break; + } + text.style.visibility = 'visible'; + return text.clientHeight; + } +""" +CSS = """ + #alert { + position: absolute; + left: 0px; + top: 0px; + z-index: 10; + width: 100%%; + vertical-align: %s; + font-family: %s; + font-size: %spt; + color: %s; + background-color: %s; + } +""" + +HTML = """ + +""" + class AlertsPlugin(Plugin): log.info(u'Alerts Plugin loaded') @@ -121,3 +170,15 @@ class AlertsPlugin(Plugin): u'title': translate('AlertsPlugin', 'Alerts', 'container title') } + def getDisplayJavaScript(self): + return JAVASCRIPT + + def getDisplayCss(self): + align = VerticalType.Names[self.settings_tab.location] + alert = CSS % (align, self.settings_tab.font_face, + self.settings_tab.font_size, self.settings_tab.font_color, + self.settings_tab.bg_color) + return alert + + def getDisplayHtml(self): + return HTML From 9652a690b3adf4c3b55d868257e9f76fed080ad6 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 15 Oct 2011 07:32:01 +0100 Subject: [PATCH 44/72] More cleanups and start of updates --- openlp/core/lib/htmlbuilder.py | 10 ++-------- openlp/core/lib/plugin.py | 6 ++++++ openlp/core/ui/maindisplay.py | 26 ++++++++++++++++---------- openlp/core/ui/slidecontroller.py | 2 -- openlp/plugins/alerts/alertsplugin.py | 17 ++++++++++++++++- openlp/plugins/alerts/lib/alertstab.py | 2 +- 6 files changed, 41 insertions(+), 22 deletions(-) diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index bc571d04d..7d91195a7 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -289,7 +289,7 @@ sup { """ -def build_html(item, screen, alert, islive, background, image=None, +def build_html(item, screen, islive, background, image=None, plugins=None): """ Build the full web paged structure for display @@ -300,9 +300,6 @@ def build_html(item, screen, alert, islive, background, image=None, ``screen`` Current display information - ``alert`` - Alert display display information - ``islive`` Item is going live, rather than preview/theme building @@ -335,16 +332,13 @@ def build_html(item, screen, alert, islive, background, image=None, html_additions = u'' if plugins: for plugin in plugins: - print plugin css_additions += plugin.getDisplayCss() js_additions += plugin.getDisplayJavaScript() html_additions += plugin.getDisplayHtml() - print js_additions html = HTMLSRC % (build_background_css(item, width, height), width, height, css_additions, - #build_alert_css(alert, width), - build_footer_css(item, height), + build_footer_css(item, height), build_lyrics_css(item, webkitvers), u'true' if theme and theme.display_slide_transition and islive \ else u'false', diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index 358906d58..9a5d2d547 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -381,6 +381,12 @@ class Plugin(QtCore.QObject): """ return u'' + def refreshCss(self, frame): + """ + Allow plugins to refresh javascript of displayed screen + """ + return u'' + def getDisplayHtml(self): """ Add html code to htmlbuilder diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 129b5a827..8c4ba2eba 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -57,7 +57,6 @@ class MainDisplay(QtGui.QGraphicsView): self.imageManager = imageManager self.screens = ScreenList.get_instance() self.plugins = PluginManager.get_instance().plugins - self.alertTab = None self.rebuildCSS = False self.hideMode = None self.videoHide = False @@ -83,18 +82,24 @@ class MainDisplay(QtGui.QGraphicsView): QtCore.SIGNAL(u'openlp_phonon_creation'), self.createMediaObject) QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'alertTab_updated'), self.alertTabChanged) + QtCore.SIGNAL(u'css_update'), self.cssChanged) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'config_updated'), self.configChanged) - def alertTabChanged(self): - print "alert" + def cssChanged(self): + """ + We may need to rebuild the CSS on the live display. + """ self.rebuildCSS = True def configChanged(self): - print "config" - if self.rebuildCSS: - print "Need to rebuild" + """ + Call the plugins to rebuild the Live display CSS as the screen has + not been rebuild on exit of config. + """ + if self.rebuildCSS and self.plugins: + for plugin in self.plugins: + plugin.refreshCss(self.frame) self.rebuildCSS = False def retranslateUi(self): @@ -127,6 +132,7 @@ class MainDisplay(QtGui.QGraphicsView): self.screen[u'size'].width(), self.screen[u'size'].height()) self.page = self.webView.page() self.frame = self.page.mainFrame() + self.webView.settings().setAttribute(7, True) QtCore.QObject.connect(self.webView, QtCore.SIGNAL(u'loadFinished(bool)'), self.isWebLoaded) self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) @@ -169,7 +175,7 @@ class MainDisplay(QtGui.QGraphicsView): serviceItem = ServiceItem() serviceItem.bg_image_bytes = image_to_byte(self.initialFrame) self.webView.setHtml(build_html(serviceItem, self.screen, - self.alertTab, self.isLive, None)) + self.isLive, None)) self.__hideMouse() # To display or not to display? if not self.screen[u'primary']: @@ -507,8 +513,8 @@ class MainDisplay(QtGui.QGraphicsView): image_bytes = self.imageManager.get_image_bytes(image) else: image_bytes = None - html = build_html(self.serviceItem, self.screen, self.alertTab, - self.isLive, background, image_bytes, self.plugins) + html = build_html(self.serviceItem, self.screen, self.isLive, + background, image_bytes, self.plugins) log.debug(u'buildHtml - pre setHtml') self.webView.setHtml(html) log.debug(u'buildHtml - post setHtml') diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 354cfa168..7e6e0d54e 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -79,7 +79,6 @@ class SlideController(QtGui.QWidget): self.songEdit = False self.selectedRow = 0 self.serviceItem = None - self.alertTab = None self.panel = QtGui.QWidget(parent.controlSplitter) self.slideList = {} # Layout for holding panel @@ -423,7 +422,6 @@ class SlideController(QtGui.QWidget): if self.display: self.display.close() self.display = MainDisplay(self, self.imageManager, self.isLive) - self.display.alertTab = self.alertTab self.display.setup() if self.isLive: self.__addActionsToWidget(self.display) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index c9adabca2..057c1075f 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -68,6 +68,16 @@ JAVASCRIPT = """ text.style.visibility = 'visible'; return text.clientHeight; } + + function update_css(align, font, size, color, bgcolor){ + var text = document.getElementById('alert'); + alert("Hello"); + document.getElementById('alert').style.verticalalign = align; + text.style.fontfamily = font; + text.style.size = size; + text.style.color = color; + text.style.backgroundColor = bgcolor; + } """ CSS = """ #alert { @@ -128,7 +138,6 @@ class AlertsPlugin(Plugin): self.toolsAlertItem.setVisible(True) action_list = ActionList.get_instance() action_list.add_action(self.toolsAlertItem, UiStrings().Tools) - self.liveController.alertTab = self.settings_tab def finalise(self): """ @@ -182,3 +191,9 @@ class AlertsPlugin(Plugin): def getDisplayHtml(self): return HTML + + def refreshCss(self, frame): + align = VerticalType.Names[self.settings_tab.location] + frame.evaluateJavaScript(u'update_css("%s,%s,%s,%s,%s")' % (align, + self.settings_tab.font_face, self.settings_tab.font_size, + self.settings_tab.font_color, self.settings_tab.bg_color)) diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index a6ed18fd1..8d709a3b8 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -191,7 +191,7 @@ class AlertsTab(SettingsTab): settings.setValue(u'location', QtCore.QVariant(self.location)) settings.endGroup() if self.changed: - Receiver.send_message(u'alertTab_updated') + Receiver.send_message(u'css_update') self.changed = False def updateDisplay(self): From ec5991a1976bd6d92ee952bc6c1099bc7facfbbe Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 15 Oct 2011 09:36:51 +0200 Subject: [PATCH 45/72] =?UTF-8?q?removed=20dead=20code=C2=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openlp/core/ui/maindisplay.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index e383a2631..102bd7b8c 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -122,14 +122,6 @@ class MainDisplay(QtGui.QGraphicsView): self.frame.setScrollBarPolicy(QtCore.Qt.Horizontal, QtCore.Qt.ScrollBarAlwaysOff) if self.isLive: - # Build the initial frame. - self.black = QtGui.QImage( - self.screen[u'size'].width(), - self.screen[u'size'].height(), - QtGui.QImage.Format_ARGB32_Premultiplied) - painter_image = QtGui.QPainter() - painter_image.begin(self.black) - painter_image.fillRect(self.black.rect(), QtCore.Qt.black) # Build the initial frame. image_file = QtCore.QSettings().value(u'advanced/default image', QtCore.QVariant(u':/graphics/openlp-splash-screen.png'))\ From a1a79c98d1c8fa55c77ac2a70ad2015fa2c30d9e Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 15 Oct 2011 09:52:25 +0200 Subject: [PATCH 46/72] overwrite parent method --- openlp/core/ui/maindisplay.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 102bd7b8c..3edab4a6e 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -52,7 +52,7 @@ class MainDisplay(QtGui.QGraphicsView): if live: QtGui.QGraphicsView.__init__(self) # Do not overwrite the parent() method. - self._parent = parent + self.parent = lambda: parent else: QtGui.QGraphicsView.__init__(self, parent) self.isLive = live @@ -242,7 +242,7 @@ class MainDisplay(QtGui.QGraphicsView): self.image(name) # Update the preview frame. if self.isLive: - self._parent.updatePreview() + self.parent().updatePreview() return True return False From 9259eed4a61029f00b7844c9345dcc6bcdbc343d Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 15 Oct 2011 13:30:39 +0200 Subject: [PATCH 47/72] -fixed bug 871272 -clean ups Fixes: https://launchpad.net/bugs/871272 --- openlp/core/lib/serviceitem.py | 10 ++++------ openlp/core/ui/maindisplay.py | 3 ++- openlp/plugins/media/lib/mediaitem.py | 11 +++++------ 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 510d71cde..6dff9f6ab 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -122,9 +122,8 @@ class ServiceItem(object): def _new_item(self): """ - Method to set the internal id of the item - This is used to compare service items to see if they are - the same + Method to set the internal id of the item. This is used to compare + service items to see if they are the same. """ self._uuid = unicode(uuid.uuid1()) @@ -160,9 +159,8 @@ class ServiceItem(object): def render(self, use_override=False): """ The render method is what generates the frames for the screen and - obtains the display information from the renderemanager. - At this point all the slides are built for the given - display size. + obtains the display information from the renderemanager. At this point + all the slides are built for the given display size. """ log.debug(u'Render called') self._display_frames = [] diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index d6eff912c..36f911df5 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -355,7 +355,7 @@ class MainDisplay(QtGui.QGraphicsView): """ # We request a background video but have no service Item if isBackground and not hasattr(self, u'serviceItem'): - return None + return False if not self.mediaObject: self.createMediaObject() log.debug(u'video') @@ -385,6 +385,7 @@ class MainDisplay(QtGui.QGraphicsView): # Update the preview frame. if self.isLive: Receiver.send_message(u'maindisplay_active') + return True def videoState(self, newState, oldState): """ diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index f2e0bbc06..c8f746851 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -39,7 +39,7 @@ from openlp.core.lib.ui import UiStrings, critical_error_message_box log = logging.getLogger(__name__) -CLAPPERBOARD = QtGui.QPixmap(u':/media/media_video.png').toImage() +CLAPPERBOARD = QtGui.QImage(u':/media/media_video.png') class MediaMediaItem(MediaManagerItem): """ @@ -95,14 +95,14 @@ class MediaMediaItem(MediaManagerItem): def onResetClick(self): """ - Called to reset the Live backgound with the media selected, + Called to reset the Live backgound with the media selected. """ self.resetAction.setVisible(False) self.plugin.liveController.display.resetVideo() def videobackgroundReplaced(self): """ - Triggered by main display on change of serviceitem + Triggered by main display on change of serviceitem. """ self.resetAction.setVisible(False) @@ -179,8 +179,7 @@ class MediaMediaItem(MediaManagerItem): def mediaStateWait(self, mediaState): """ - Wait for the video to change its state - Wait no longer than 5 seconds. + Wait for the video to change its state. Wait no longer than 5 seconds. """ start = datetime.now() while self.mediaObject.state() != mediaState: @@ -198,7 +197,7 @@ class MediaMediaItem(MediaManagerItem): def onDeleteClick(self): """ - Remove a media item from the list + Remove a media item from the list. """ if check_item_selected(self.listView, translate('MediaPlugin.MediaItem', 'You must select a media file to delete.')): From 1527704c03c52202d92efac726427fcbca5693da Mon Sep 17 00:00:00 2001 From: M2j Date: Sat, 15 Oct 2011 22:18:49 +0200 Subject: [PATCH 48/72] - exception dialog uses Qt call instead of external library - unicode support in report and attached filename was broken --- openlp/core/lib/mailto/LICENSE | 38 ---- openlp/core/lib/mailto/__init__.py | 321 ----------------------------- openlp/core/ui/exceptionform.py | 13 +- 3 files changed, 6 insertions(+), 366 deletions(-) delete mode 100644 openlp/core/lib/mailto/LICENSE delete mode 100644 openlp/core/lib/mailto/__init__.py diff --git a/openlp/core/lib/mailto/LICENSE b/openlp/core/lib/mailto/LICENSE deleted file mode 100644 index d8ab2d8d2..000000000 --- a/openlp/core/lib/mailto/LICENSE +++ /dev/null @@ -1,38 +0,0 @@ -PSF LICENSE AGREEMENT FOR PYTHON 2.7.1 - - 1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), - and the Individual or Organization ("Licensee") accessing and otherwise - using Python 2.7.1 software in source or binary form and its associated - documentation. - 2. Subject to the terms and conditions of this License Agreement, PSF hereby - grants Licensee a nonexclusive, royalty-free, world-wide license to - reproduce, analyze, test, perform and/or display publicly, prepare - derivative works, distribute, and otherwise use Python 2.7.1 alone or in any - derivative version, provided, however, that PSF's License Agreement and - PSF's notice of copyright, i.e., "Copyright (c) 2001-2010 Python Software - Foundation; All Rights Reserved" are retained in Python 2.7.1 alone or in - any derivative version prepared by Licensee. - 3. In the event Licensee prepares a derivative work that is based on or - incorporates Python 2.7.1 or any part thereof, and wants to make the - derivative work available to others as provided herein, then Licensee hereby - agrees to include in any such work a brief summary of the changes made to - Python 2.7.1. - 4. PSF is making Python 2.7.1 available to Licensee on an "AS IS" basis. PSF - MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF - EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION - OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT - THE USE OF PYTHON 2.7.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 2.7.1 FOR - ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.7.1, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - 6. This License Agreement will automatically terminate upon a material breach - of its terms and conditions. - 7. Nothing in this License Agreement shall be deemed to create any relationship - of agency, partnership, or joint venture between PSF and Licensee. This - License Agreement does not grant permission to use PSF trademarks or trade - name in a trademark sense to endorse or promote products or services of - Licensee, or any third party. - 8. By copying, installing or otherwise using Python 2.7.1, Licensee agrees to - be bound by the terms and conditions of this License Agreement. - diff --git a/openlp/core/lib/mailto/__init__.py b/openlp/core/lib/mailto/__init__.py deleted file mode 100644 index f05ebfdee..000000000 --- a/openlp/core/lib/mailto/__init__.py +++ /dev/null @@ -1,321 +0,0 @@ -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 - -############################################################################### -# Utilities for opening files or URLs in the registered default application # -# and for sending e-mail using the user's preferred composer. # -# --------------------------------------------------------------------------- # -# Copyright (c) 2007 Antonio Valentino # -# All rights reserved. # -# --------------------------------------------------------------------------- # -# This program offered under the PSF License as published by the Python # -# Software Foundation. # -# # -# The license text can be found at http://docs.python.org/license.html # -# # -# This code is taken from: http://code.activestate.com/recipes/511443 # -# Modified for use in OpenLP # -############################################################################### - -__version__ = u'1.1' -__all__ = [u'open', u'mailto'] - -import os -import sys -import webbrowser -import subprocess - -from email.Utils import encode_rfc2231 - -_controllers = {} -_open = None - - -class BaseController(object): - """ - Base class for open program controllers. - """ - - def __init__(self, name): - self.name = name - - def open(self, filename): - raise NotImplementedError - - -class Controller(BaseController): - """ - Controller for a generic open program. - """ - - def __init__(self, *args): - super(Controller, self).__init__(os.path.basename(args[0])) - self.args = list(args) - - def _invoke(self, cmdline): - if sys.platform[:3] == u'win': - closefds = False - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - else: - closefds = True - startupinfo = None - - if (os.environ.get(u'DISPLAY') or sys.platform[:3] == u'win' or \ - sys.platform == u'darwin'): - inout = file(os.devnull, u'r+') - else: - # for TTY programs, we need stdin/out - inout = None - - # if possible, put the child precess in separate process group, - # so keyboard interrupts don't affect child precess as well as - # Python - setsid = getattr(os, u'setsid', None) - if not setsid: - setsid = getattr(os, u'setpgrp', None) - - pipe = subprocess.Popen(cmdline, stdin=inout, stdout=inout, - stderr=inout, close_fds=closefds, preexec_fn=setsid, - startupinfo=startupinfo) - - # It is assumed that this kind of tools (gnome-open, kfmclient, - # exo-open, xdg-open and open for OSX) immediately exit after lauching - # the specific application - returncode = pipe.wait() - if hasattr(self, u'fixreturncode'): - returncode = self.fixreturncode(returncode) - return not returncode - - def open(self, filename): - if isinstance(filename, basestring): - cmdline = self.args + [filename] - else: - # assume it is a sequence - cmdline = self.args + filename - try: - return self._invoke(cmdline) - except OSError: - return False - - -# Platform support for Windows -if sys.platform[:3] == u'win': - - class Start(BaseController): - """ - Controller for the win32 start progam through os.startfile. - """ - - def open(self, filename): - try: - os.startfile(filename) - except WindowsError: - # [Error 22] No application is associated with the specified - # file for this operation: '' - return False - else: - return True - - _controllers[u'windows-default'] = Start(u'start') - _open = _controllers[u'windows-default'].open - - -# Platform support for MacOS -elif sys.platform == u'darwin': - _controllers[u'open'] = Controller(u'open') - _open = _controllers[u'open'].open - - -# Platform support for Unix -else: - - import commands - - # @WARNING: use the private API of the webbrowser module - from webbrowser import _iscommand - - class KfmClient(Controller): - """ - Controller for the KDE kfmclient program. - """ - - def __init__(self, kfmclient=u'kfmclient'): - super(KfmClient, self).__init__(kfmclient, u'exec') - self.kde_version = self.detect_kde_version() - - def detect_kde_version(self): - kde_version = None - try: - info = commands.getoutput(u'kfmclient --version') - - for line in info.splitlines(): - if line.startswith(u'KDE'): - kde_version = line.split(u':')[-1].strip() - break - except (OSError, RuntimeError): - pass - - return kde_version - - def fixreturncode(self, returncode): - if returncode is not None and self.kde_version > u'3.5.4': - return returncode - else: - return os.EX_OK - - def detect_desktop_environment(): - """ - Checks for known desktop environments - - Return the desktop environments name, lowercase (kde, gnome, xfce) - or "generic" - """ - - desktop_environment = u'generic' - - if os.environ.get(u'KDE_FULL_SESSION') == u'true': - desktop_environment = u'kde' - elif os.environ.get(u'GNOME_DESKTOP_SESSION_ID'): - desktop_environment = u'gnome' - else: - try: - info = commands.getoutput(u'xprop -root _DT_SAVE_MODE') - if u' = "xfce4"' in info: - desktop_environment = u'xfce' - except (OSError, RuntimeError): - pass - - return desktop_environment - - - def register_X_controllers(): - if _iscommand(u'kfmclient'): - _controllers[u'kde-open'] = KfmClient() - - for command in (u'gnome-open', u'exo-open', u'xdg-open'): - if _iscommand(command): - _controllers[command] = Controller(command) - - - def get(): - controllers_map = { - u'gnome': u'gnome-open', - u'kde': u'kde-open', - u'xfce': u'exo-open', - } - - desktop_environment = detect_desktop_environment() - - try: - controller_name = controllers_map[desktop_environment] - return _controllers[controller_name].open - - except KeyError: - if _controllers.has_key(u'xdg-open'): - return _controllers[u'xdg-open'].open - else: - return webbrowser.open - - if os.environ.get(u'DISPLAY'): - register_X_controllers() - _open = get() - - -def open(filename): - """ - Open a file or an URL in the registered default application. - """ - - return _open(filename) - - -def _fix_addresses(**kwargs): - for headername in (u'address', u'to', u'cc', u'bcc'): - try: - headervalue = kwargs[headername] - if not headervalue: - del kwargs[headername] - continue - elif not isinstance(headervalue, basestring): - # assume it is a sequence - headervalue = u','.join(headervalue) - except KeyError: - pass - except TypeError: - raise TypeError(u'string or sequence expected for "%s", %s ' - u'found' % (headername, type(headervalue).__name__)) - else: - translation_map = {u'%': u'%25', u'&': u'%26', u'?': u'%3F'} - for char, replacement in translation_map.items(): - headervalue = headervalue.replace(char, replacement) - kwargs[headername] = headervalue - - return kwargs - - -def mailto_format(**kwargs): - """ - Compile mailto string from call parameters - """ - # @TODO: implement utf8 option - - kwargs = _fix_addresses(**kwargs) - parts = [] - for headername in (u'to', u'cc', u'bcc', u'subject', u'body', u'attach'): - if kwargs.has_key(headername): - headervalue = kwargs[headername] - if not headervalue: - continue - if headername in (u'address', u'to', u'cc', u'bcc'): - parts.append(u'%s=%s' % (headername, headervalue)) - else: - headervalue = encode_rfc2231(headervalue) # @TODO: check - parts.append(u'%s=%s' % (headername, headervalue)) - - mailto_string = u'mailto:%s' % kwargs.get(u'address', '') - if parts: - mailto_string = u'%s?%s' % (mailto_string, u'&'.join(parts)) - - return mailto_string - - -def mailto(address, to=None, cc=None, bcc=None, subject=None, body=None, - attach=None): - """ - Send an e-mail using the user's preferred composer. - - Open the user's preferred e-mail composer in order to send a mail to - address(es) that must follow the syntax of RFC822. Multiple addresses - may be provided (for address, cc and bcc parameters) as separate - arguments. - - All parameters provided are used to prefill corresponding fields in - the user's e-mail composer. The user will have the opportunity to - change any of this information before actually sending the e-mail. - - ``address`` - specify the destination recipient - - ``cc`` - specify a recipient to be copied on the e-mail - - ``bcc`` - specify a recipient to be blindly copied on the e-mail - - ``subject`` - specify a subject for the e-mail - - ``body`` - specify a body for the e-mail. Since the user will be able to make - changes before actually sending the e-mail, this can be used to provide - the user with a template for the e-mail text may contain linebreaks - - ``attach`` - specify an attachment for the e-mail. file must point to an existing - file - """ - - mailto_string = mailto_format(**locals()) - return open(mailto_string) - diff --git a/openlp/core/ui/exceptionform.py b/openlp/core/ui/exceptionform.py index 7a42d99cc..5f78eb4c3 100644 --- a/openlp/core/ui/exceptionform.py +++ b/openlp/core/ui/exceptionform.py @@ -56,7 +56,6 @@ except ImportError: SQLITE_VERSION = u'-' from openlp.core.lib import translate, SettingsManager -from openlp.core.lib.mailto import mailto from openlp.core.lib.ui import UiStrings from openlp.core.utils import get_application_version @@ -158,13 +157,13 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog): source = re.sub(r'.*[/\\]openlp[/\\](.*)".*', r'\1', line) if u':' in line: exception = line.split(u'\n')[-1].split(u':')[0] - subject = u'Bug report: %s in %s' % (exception, source) + mailto_url = QtCore.QUrl(u'mailto:bugs@openlp.org') + mailto_url.addQueryItem(u'subject', + u'Bug report: %s in %s' % (exception, source)) + mailto_url.addQueryItem(u'body', body % content) if self.fileAttachment: - mailto(address=u'bugs@openlp.org', subject=subject, - body=body % content, attach=self.fileAttachment) - else: - mailto(address=u'bugs@openlp.org', subject=subject, - body=body % content) + mailto_url.addQueryItem(u'attach', self.fileAttachment) + QtGui.QDesktopServices.openUrl(mailto_url) def onDescriptionUpdated(self): count = int(20 - len(self.descriptionTextEdit.toPlainText())) From 525658ae8b05566e91a600fb4c4bb7c09dbb642d Mon Sep 17 00:00:00 2001 From: M2j Date: Sat, 15 Oct 2011 23:21:22 +0200 Subject: [PATCH 49/72] better readable coding style --- openlp/core/ui/exceptionform.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/exceptionform.py b/openlp/core/ui/exceptionform.py index 5f78eb4c3..c5fc678e2 100644 --- a/openlp/core/ui/exceptionform.py +++ b/openlp/core/ui/exceptionform.py @@ -157,9 +157,9 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog): source = re.sub(r'.*[/\\]openlp[/\\](.*)".*', r'\1', line) if u':' in line: exception = line.split(u'\n')[-1].split(u':')[0] + subject = u'Bug report: %s in %s' % (exception, source) mailto_url = QtCore.QUrl(u'mailto:bugs@openlp.org') - mailto_url.addQueryItem(u'subject', - u'Bug report: %s in %s' % (exception, source)) + mailto_url.addQueryItem(u'subject', subject) mailto_url.addQueryItem(u'body', body % content) if self.fileAttachment: mailto_url.addQueryItem(u'attach', self.fileAttachment) From 8ebf7ff131ff120354d8dcb018c8aa19348712c2 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 16 Oct 2011 08:59:21 +0100 Subject: [PATCH 50/72] Finish dynamic Alert updates --- openlp/core/ui/maindisplay.py | 4 +++- openlp/plugins/alerts/alertsplugin.py | 11 +++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 8c4ba2eba..5e9077e2f 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -132,7 +132,9 @@ class MainDisplay(QtGui.QGraphicsView): self.screen[u'size'].width(), self.screen[u'size'].height()) self.page = self.webView.page() self.frame = self.page.mainFrame() - self.webView.settings().setAttribute(7, True) + if self.isLive and log.getEffectiveLevel() == logging.DEBUG: + self.webView.settings().setAttribute( + QtWebKit.QWebSettings.DeveloperExtrasEnabled, True) QtCore.QObject.connect(self.webView, QtCore.SIGNAL(u'loadFinished(bool)'), self.isWebLoaded) self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 057c1075f..461525a70 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -71,10 +71,9 @@ JAVASCRIPT = """ function update_css(align, font, size, color, bgcolor){ var text = document.getElementById('alert'); - alert("Hello"); - document.getElementById('alert').style.verticalalign = align; - text.style.fontfamily = font; - text.style.size = size; + text.style.verticalAlign = align; + text.style.fontSize = size + "pt"; + text.style.fontFamily = font; text.style.color = color; text.style.backgroundColor = bgcolor; } @@ -194,6 +193,6 @@ class AlertsPlugin(Plugin): def refreshCss(self, frame): align = VerticalType.Names[self.settings_tab.location] - frame.evaluateJavaScript(u'update_css("%s,%s,%s,%s,%s")' % (align, - self.settings_tab.font_face, self.settings_tab.font_size, + frame.evaluateJavaScript(u'update_css("%s", "%s", "%s", "%s", "%s")' % + (align, self.settings_tab.font_face, self.settings_tab.font_size, self.settings_tab.font_color, self.settings_tab.bg_color)) From 2f36c33f621496d0850668ca734170357e3cd874 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 16 Oct 2011 09:25:27 +0100 Subject: [PATCH 51/72] Review fixes --- openlp/core/lib/htmlbuilder.py | 2 +- openlp/core/lib/plugin.py | 8 ++++---- openlp/plugins/alerts/alertsplugin.py | 3 +-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index 7d91195a7..863943e40 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -338,7 +338,7 @@ def build_html(item, screen, islive, background, image=None, html = HTMLSRC % (build_background_css(item, width, height), width, height, css_additions, - build_footer_css(item, height), + build_footer_css(item, height), build_lyrics_css(item, webkitvers), u'true' if theme and theme.display_slide_transition and islive \ else u'false', diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index 9a5d2d547..ad6f77116 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -371,25 +371,25 @@ class Plugin(QtCore.QObject): def getDisplayCss(self): """ - Add css style sheets to htmlbuilder + Add css style sheets to htmlbuilder. """ return u'' def getDisplayJavaScript(self): """ - Add javascript functions to htmlbuilder + Add javascript functions to htmlbuilder. """ return u'' def refreshCss(self, frame): """ - Allow plugins to refresh javascript of displayed screen + Allow plugins to refresh javascript on displayed screen. """ return u'' def getDisplayHtml(self): """ - Add html code to htmlbuilder + Add html code to htmlbuilder. """ return u'' diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 461525a70..594649e53 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -183,10 +183,9 @@ class AlertsPlugin(Plugin): def getDisplayCss(self): align = VerticalType.Names[self.settings_tab.location] - alert = CSS % (align, self.settings_tab.font_face, + return CSS % (align, self.settings_tab.font_face, self.settings_tab.font_size, self.settings_tab.font_color, self.settings_tab.bg_color) - return alert def getDisplayHtml(self): return HTML From a75e0156cc50d0b3ab1fee1f5148b97692c22178 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sun, 16 Oct 2011 16:40:46 +0200 Subject: [PATCH 52/72] fixed docstrings --- openlp/core/lib/renderer.py | 8 ++++---- openlp/core/lib/serviceitem.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/openlp/core/lib/renderer.py b/openlp/core/lib/renderer.py index 71670ff21..02f6970ac 100644 --- a/openlp/core/lib/renderer.py +++ b/openlp/core/lib/renderer.py @@ -57,14 +57,14 @@ class Renderer(object): def __init__(self, imageManager, themeManager): """ - Initialise the render manager. + Initialise the renderer. ``imageManager`` - A ImageManager instance which takes care of e. g. caching and resizing + A imageManager instance which takes care of e. g. caching and resizing images. ``themeManager`` - The ThemeManager instance, used to get the current theme details. + The themeManager instance, used to get the current theme details. """ log.debug(u'Initialisation started') self.themeManager = themeManager @@ -81,7 +81,7 @@ class Renderer(object): def update_display(self): """ - Updates the render manager's information about the current screen. + Updates the renderer's information about the current screen. """ log.debug(u'Update Display') self._calculate_default() diff --git a/openlp/core/lib/serviceitem.py b/openlp/core/lib/serviceitem.py index 6dff9f6ab..0eb0c866f 100644 --- a/openlp/core/lib/serviceitem.py +++ b/openlp/core/lib/serviceitem.py @@ -159,8 +159,8 @@ class ServiceItem(object): def render(self, use_override=False): """ The render method is what generates the frames for the screen and - obtains the display information from the renderemanager. At this point - all the slides are built for the given display size. + obtains the display information from the renderer. At this point all + slides are built for the given display size. """ log.debug(u'Render called') self._display_frames = [] From 004472baa8a0848382b253522f9162b29ec68bcd Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sun, 16 Oct 2011 16:53:39 +0200 Subject: [PATCH 53/72] reverted alert change --- openlp/core/ui/maindisplay.py | 14 +++++--------- openlp/plugins/alerts/lib/alertsmanager.py | 3 +-- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 3edab4a6e..d57b7ec5a 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -191,17 +191,14 @@ class MainDisplay(QtGui.QGraphicsView): def alert(self, text): """ - Add the alert text. If the alert was not displayed, because the screen - is not visible ``False`` is returned, otherwise ``True``. + Display an alert. - ``slide`` - The slide text to be displayed. + ``text`` + The text to be displayed. """ log.debug(u'alert to display') - if not self.isVisible(): - return False - if self.height() != self.screen[u'size'].height() or \ - self.videoWidget.isVisible(): + if self.height() != self.screen[u'size'].height() or not \ + self.isVisible() or self.videoWidget.isVisible(): shrink = True js = u'show_alert("%s", "%s")' % ( text.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"'), @@ -229,7 +226,6 @@ class MainDisplay(QtGui.QGraphicsView): else: shrinkItem.setVisible(False) self.setGeometry(self.screen[u'size']) - return True def directImage(self, name, path, background): """ diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index b38415158..dcf3acafe 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -85,8 +85,7 @@ class AlertsManager(QtCore.QObject): return text = self.alertList.pop(0) alertTab = self.parent().settings_tab - if not self.parent().liveController.display.alert(text): - self.alertList.insert(0, text) + self.parent().liveController.display.alert(text) # Check to see if we have a timer running. if self.timer_id == 0: self.timer_id = self.startTimer(int(alertTab.timeout) * 1000) From bf2ada0b670679b17ff84700804de16606193165 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 16 Oct 2011 16:39:49 +0100 Subject: [PATCH 54/72] Fix up review comments --- openlp/core/lib/eventreceiver.py | 5 +++++ openlp/core/lib/pluginmanager.py | 3 +++ openlp/core/ui/maindisplay.py | 2 +- openlp/plugins/alerts/alertsplugin.py | 15 +++++++++++++++ openlp/plugins/alerts/lib/alertstab.py | 2 +- 5 files changed, 25 insertions(+), 2 deletions(-) diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index 1b957e5df..ef21ffde4 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -219,6 +219,11 @@ class EventReceiver(QtCore.QObject): ``cursor_normal`` Resets the cursor to default + + ``maindisplay_css_updated`` + CSS has been updated which needs to be changed on the main display. + + """ def __init__(self): """ diff --git a/openlp/core/lib/pluginmanager.py b/openlp/core/lib/pluginmanager.py index 4b706a4c6..277842167 100644 --- a/openlp/core/lib/pluginmanager.py +++ b/openlp/core/lib/pluginmanager.py @@ -44,6 +44,9 @@ class PluginManager(object): @staticmethod def get_instance(): + """ + Obtain a single instance of class. + """ return PluginManager.instance def __init__(self, plugin_dir): diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 5e9077e2f..01b616d9d 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -82,7 +82,7 @@ class MainDisplay(QtGui.QGraphicsView): QtCore.SIGNAL(u'openlp_phonon_creation'), self.createMediaObject) QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'css_update'), self.cssChanged) + QtCore.SIGNAL(u'maindisplay_css_updated'), self.cssChanged) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'config_updated'), self.configChanged) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 594649e53..b5a6de8c7 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -179,18 +179,33 @@ class AlertsPlugin(Plugin): } def getDisplayJavaScript(self): + """ + Add Javascript to the main display. + """ return JAVASCRIPT def getDisplayCss(self): + """ + Add CSS to the main display. + """ align = VerticalType.Names[self.settings_tab.location] return CSS % (align, self.settings_tab.font_face, self.settings_tab.font_size, self.settings_tab.font_color, self.settings_tab.bg_color) def getDisplayHtml(self): + """ + Add HTML to the main display. + """ return HTML def refreshCss(self, frame): + """ + Trigger an update of the CSS in the maindisplay. + + `frame` + The Web frame holding the page + """ align = VerticalType.Names[self.settings_tab.location] frame.evaluateJavaScript(u'update_css("%s", "%s", "%s", "%s", "%s")' % (align, self.settings_tab.font_face, self.settings_tab.font_size, diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 8d709a3b8..3cf3c0ab3 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -191,7 +191,7 @@ class AlertsTab(SettingsTab): settings.setValue(u'location', QtCore.QVariant(self.location)) settings.endGroup() if self.changed: - Receiver.send_message(u'css_update') + Receiver.send_message(u'maindisplay_css_updated') self.changed = False def updateDisplay(self): From 13ff2faf182542cdb7291857fe75e97606dbcd9c Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sun, 16 Oct 2011 22:32:50 +0200 Subject: [PATCH 55/72] fixed ticket 299 --- openlp/plugins/songs/lib/easislidesimport.py | 2 +- openlp/plugins/songs/lib/sofimport.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/lib/easislidesimport.py b/openlp/plugins/songs/lib/easislidesimport.py index 6d3bde025..a3dd553f1 100644 --- a/openlp/plugins/songs/lib/easislidesimport.py +++ b/openlp/plugins/songs/lib/easislidesimport.py @@ -258,7 +258,7 @@ class EasiSlidesImport(SongImport): verses[reg][vt][vn] = {} if not verses[reg][vt][vn].has_key(inst): verses[reg][vt][vn][inst] = [] - words = self.tidy_text(line) + words = self.tidyText(line) verses[reg][vt][vn][inst].append(words) # done parsing diff --git a/openlp/plugins/songs/lib/sofimport.py b/openlp/plugins/songs/lib/sofimport.py index 6294f211e..5f310dba0 100644 --- a/openlp/plugins/songs/lib/sofimport.py +++ b/openlp/plugins/songs/lib/sofimport.py @@ -194,7 +194,7 @@ class SofImport(OooImport): into line """ text = textportion.getString() - text = self.tidy_text(text) + text = self.tidyText(text) if text.strip() == u'': return text if textportion.CharWeight == BOLD: From bdcf15d87ba305e5bf389cf36c9e29ebc9412196 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Mon, 17 Oct 2011 19:01:07 +0100 Subject: [PATCH 56/72] Fix comments --- openlp/core/lib/plugin.py | 3 +++ openlp/plugins/alerts/alertsplugin.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/openlp/core/lib/plugin.py b/openlp/core/lib/plugin.py index ad6f77116..0d925f582 100644 --- a/openlp/core/lib/plugin.py +++ b/openlp/core/lib/plugin.py @@ -384,6 +384,9 @@ class Plugin(QtCore.QObject): def refreshCss(self, frame): """ Allow plugins to refresh javascript on displayed screen. + + ``frame`` + The Web frame holding the page. """ return u'' diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index b5a6de8c7..213c6814f 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -203,8 +203,8 @@ class AlertsPlugin(Plugin): """ Trigger an update of the CSS in the maindisplay. - `frame` - The Web frame holding the page + ``frame`` + The Web frame holding the page. """ align = VerticalType.Names[self.settings_tab.location] frame.evaluateJavaScript(u'update_css("%s", "%s", "%s", "%s", "%s")' % From 4d3dd6dbb5f5e73a19f81da96de0dfd0d6a0c541 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Wed, 19 Oct 2011 18:53:07 +0100 Subject: [PATCH 57/72] Rename signal --- openlp/core/lib/eventreceiver.py | 3 +-- openlp/core/ui/maindisplay.py | 2 +- openlp/plugins/alerts/lib/alertstab.py | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index ef21ffde4..2d4134ee3 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -219,8 +219,7 @@ class EventReceiver(QtCore.QObject): ``cursor_normal`` Resets the cursor to default - - ``maindisplay_css_updated`` + ``update_display_css`` CSS has been updated which needs to be changed on the main display. diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 01b616d9d..dafda8ccf 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -82,7 +82,7 @@ class MainDisplay(QtGui.QGraphicsView): QtCore.SIGNAL(u'openlp_phonon_creation'), self.createMediaObject) QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'maindisplay_css_updated'), self.cssChanged) + QtCore.SIGNAL(u'update_display_css'), self.cssChanged) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'config_updated'), self.configChanged) diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 3cf3c0ab3..8720c5111 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -191,7 +191,7 @@ class AlertsTab(SettingsTab): settings.setValue(u'location', QtCore.QVariant(self.location)) settings.endGroup() if self.changed: - Receiver.send_message(u'maindisplay_css_updated') + Receiver.send_message(u'update_display_css') self.changed = False def updateDisplay(self): From 3980b92dafff58006797e182f7eb7e542cbbc1da Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Wed, 19 Oct 2011 20:12:38 +0200 Subject: [PATCH 58/72] updated ts files --- resources/i18n/af.ts | 426 ++++++++++++++++++--------------- resources/i18n/cs.ts | 426 ++++++++++++++++++--------------- resources/i18n/de.ts | 432 ++++++++++++++++++--------------- resources/i18n/en.ts | 426 ++++++++++++++++++--------------- resources/i18n/en_GB.ts | 426 ++++++++++++++++++--------------- resources/i18n/en_ZA.ts | 426 ++++++++++++++++++--------------- resources/i18n/es.ts | 428 ++++++++++++++++++--------------- resources/i18n/et.ts | 426 ++++++++++++++++++--------------- resources/i18n/fr.ts | 426 ++++++++++++++++++--------------- resources/i18n/hu.ts | 426 ++++++++++++++++++--------------- resources/i18n/id.ts | 514 ++++++++++++++++++++++------------------ resources/i18n/ja.ts | 426 ++++++++++++++++++--------------- resources/i18n/ko.ts | 428 ++++++++++++++++++--------------- resources/i18n/nb.ts | 426 ++++++++++++++++++--------------- resources/i18n/nl.ts | 426 ++++++++++++++++++--------------- resources/i18n/pt_BR.ts | 426 ++++++++++++++++++--------------- resources/i18n/ru.ts | 426 ++++++++++++++++++--------------- resources/i18n/sv.ts | 466 +++++++++++++++++++----------------- resources/i18n/zh_CN.ts | 426 ++++++++++++++++++--------------- 19 files changed, 4497 insertions(+), 3735 deletions(-) diff --git a/resources/i18n/af.ts b/resources/i18n/af.ts index d78137981..5861778b1 100644 --- a/resources/i18n/af.ts +++ b/resources/i18n/af.ts @@ -412,38 +412,38 @@ Veranderinge affekteer nie verse wat reeds in die diens is nie. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Registreer Bybel en laai boeke... - + Registering Language... Taal registrasie... - + Importing %s... Importing <book name>... Voer %s in... - + Download Error Aflaai Fout - + 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. Daar was 'n probleem om die vers seleksie af te laai. Gaan die Internet konneksie na en as hierdie probleem voortduur, oorweeg dit asseblief om 'n gogga te rapporteer. - + Parse Error Ontleed Fout - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Daar was 'n probleem om die vers seleksie te onttrek. As hierdie probleem voortduur, oorweeg dit asseblief om 'n gogga te rapporteer. @@ -546,27 +546,27 @@ Veranderinge affekteer nie verse wat reeds in die diens is nie. 'n Lêer met Bybel verse moet gespesifiseer word om in te voer. - + You need to specify a version name for your Bible. 'n Weergawe naam moet vir die Bybel gespesifiseer word. - + Bible Exists Bybel Bestaan reeds - + Your Bible import failed. Die Bybel invoer het misluk. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Die Bybel benodig 'n kopiereg. Bybels in die Publieke Domein moet daarvolgens gemerk word. - + This Bible already exists. Please import a different Bible or first delete the existing one. Hierdie Bybel bestaan reeds. Voer asseblief 'n ander Bybel in of wis eers die bestaande een uit. @@ -576,7 +576,7 @@ Veranderinge affekteer nie verse wat reeds in die diens is nie. Toestemming: - + CSV File KGW Lêer @@ -601,17 +601,17 @@ Veranderinge affekteer nie verse wat reeds in die diens is nie. Verse lêer: - + openlp.org 1.x Bible Files openlp.org 1.x Bybel Lêers - + Registering Bible... Bybel word geregistreer... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Geregistreerde Bybel. Neem asseblief kennis dat verse op aan- @@ -1113,7 +1113,7 @@ word en dus is 'n Internet verbinding nodig. ImagePlugin.ExceptionDialog - + Select Attachment Selekteer Aanhangsel @@ -1166,17 +1166,17 @@ Voeg steeds die ander beelde by? ImagesPlugin.ImageTab - + Background Color Agtergrond Kleur - + Default Color: Verstek Kleur: - + Provides border where image is not the correct dimensions for the screen when resized. Verskaf rand waar die beeld nie die korrekte afmetings het wanneer vir die skerm verander word nie. @@ -1250,7 +1250,7 @@ Voeg steeds die ander beelde by? Selekteer Media - + You must select a media file to delete. 'n Media lêer om uit te wis moet geselekteer word. @@ -1634,7 +1634,7 @@ Gedeeltelike kopiereg © 2004-2011 %s Heg 'n Lêer aan - + Description characters to enter : %s Beskrywende karakters om in te voer: %s @@ -1642,24 +1642,24 @@ Gedeeltelike kopiereg © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Platvorm: %s - + Save Crash Report Stoor Bots Verslag - + Text files (*.txt *.log *.text) Teks lêers (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1690,7 +1690,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2802,7 +2802,7 @@ Databasis: %s OpenLP.MediaManagerItem - + No Items Selected Geen item geselekteer nie @@ -2812,42 +2812,42 @@ Databasis: %s &Voeg by die geselekteerde Diens item - + You must select one or more items to preview. Kies een of meer items vir die voorskou. - + You must select one or more items to send live. Kies een of meer items vir regstreekse uitsending. - + You must select one or more items. Kies een of meer items. - + You must select an existing service item to add to. 'n Bestaande diens item moet geselekteer word om by by te voeg. - + Invalid Service Item Ongeldige Diens Item - + You must select a %s service item. Kies 'n %s diens item. - + You must select one or more items to add. Kies een of meer items om by te voeg. - + No Search Results Geen Soek Resultate @@ -3023,12 +3023,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>Begin</strong>: %s - + <strong>Length</strong>: %s <strong>Durasie</strong>: %s @@ -3044,209 +3044,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Skuif boon&toe - + Move item to the top of the service. Skuif item tot heel bo in die diens. - + Move &up Sk&uif op - + Move item up one position in the service. Skuif item een posisie boontoe in die diens. - + Move &down Skuif &af - + Move item down one position in the service. Skuif item een posisie af in die diens. - + Move to &bottom Skuif &tot heel onder - + Move item to the end of the service. Skuif item tot aan die einde van die diens. - + &Delete From Service Wis uit vanaf die &Diens - + Delete the selected item from the service. Wis geselekteerde item van die diens af. - + &Add New Item &Voeg Nuwe Item By - + &Add to Selected Item &Voeg by Geselekteerde Item - + &Edit Item R&edigeer Item - + &Reorder Item Ve&rander Item orde - + &Notes &Notas - + &Change Item Theme &Verander Item Tema - + File is not a valid service. The content encoding is not UTF-8. Lêer is nie 'n geldige diens nie. Die inhoud enkodering is nie UTF-8 nie. - + File is not a valid service. Lêer is nie 'n geldige diens nie. - + Missing Display Handler Vermisde Vertoon Hanteerder - + Your item cannot be displayed as there is no handler to display it Die item kan nie vertoon word nie omdat daar nie 'n hanteerder is om dit te vertoon nie - + Your item cannot be displayed as the plugin required to display it is missing or inactive Die item kan nie vertoon word nie omdat die mini-program wat dit moet vertoon vermis of onaktief is - + &Expand all Br&ei alles uit - + Expand all the service items. Brei al die diens items uit. - + &Collapse all Sto&rt alles ineen - + Collapse all the service items. Stort al die diens items ineen. - + Open File Maak Lêer oop - + OpenLP Service Files (*.osz) OpenLP Diens Lêers (*.osz) - + Moves the selection down the window. Skuif die geselekteerde afwaarts in die venster. - + Move up Skuif op - + Moves the selection up the window. Skuif die geselekteerde opwaarts in die venster. - + Go Live Gaan Regstreeks - + Send the selected item to Live. Stuur die geselekteerde item Regstreeks. - + Modified Service Redigeer Diens - + &Start Time &Begin Tyd - + Show &Preview Wys &Voorskou - + Show &Live Vertoo&n Regstreeks - + The current service has been modified. Would you like to save this service? Die huidige diens was verander. Stoor hierdie diens? - + File could not be opened because it is corrupt. Lêer kon nie oopgemaak word nie omdat dit korrup is. - + Empty File Leë Lêer - + This service file does not contain any data. Die diens lêer het geen data inhoud nie. - + Corrupt File Korrupte Lêer @@ -3266,42 +3266,42 @@ Die inhoud enkodering is nie UTF-8 nie. Speel tyd: - + Untitled Service Ongetitelde Diens - + Load an existing service. Laai 'n bestaande diens. - + Save this service. Stoor die diens. - + Select a theme for the service. Kies 'n tema vir die diens. - + This file is either corrupt or it is not an OpenLP 2.0 service file. Die lêer is óf korrup óf is nie 'n OpenLP 2.0 diens lêer nie. - + Slide theme Skyfie tema - + Notes Notas - + Service File Missing Diens Lêer Vermis @@ -3428,17 +3428,17 @@ Die inhoud enkodering is nie UTF-8 nie. Volgende Skyfie - + Previous Service Vorige Diens - + Next Service Volgende Diens - + Escape Item Ontsnap Item @@ -3558,36 +3558,51 @@ Die inhoud enkodering is nie UTF-8 nie. Start time is after the finish time of the media item Begin tyd is na die eind tyd van die media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Selekteer Beeld - + Theme Name Missing Tema Naam Vermis - + There is no name for this theme. Please enter one. Daar is nie 'n naam vir hierdie tema nie. Voer asseblief een in. - + Theme Name Invalid Tema Naam Ongeldig - + Invalid theme name. Please enter one. Ongeldige tema naam. Voer asseblief een in. - + (approximately %d lines per slide) (ongeveer %d lyne per skyfie) @@ -3665,7 +3680,7 @@ Die inhoud enkodering is nie UTF-8 nie. Kies 'n tema om te redigeer. - + You are unable to delete the default theme. Die standaard tema kan nie uitgewis word nie. @@ -3705,19 +3720,19 @@ Die inhoud enkodering is nie UTF-8 nie. Kies Tema Invoer Lêer - + File is not a valid theme. The content encoding is not UTF-8. Lêer is nie 'n geldige tema nie. Die inhoud enkodering is nie UTF-8 nie. - + File is not a valid theme. Lêer is nie 'n geldige tema nie. - + Theme %s is used in the %s plugin. Tema %s is in gebruik deur die %s mini-program. @@ -3767,12 +3782,12 @@ Die inhoud enkodering is nie UTF-8 nie. Wis %s tema uit? - + Validation Error Validerings Fout - + A theme with this name already exists. 'n Tema met hierdie naam bestaan alreeds. @@ -3791,260 +3806,270 @@ Die inhoud enkodering is nie UTF-8 nie. OpenLP.ThemeWizard - + Theme Wizard Tema Gids - + Welcome to the Theme Wizard Welkom by die Tema Gids - + Set Up Background Stel die Agtergrond Op - + Set up your theme's background according to the parameters below. Stel jou tema se agtergrond op volgens die parameters hier onder. - + Background type: Agtergrond tipe: - + Solid Color Soliede Kleur - + Gradient Gradiënt - + Color: Kleur: - + Gradient: Gradiënt: - + Horizontal Horisontaal - + Vertical Vertikaal - + Circular Sirkelvormig - + Top Left - Bottom Right Links Bo - Regs Onder - + Bottom Left - Top Right Links Onder - Regs Bo - + Main Area Font Details Hoof Area Skrif Gegewens - + Define the font and display characteristics for the Display text Definieër die skrif en vertoon karrakters vir die Vertoon teks - + Font: Skrif: - + Size: Grootte: - + Line Spacing: Lyn Spasiëring: - + &Outline: &Buitelyn: - + &Shadow: &Skaduwee: - + Bold Vetdruk - + Italic Italiaans - + Footer Area Font Details Voetskrif Area Skrif Gegewens - + Define the font and display characteristics for the Footer text Definieër die skrif en vertoon karraktereienskappe vir die Voetskrif teks - + Text Formatting Details Teks Formattering Gegewens - + Allows additional display formatting information to be defined Laat toe dat addisionele vertoon formattering inligting gedifinieër word - + Horizontal Align: Horisontale Sporing: - + Left Links - + Right Regs - + Center Middel - + Output Area Locations Uitvoer Area Liggings - + Allows you to change and move the main and footer areas. Laat toe dat die hoof en voetskrif areas verander en geskuif word. - + &Main Area &Hoof Area - + &Use default location Gebr&uik verstek ligging - + X position: X posisie: - + px px - + Y position: Y posisie: - + Width: Wydte: - + Height: Hoogte: - + Use default location Gebruik verstek ligging - + Save and Preview Stoor en Voorskou - + View the theme and save it replacing the current one or change the name to create a new theme Besigtig die tema en stoor dit waarna die huidige een vervang, of verander die naam om 'n nuwe een te skep - + Theme name: Tema naam: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. Hierdie gids sal help om temas te skep en te redigeer. Klik die volgende knoppie hieronder om die proses te begin deur jou agtergrond op te stel. - + Transitions: Oorskakel effekte: - + &Footer Area &Voetskrif Area - + Edit Theme - %s Redigeer Tema - %s - + Starting color: Begin Kleur: - + Ending color: Eind Kleur: - + Background color: Agtergrond kleur: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4689,52 +4714,52 @@ Die inhoud enkodering is nie UTF-8 nie. PresentationPlugin.MediaItem - + Select Presentation(s) Selekteer Aanbieding(e) - + Automatic Outomaties - + Present using: Bied aan met: - + File Exists Lêer Bestaan Reeds - + A presentation with that filename already exists. 'n Aanbieding met daardie lêernaam bestaan reeds. - + This type of presentation is not supported. Hierdie tipe aanbieding word nie ondersteun nie. - + Presentations (%s) Aanbiedinge (%s) - + Missing Presentation Vermisde Aanbieding - + The Presentation %s no longer exists. Die Aanbieding %s bestaan nie meer nie. - + The Presentation %s is incomplete, please reload. Die Aanbieding %s is onvolledig, herlaai asseblief. @@ -4879,30 +4904,35 @@ Die inhoud enkodering is nie UTF-8 nie. RemotePlugin.RemoteTab - + Serve on IP address: Bedien op hierdie IP adres: - + Port number: Poort nommer: - + Server Settings Bediener Verstellings - + Remote URL: Afgeleë URL: - + Stage view URL: Verhoog vertoning URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4993,7 +5023,7 @@ Die inhoud enkodering is nie UTF-8 nie. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Wis Lied Gebruik Data Uit @@ -5018,7 +5048,7 @@ Die inhoud enkodering is nie UTF-8 nie. Al die gevraagde data is suksesvol uitgewis. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. Selekteer die datum tot waarop die liedere gebruik uitgewis moet word. Alle opgeneemde data voor hierdie datum sal permanent verwyder word. @@ -5638,7 +5668,7 @@ Die enkodering is verantwoordelik vir die korrekte karrakter voorstelling. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files Selekteer Dokument/Aanbieding Lêers @@ -5653,95 +5683,105 @@ Die enkodering is verantwoordelik vir die korrekte karrakter voorstelling.Hierdie gids help met die invoer van liedere in verskillende formate. Kliek die volgende knoppie hieronder om die proses te begin deur 'n formaat te kies wat gebruik moet word vir invoer. - + Generic Document/Presentation Generiese Dokumentasie/Aanbieding - + Filename: Lêernaam: - + Add Files... Voeg Lêers by... - + Remove File(s) Verwyder Lêer(s) - + Please wait while your songs are imported. Wag asseblief terwyl die liedere ingevoer word. - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. Die OpenLyrics invoerder is nog nie ontwikkel nie, maar soos gesien kan word is ons van mening om dit te doen. Hopelik sal dit in die volgende vrystelling wees. - + OpenLP 2.0 Databases OpenLP 2.0 Databasisse - + openlp.org v1.x Databases openlp.org v1.x Databasisse - + Words Of Worship Song Files Words Of Worship Lied Lêers - + Songs Of Fellowship Song Files Songs Of Fellowship Lied Lêers - + SongBeamer Files SongBeamer Lêers - + SongShow Plus Song Files SongShow Plus Lied Lêers - + You need to specify at least one document or presentation file to import from. Ten minste een document of aanbieding moet gespesifiseer word om vanaf in te voer. - + Foilpresenter Song Files Foilpresenter Lied Lêers - + Copy Kopieër - + Save to File Stoor na Lêer - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. Die Liedere van Volgelinge invoerder is onaktief gestel omdat OpenLP nie toegang tot OpenOffice of LibreOffice het nie. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. Die generiese dokument/aanbieding invoerder is onaktief gestel omdat OpenLP nie toegang tot OpenOffice of LibreOffice het nie. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5769,7 +5809,7 @@ Die enkodering is verantwoordelik vir die korrekte karrakter voorstelling.Lirieke - + CCLI License: CCLI Lisensie: @@ -5792,7 +5832,7 @@ Die enkodering is verantwoordelik vir die korrekte karrakter voorstelling.Onderhou die lys van skrywers, onderwerpe en boeke. - + copy For song cloning kopieër @@ -5817,7 +5857,7 @@ Die enkodering is verantwoordelik vir die korrekte karrakter voorstelling. SongsPlugin.OpenLyricsExport - + Exporting "%s"... Uitvoer "%s"... @@ -5889,7 +5929,7 @@ Die enkodering is verantwoordelik vir die korrekte karrakter voorstelling. SongsPlugin.SongImportForm - + Your song import failed. Lied invoer het misluk. diff --git a/resources/i18n/cs.ts b/resources/i18n/cs.ts index 919f1c48f..6f63fdeda 100644 --- a/resources/i18n/cs.ts +++ b/resources/i18n/cs.ts @@ -412,38 +412,38 @@ Verše, které jsou už ve službě, nejsou změnami ovlivněny. BiblesPlugin.HTTPBible - + Registering Bible and loading books... - + Registering Language... - + Importing %s... Importing <book name>... - + Download Error Chyba stahování - + 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. Při stahování výběru veršů se vyskytl problém. Prosím prověřte své internetové připojení. Pokud se tato chyba stále objevuje, zvašte prosím nahlášení chyby. - + Parse Error Chyba zpracování - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Při rozbalování výběru veršů se vyskytl problém. Pokud se tato chyba stále objevuje, zvašte prosím nahlášení chyby. @@ -546,32 +546,32 @@ Verše, které jsou už ve službě, nejsou změnami ovlivněny. K importu je třeba určit soubor s veršemi Bible. - + You need to specify a version name for your Bible. Je nutno uvést název verze Bible. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. K Bibli je potřeba nastavit autorská práva. Bible, které jsou volná díla, je nutno takto označit. - + Bible Exists Bible existuje - + This Bible already exists. Please import a different Bible or first delete the existing one. Tato Bible už existuje. Importujte prosím jinou Bibli nebo nejdříve smažte tu existující. - + Your Bible import failed. Import Bible selhal. - + CSV File CSV soubor @@ -601,17 +601,17 @@ Verše, které jsou už ve službě, nejsou změnami ovlivněny. Soubor s verši: - + openlp.org 1.x Bible Files Soubory s Biblemi z openlp.org 1.x - + Registering Bible... Registruji Bibli... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Bible registrovaná. Upozornění: Verše budou stahovány na vyžádání a proto je vyžadováno internetové připojení. @@ -1106,7 +1106,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I ImagePlugin.ExceptionDialog - + Select Attachment Vybrat přílohu @@ -1159,17 +1159,17 @@ Chcete přidat ostatní obrázky? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1243,7 +1243,7 @@ Chcete přidat ostatní obrázky? Vybrat médium - + You must select a media file to delete. Ke smazání musíte nejdříve vybrat soubor s médiem. @@ -1626,7 +1626,7 @@ Portions copyright © 2004-2011 %s Přiložit soubor - + Description characters to enter : %s Znaky popisu pro vložení : %s @@ -1634,24 +1634,24 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Platforma: %s - + Save Crash Report Uložit hlášení o pádu - + Text files (*.txt *.log *.text) Textové soubory (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1682,7 +1682,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2780,7 +2780,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected Nevybraná zádná položka @@ -2790,42 +2790,42 @@ Database: %s &Přidat k vybrané Položce Služby - + You must select one or more items to preview. Pro náhled je třeba vybrat jednu nebo více položek. - + You must select one or more items to send live. Pro zobrazení naživo je potřeba vybrat jednu nebo více položek. - + You must select one or more items. Je třeba vybrat jednu nebo více položek. - + You must select an existing service item to add to. K přidání Je třeba vybrat existující položku služby. - + Invalid Service Item Neplatná Položka služby - + You must select a %s service item. Je třeba vybrat %s položku služby. - + You must select one or more items to add. Pro přidání Je třeba vybrat jednu nebo více položek. - + No Search Results Žádné výsledky hledání @@ -3001,12 +3001,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s - + <strong>Length</strong>: %s @@ -3022,209 +3022,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Přesun &nahoru - + Move item to the top of the service. Přesun položky ve službě úplně nahoru. - + Move &up Přesun &výše - + Move item up one position in the service. Přesun položky ve službě o jednu pozici výše. - + Move &down P?esun &níže - + Move item down one position in the service. P?esun položky ve služb? o jednu pozici níže. - + Move to &bottom Přesun &dolu - + Move item to the end of the service. Přesun položky ve službě úplně dolů. - + &Delete From Service &Smazat ze služby - + Delete the selected item from the service. Smazat vybranou položku ze služby. - + &Add New Item &Přidat novou položku - + &Add to Selected Item &Přidat k vybrané položce - + &Edit Item &Upravit položku - + &Reorder Item &Změnit pořadí položky - + &Notes &Poznámky - + &Change Item Theme &Změnit motiv položky - + OpenLP Service Files (*.osz) Soubory služby OpenLP (*.osz) - + File is not a valid service. The content encoding is not UTF-8. Soubor není platná služba. Obsah souboru není v kódování UTF-8. - + File is not a valid service. Soubor není platná služba. - + Missing Display Handler Chybějící obsluha zobrazení - + Your item cannot be displayed as there is no handler to display it Položku není možno zobrazit, protože chybí obsluha pro její zobrazení - + Your item cannot be displayed as the plugin required to display it is missing or inactive Položku není možno zobrazit, protože modul potřebný pro zobrazení položky chybí nebo je neaktivní - + &Expand all &Rozvinou vše - + Expand all the service items. Rozvinout všechny položky služby. - + &Collapse all &Svinout vše - + Collapse all the service items. Svinout všechny položky služby. - + Open File Otevřít soubor - + Moves the selection down the window. Přesune výběr v rámci okna dolu. - + Move up Přesun nahoru - + Moves the selection up the window. Přesune výběr v rámci okna nahoru. - + Go Live Zobrazit naživo - + Send the selected item to Live. Zobrazí vybranou položku naživo. - + &Start Time &Spustit čas - + Show &Preview Zobrazit &náhled - + Show &Live Zobrazit n&aživo - + Modified Service Změněná služba - + The current service has been modified. Would you like to save this service? Současná služba byla změněna. Přejete si službu uložit? - + File could not be opened because it is corrupt. Soubor se nepodařilo otevřít, protože je poškozený. - + Empty File Prázdný soubor - + This service file does not contain any data. Tento soubor služby neobsahuje žádná data. - + Corrupt File Poškozený soubor @@ -3244,42 +3244,42 @@ Obsah souboru není v kódování UTF-8. Čas přehrávání: - + Untitled Service Prázdná služba - + Load an existing service. Načíst existující službu. - + Save this service. Uložit tuto službu. - + Select a theme for the service. Vybrat motiv pro službu. - + This file is either corrupt or it is not an OpenLP 2.0 service file. - + Slide theme - + Notes - + Service File Missing @@ -3406,17 +3406,17 @@ Obsah souboru není v kódování UTF-8. Následující snímek - + Previous Service Předchozí služba - + Next Service Následující služba - + Escape Item Zrušit položku @@ -3536,36 +3536,51 @@ Obsah souboru není v kódování UTF-8. Start time is after the finish time of the media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Vybrat obrázek - + Theme Name Missing Chybí název motivu - + There is no name for this theme. Please enter one. Není vyplněn název motivu. Prosím zadejte ho. - + Theme Name Invalid Neplatný název motivu - + Invalid theme name. Please enter one. Neplatný název motivu. Prosím zadejte nový. - + (approximately %d lines per slide) @@ -3643,12 +3658,12 @@ Obsah souboru není v kódování UTF-8. Pro úpravy je třeba vybrat motiv. - + You are unable to delete the default theme. Není možno smazat výchozí motiv. - + Theme %s is used in the %s plugin. Motiv %s je používán v modulu %s. @@ -3688,14 +3703,14 @@ Obsah souboru není v kódování UTF-8. Vybrat soubor k importu motivu - + File is not a valid theme. The content encoding is not UTF-8. Soubor není platný motiv. Obsah souboru není v kódování UTF-8. - + File is not a valid theme. Soubor není platný motiv. @@ -3745,12 +3760,12 @@ Obsah souboru není v kódování UTF-8. Smazat motiv %s? - + Validation Error Chyba ověřování - + A theme with this name already exists. Motiv s tímto názvem již existuje. @@ -3769,260 +3784,270 @@ Obsah souboru není v kódování UTF-8. OpenLP.ThemeWizard - + Theme Wizard Průvodce motivem - + Welcome to the Theme Wizard Vítejte v průvodci motivem - + Set Up Background Nastavení pozadí - + Set up your theme's background according to the parameters below. Podle parametrů níže nastavte pozadí motivu. - + Background type: Typ pozadí: - + Solid Color Plná barva - + Gradient Přechod - + Color: Barva: - + Gradient: Přechod: - + Horizontal Vodorovný - + Vertical Svislý - + Circular Kruhový - + Top Left - Bottom Right Vlevo nahoře - vpravo dole - + Bottom Left - Top Right Vlevo dole - vpravo nahoře - + Main Area Font Details Podrobnosti písma hlavní oblasti - + Define the font and display characteristics for the Display text Definovat písmo a charakteristiku zobrazení pro zobrazený text - + Font: Písmo: - + Size: Velikost: - + Line Spacing: Řádkování: - + &Outline: &Obrys: - + &Shadow: &Stín: - + Bold Tučné - + Italic Kurzíva - + Footer Area Font Details Podrobnosti písma oblasti zápatí - + Define the font and display characteristics for the Footer text Definovat písmo a charakteristiku zobrazení pro text zápatí - + Text Formatting Details Podrobnosti formátování textu - + Allows additional display formatting information to be defined Dovoluje definovat další formátovací informace zobrazení - + Horizontal Align: Vodorovné zarovnání: - + Left Vlevo - + Right Vpravo - + Center Na střed - + Output Area Locations Umístění výstupní oblasti - + Allows you to change and move the main and footer areas. Dovoluje změnit a přesunout hlavní oblast a oblast zápatí. - + &Main Area &Hlavní oblast - + &Use default location &Použít výchozí umístění - + X position: Pozice X: - + px px - + Y position: Pozice Y: - + Width: Šířka: - + Height: Výška: - + Use default location Použít výchozí umístění - + Save and Preview Uložit a náhled - + View the theme and save it replacing the current one or change the name to create a new theme Zobrazit motiv a uložit ho, dojde k přepsání současného nebo změňte název, aby se vytvořil nový motiv - + Theme name: Název motivu: - + Edit Theme - %s Upravit motiv - %s - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. Tento průvodce pomáhá s vytvořením a úpravou vašich motivu. Klepněte níže na tlačítko další pro spuštění procesu nastavení vašeho pozadí. - + Transitions: Přechody: - + &Footer Area Oblast &zápatí - + Starting color: - + Ending color: - + Background color: Barva pozadí: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4667,52 +4692,52 @@ Obsah souboru není v kódování UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Vybrat prezentace - + Automatic Automaticky - + Present using: Nyní používající: - + File Exists Soubor existuje - + A presentation with that filename already exists. Prezentace s tímto názvem souboru už existuje. - + This type of presentation is not supported. Tento typ prezentace není podporován. - + Presentations (%s) Prezentace (%s) - + Missing Presentation Chybějící prezentace - + The Presentation %s no longer exists. Prezentace %s už neexistuje. - + The Presentation %s is incomplete, please reload. Prezentace %s není kompletní, prosím načtěte ji znovu. @@ -4857,30 +4882,35 @@ Obsah souboru není v kódování UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: Poslouchat na IP adresse: - + Port number: Číslo portu: - + Server Settings Nastavení serveru - + Remote URL: URL dálkového ovládání: - + Stage view URL: URL zobrazení na jevišti: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4971,7 +5001,7 @@ Obsah souboru není v kódování UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Smazat data používání písní @@ -4996,7 +5026,7 @@ Obsah souboru není v kódování UTF-8. Všechny požadovaná data byla úspěšně smazána. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5613,7 +5643,7 @@ Kódování zodpovídá za správnou reprezentaci znaků. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files Vybrat dokumentové/prezentační soubory @@ -5628,95 +5658,105 @@ Kódování zodpovídá za správnou reprezentaci znaků. Tento průvodce pomáhá importovat písně z různých formátů. Importování se spustí klepnutím níže na tlačítko další a výběrem formátu, ze kterého se bude importovat. - + Generic Document/Presentation Obecný dokument/prezentace - + Filename: Název souboru: - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. Import pro formát OpenLyrics ještě nebyl vyvinut, ale jak můžete vidět, stále to zamýšlíme udělat. Doufáme, že to bude přítomno v další verzi aplikace. - + Add Files... Přidat soubory... - + Remove File(s) Odstranit soubory - + Please wait while your songs are imported. Čekejte prosím, než písně budou importovány. - + OpenLP 2.0 Databases Databáze OpenLP 2.0 - + openlp.org v1.x Databases Databáze openlp.org v1.x - + Words Of Worship Song Files Soubory s písněmi Words of Worship - + You need to specify at least one document or presentation file to import from. Je potřeba zadat alespoň jeden dokument nebo jednu prezentaci, ze které importovat. - + Songs Of Fellowship Song Files Soubory s písněmi Songs Of Fellowship - + SongBeamer Files SongBeamer soubory - + SongShow Plus Song Files Soubory s písněmi SongShow Plus - + Foilpresenter Song Files Soubory s písněmi Foilpresenter - + Copy Kopírovat - + Save to File Uložit do souboru - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5744,7 +5784,7 @@ Kódování zodpovídá za správnou reprezentaci znaků. Text písně - + CCLI License: CCLI Licence: @@ -5768,7 +5808,7 @@ Kódování zodpovídá za správnou reprezentaci znaků. Spravovat seznamy autorů, témat a zpěvníků. - + copy For song cloning @@ -5793,7 +5833,7 @@ Kódování zodpovídá za správnou reprezentaci znaků. SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exportuji "%s"... @@ -5865,7 +5905,7 @@ Kódování zodpovídá za správnou reprezentaci znaků. SongsPlugin.SongImportForm - + Your song import failed. Import písně selhal. diff --git a/resources/i18n/de.ts b/resources/i18n/de.ts index 57ff315ee..93ea8ce5a 100644 --- a/resources/i18n/de.ts +++ b/resources/i18n/de.ts @@ -412,38 +412,38 @@ Changes do not affect verses already in the service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Registriere Bibel und lade Bücher... - + Registering Language... Registriere Sprache... - + Importing %s... Importing <book name>... Importiere »%s«... - + Download Error Download Fehler - + 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. Beim Herunterladen des Bibeltextes ist ein Fehler aufgetreten. Bitte überprüfen Sie Ihre Internetverbindung. Sollte dieser Fehler dennoch auftreten, so wenden Sie sich bitte an den OpenLP Support. - + Parse Error Formatfehler - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Beim Auslesen des Bibeltextes ist ein Fehler aufgetreten. Sollte dieser Fehler wiederholt auftreten, so wenden Sie sich bitte an den OpenLP Support. @@ -541,17 +541,17 @@ Changes do not affect verses already in the service. Eine Bibeltext-Datei muss zum Import angegeben werden. - + You need to specify a version name for your Bible. Bitte geben Sie den Namen der Bibelübersetzung ein. - + Bible Exists Übersetzung bereits vorhanden - + Your Bible import failed. Der Bibelimport ist fehlgeschlagen. @@ -561,12 +561,12 @@ Changes do not affect verses already in the service. Bibelausgabe: - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Das Copyright muss angegeben werden. Gemeinfreie Bibeln ohne Copyright sind als solche zu kennzeichnen. - + This Bible already exists. Please import a different Bible or first delete the existing one. Diese Bibel existiert bereit. Bitte geben Sie einen anderen Übersetzungsnamen an oder löschen Sie zuerst die Existierende. @@ -576,7 +576,7 @@ Changes do not affect verses already in the service. Genehmigung: - + CSV File CSV-Datei @@ -601,17 +601,17 @@ Changes do not affect verses already in the service. Versedatei: - + openlp.org 1.x Bible Files openlp.org 1.x Bibel-Dateien - + Registering Bible... Registriere Bibel... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Registrierung abgeschlossen. @@ -1113,7 +1113,7 @@ Bitte beachten Sie, dass Bibeltexte von Onlinebibeln bei Bedarf heruntergeladen ImagePlugin.ExceptionDialog - + Select Attachment Anhang auswählen @@ -1166,17 +1166,17 @@ Wollen Sie die anderen Bilder trotzdem hinzufügen? ImagesPlugin.ImageTab - + Background Color Hintergrundfarbe - + Default Color: Standardfarbe: - + Provides border where image is not the correct dimensions for the screen when resized. Wenn Bilder ein anderes Seitenverhältniss als der Projektionsbildschirm haben, dann wird ein fabiger Rand hinzufgefügt. @@ -1250,7 +1250,7 @@ Wollen Sie die anderen Bilder trotzdem hinzufügen? Audio-/Videodatei auswählen - + You must select a media file to delete. Die Audio-/Videodatei, die entfernt werden soll, muss ausgewählt sein. @@ -1640,7 +1640,7 @@ dieser Fehler auftrat. Bitte verwenden Sie (wenn möglich) Englisch.Datei einhängen - + Description characters to enter : %s Mindestens noch %s Zeichen eingeben @@ -1648,24 +1648,24 @@ dieser Fehler auftrat. Bitte verwenden Sie (wenn möglich) Englisch. OpenLP.ExceptionForm - + Platform: %s Plattform: %s - + Save Crash Report Fehlerprotokoll speichern - + Text files (*.txt *.log *.text) Textdateien (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1696,7 +1696,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2808,7 +2808,7 @@ Datenbank: %s OpenLP.MediaManagerItem - + No Items Selected Keine Elemente ausgewählt. @@ -2818,42 +2818,42 @@ Datenbank: %s Zum &gewählten Ablaufelement hinzufügen - + You must select one or more items to preview. Zur Vorschau muss mindestens ein Elemente auswählt sein. - + You must select one or more items to send live. Zur Live Anzeige muss mindestens ein Element ausgewählt sein. - + You must select one or more items. Es muss mindestens ein Element ausgewählt sein. - + You must select an existing service item to add to. Sie müssen ein vorhandenes Ablaufelement auswählen. - + Invalid Service Item Ungültiges Ablaufelement - + You must select a %s service item. Sie müssen ein %s-Element im Ablaufs wählen. - + No Search Results Kein Suchergebnis - + You must select one or more items to add. Sie müssen ein oder mehrer Element auswählen. @@ -3030,12 +3030,12 @@ Dateiendung nicht unterstützt. OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>Anfang</strong>: %s - + <strong>Length</strong>: %s <strong>Spiellänge</strong>: %s @@ -3051,214 +3051,214 @@ Dateiendung nicht unterstützt. OpenLP.ServiceManager - + Move to &top Zum &Anfang schieben - + Move item to the top of the service. Das ausgewählte Element an den Anfang des Ablaufs verschieben. - + Move &up Nach &oben schieben - + Move item up one position in the service. Das ausgewählte Element um eine Position im Ablauf nach oben verschieben. - + Move &down Nach &unten schieben - + Move item down one position in the service. Das ausgewählte Element um eine Position im Ablauf nach unten verschieben. - + Move to &bottom Zum &Ende schieben - + Move item to the end of the service. Das ausgewählte Element an das Ende des Ablaufs verschieben. - + &Delete From Service Vom Ablauf &löschen - + Delete the selected item from the service. Das ausgewählte Element aus dem Ablaufs entfernen. - + &Add New Item &Neues Element hinzufügen - + &Add to Selected Item &Zum gewählten Element hinzufügen - + &Edit Item Element &bearbeiten - + &Reorder Item &Aufnahmeelement - + &Notes &Notizen - + &Change Item Theme &Design des Elements ändern - + File is not a valid service. The content encoding is not UTF-8. Die gewählte Datei ist keine gültige OpenLP Ablaufdatei. Der Inhalt ist nicht in UTF-8 kodiert. - + File is not a valid service. Die Datei ist keine gültige OpenLP Ablaufdatei. - + Missing Display Handler Fehlende Anzeigesteuerung - + Your item cannot be displayed as there is no handler to display it Dieses Element kann nicht angezeigt werden, da es keine Steuerung dafür gibt. - + Your item cannot be displayed as the plugin required to display it is missing or inactive Dieses Element kann nicht angezeigt werden, da die zugehörige Erweiterung fehlt oder inaktiv ist. - + &Expand all Alle au&sklappen - + Expand all the service items. Alle Ablaufelemente ausklappen. - + &Collapse all Alle ei&nklappen - + Collapse all the service items. Alle Ablaufelemente einklappen. - + Open File Ablauf öffnen - + OpenLP Service Files (*.osz) OpenLP Ablaufdateien (*.osz) - + Moves the selection up the window. Ausgewähltes nach oben schieben - + Move up Nach oben - + Go Live Live - + Send the selected item to Live. Zeige das ausgewählte Element Live. - + Moves the selection down the window. Ausgewähltes nach unten schieben - + Modified Service Modifizierter Ablauf - + The current service has been modified. Would you like to save this service? Der momentane Ablauf wurde modifiziert. Möchten Sie ihn speichern? - + &Start Time &Startzeit - + Show &Preview &Vorschau - + Show &Live &Live - + File could not be opened because it is corrupt. Datei konnte nicht geöffnet werden, da sie fehlerhaft ist. - + Empty File Leere Datei - + This service file does not contain any data. Diese Datei enthält keine Daten. - + Corrupt File Dehlerhaft Datei - + Untitled Service Unbenannt @@ -3278,37 +3278,37 @@ Der Inhalt ist nicht in UTF-8 kodiert. Spiellänge: - + Load an existing service. Einen bestehenden Ablauf öffnen. - + Save this service. Den aktuellen Ablauf speichern. - + Select a theme for the service. Design für den Ablauf auswählen. - + This file is either corrupt or it is not an OpenLP 2.0 service file. Entweder ist die Datei fehlerhaft oder sie ist keine OpenLP 2.0 Ablauf-Datei. - + Slide theme Element-Design - + Notes Notizen - + Service File Missing Ablaufdatei fehlt @@ -3435,17 +3435,17 @@ Der Inhalt ist nicht in UTF-8 kodiert. Nächste Folie - + Previous Service Vorheriges Element - + Next Service Nächstes Element - + Escape Item Folie schließen @@ -3565,36 +3565,51 @@ Der Inhalt ist nicht in UTF-8 kodiert. Start time is after the finish time of the media item Die Startzeit ist nach der Endzeit gesetzt + + + Theme Layout + Design-Layout + + + + The blue box shows the main area. + Der blaue Rahmen zeigt die Hauptanzeigefläche. + + + + The red box shows the footer. + Der rote Rahmen zeigt die Fußzeile. + OpenLP.ThemeForm - + Select Image Bild auswählen - + Theme Name Missing Designname fehlt - + There is no name for this theme. Please enter one. Es wurde kein Designname angegeben. Bitte benennen Sie das Design. - + Theme Name Invalid Designname ungültig - + Invalid theme name. Please enter one. Der Designname ist ungültig. Bitte ändern Sie diesen. - + (approximately %d lines per slide) (ungefähr %d Zeilen pro Folie) @@ -3647,7 +3662,7 @@ Der Inhalt ist nicht in UTF-8 kodiert. Zum Bearbeiten muss ein Design ausgewählt sein. - + You are unable to delete the default theme. Es ist nicht möglich das Standarddesign zu entfernen. @@ -3687,19 +3702,19 @@ Der Inhalt ist nicht in UTF-8 kodiert. OpenLP Designdatei importieren - + File is not a valid theme. The content encoding is not UTF-8. Die Datei ist keine gültige OpenLP Designdatei. Sie ist nicht in UTF-8 kodiert. - + File is not a valid theme. Diese Datei ist keine gültige OpenLP Designdatei. - + Theme %s is used in the %s plugin. Das Design »%s« wird in der »%s« Erweiterung benutzt. @@ -3749,12 +3764,12 @@ Sie ist nicht in UTF-8 kodiert. Soll das Design »%s« wirklich gelöscht werden? - + Validation Error Validierungsfehler - + A theme with this name already exists. Ein Design mit diesem Namen existiert bereits. @@ -3798,260 +3813,270 @@ Sie ist nicht in UTF-8 kodiert. OpenLP.ThemeWizard - + Theme Wizard Designassistent - + Welcome to the Theme Wizard Willkommen beim Designassistenten - + Set Up Background Hintergrund einrichten - + Set up your theme's background according to the parameters below. Der Designhintergrund wird anhand der Parameter unten eingerichtet. - + Background type: Hintergrundart: - + Solid Color Füllfarbe - + Gradient Farbverlauf - + Color: Farbe: - + Gradient: Verlauf: - + Horizontal horizontal - + Vertical vertikal - + Circular radial - + Top Left - Bottom Right diagonal abwärts - + Bottom Left - Top Right diagonal aufwärts - + Main Area Font Details Schriftschnitt und -farbe - + Define the font and display characteristics for the Display text Die Schrift und die Anzeigeeigenschaften für die Hauptanzeigefläche einrichten - + Font: Schriftart: - + Size: Schriftgröße: - + Line Spacing: Zeilenabstand: - + &Outline: &Umrandung: - + &Shadow: S&chatten: - + Bold Fett - + Italic Kursiv - + Footer Area Font Details Fußzeile einrichten - + Define the font and display characteristics for the Footer text Die Schrift und die Anzeigeeigenschaften für die Fußzeile einrichten - + Text Formatting Details Weitere Formatierung - + Allows additional display formatting information to be defined Hier können zusätzliche Anzeigeeigenschaften eingerichtet werden. - + Horizontal Align: Horizontale Ausrichtung: - + Left links - + Right rechts - + Center zentriert - + Output Area Locations Anzeigeflächen - + Allows you to change and move the main and footer areas. Hier ist es möglich Hauptanzeigefläche und die Fußzeile zu verschieben. - + &Main Area &Hauptanzeigefläche - + &Use default location &Automatisch positionieren - + X position: Von links: - + px px - + Y position: Von oben: - + Width: Breite: - + Height: Höhe: - + Use default location Automatisch positionieren - + Save and Preview Vorschau und Speichern - + View the theme and save it replacing the current one or change the name to create a new theme Eine Vorschau anzeigen und das Design abspeichern - + Theme name: Designname: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. Dieser Assistent hilft Ihnen Designs zu erstellen oder zu bearbeiten. Klicken Sie auf »Weiter« um den Hintergrund einzurichten. - + Transitions: Übergänge: - + &Footer Area &Fußzeile - + Edit Theme - %s Bearbeite Design - %s - + Starting color: Startfarbe: - + Ending color: Endfarbe - + Background color: Hintergrundfarbe: + + + Justify + Zentriert + + + + Layout Preview + Layout-Vorschau + OpenLP.ThemesTab @@ -4696,52 +4721,52 @@ Sie ist nicht in UTF-8 kodiert. PresentationPlugin.MediaItem - + Select Presentation(s) Präsentationen auswählen - + Automatic automatisch - + Present using: Anzeigen mit: - + A presentation with that filename already exists. Eine Präsentation mit diesem Dateinamen existiert bereits. - + File Exists Datei existiert - + This type of presentation is not supported. Präsentationsdateien dieses Dateiformats werden nicht unterstützt. - + Presentations (%s) Präsentationen (%s) - + Missing Presentation Fehlende Präsentation - + The Presentation %s no longer exists. Die Präsentation »%s« existiert nicht mehr. - + The Presentation %s is incomplete, please reload. Die Präsentation »%s« ist nicht vollständig, bitte neu laden. @@ -4886,30 +4911,35 @@ Sie ist nicht in UTF-8 kodiert. RemotePlugin.RemoteTab - + Serve on IP address: Verfügbar über IP-Adresse: - + Port number: Port-Nummer: - + Server Settings Server-Einstellungen - + Remote URL: Fernsteuerung: - + Stage view URL: Bühnenmonitor: + + + Display stage time in 12h format + Nutze 12h Format für den Bühnenmonitor + SongUsagePlugin @@ -5000,7 +5030,7 @@ Sie ist nicht in UTF-8 kodiert. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Protokolldaten löschen @@ -5025,7 +5055,7 @@ Sie ist nicht in UTF-8 kodiert. Die Protokolldaten wurden erfolgreich gelöscht. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. Bitte wählen Sie das Datum bis zu dem die Protokollierungsdaten gelöscht werden sollen. Alle gespeicherten Daten, welche älter sind, werden dauerhaft gelöscht. @@ -5528,7 +5558,7 @@ Easy Worship] Remove &All - &Alle Entfernen + &Alle Entfernen @@ -5655,100 +5685,110 @@ Easy Worship] Dieser Assistent hilft Ihnen Liedtexte aus verschiedenen Formaten zu importieren. Klicken Sie auf »Weiter« um das Quellformat auszuwählen, aus dem Sie importieren möchten. - + Add Files... Hinzufügen... - + Remove File(s) Entfernen - + Filename: Dateiname: - + Please wait while your songs are imported. Die Liedtexte werden importiert. Bitte warten. - + Select Document/Presentation Files Präsentationen/Textdokumente auswählen - + Generic Document/Presentation Präsentation/Textdokument - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. Leider können noch keine OpenLyric Lieder importiert werden, aber vielleicht klappts ja in der nächsten Version. - + OpenLP 2.0 Databases - OpenLP 2.0 Lieddatenbanken + »OpenLP 2.0« Lieddatenbanken - + openlp.org v1.x Databases - openlp.org 1.x Lieddatenbanken + »openlp.org 1.x« Lieddatenbanken - + Words Of Worship Song Files »Words of Worship« Lieddateien - + Songs Of Fellowship Song Files Songs Of Fellowship Song Dateien - + SongBeamer Files SongBeamer Dateien - + SongShow Plus Song Files SongShow Plus Song Dateien - + You need to specify at least one document or presentation file to import from. Sie müssen wenigstens ein Dokument oder Präsentationsdatei auswählen, die importiert werden soll. - + Foilpresenter Song Files Foilpresenter Lied-Dateien - + Copy Kopieren - + Save to File In Datei speichern - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. Der Songs of Fellowship importer wurde deaktiviert, weil OpenLP nicht OpenOffice oder LibreOffice öffnen konnte. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. Der Präsentation/Textdokument importer wurde deaktiviert, weil OpenLP nicht OpenOffice oder LibreOffice öffnen konnte. + + + OpenLyrics or OpenLP 2.0 Exported Song + OpenLyrics oder OpenLP 2.0 exportiere Lieder + + + + OpenLyrics Files + »OpenLyrics« Datei + SongsPlugin.MediaFilesForm @@ -5776,7 +5816,7 @@ Easy Worship] Liedtext - + CCLI License: CCLI-Lizenz: @@ -5799,7 +5839,7 @@ Easy Worship] Autoren, Themen und Bücher verwalten. - + copy For song cloning Kopie @@ -5824,7 +5864,7 @@ Easy Worship] SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exportiere »%s«... @@ -5896,7 +5936,7 @@ Easy Worship] SongsPlugin.SongImportForm - + Your song import failed. Importvorgang fehlgeschlagen. diff --git a/resources/i18n/en.ts b/resources/i18n/en.ts index 23ce6b4f2..50cb9965b 100644 --- a/resources/i18n/en.ts +++ b/resources/i18n/en.ts @@ -401,38 +401,38 @@ Changes do not affect verses already in the service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... - + Registering Language... - + Importing %s... Importing <book name>... - + Download Error - + 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. - + Parse Error - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -535,32 +535,32 @@ Changes do not affect verses already in the service. - + You need to specify a version name for your Bible. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + Bible Exists - + This Bible already exists. Please import a different Bible or first delete the existing one. - + Your Bible import failed. - + CSV File @@ -590,17 +590,17 @@ Changes do not affect verses already in the service. - + openlp.org 1.x Bible Files - + Registering Bible... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. @@ -1093,7 +1093,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I ImagePlugin.ExceptionDialog - + Select Attachment @@ -1145,17 +1145,17 @@ Do you want to add the other images anyway? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1229,7 +1229,7 @@ Do you want to add the other images anyway? - + You must select a media file to delete. @@ -1544,7 +1544,7 @@ Portions copyright © 2004-2011 %s - + Description characters to enter : %s @@ -1552,23 +1552,23 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s - + Save Crash Report - + Text files (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1586,7 +1586,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2669,7 +2669,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected @@ -2679,42 +2679,42 @@ Database: %s - + You must select one or more items to preview. - + You must select one or more items to send live. - + You must select one or more items. - + You must select an existing service item to add to. - + Invalid Service Item - + You must select a %s service item. - + You must select one or more items to add. - + No Search Results @@ -2890,12 +2890,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s - + <strong>Length</strong>: %s @@ -2911,188 +2911,188 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top - + Move item to the top of the service. - + Move &up - + Move item up one position in the service. - + Move &down - + Move item down one position in the service. - + Move to &bottom - + Move item to the end of the service. - + &Delete From Service - + Delete the selected item from the service. - + &Add New Item - + &Add to Selected Item - + &Edit Item - + &Reorder Item - + &Notes - + &Change Item Theme - + OpenLP Service Files (*.osz) - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - + Open File - + Moves the selection down the window. - + Move up - + Moves the selection up the window. - + Go Live - + Send the selected item to Live. - + &Start Time - + Show &Preview - + Show &Live - + Modified Service - + The current service has been modified. Would you like to save this service? @@ -3112,62 +3112,62 @@ The content encoding is not UTF-8. - + Untitled Service - + File could not be opened because it is corrupt. - + Empty File - + This service file does not contain any data. - + Corrupt File - + Load an existing service. - + Save this service. - + Select a theme for the service. - + This file is either corrupt or it is not an OpenLP 2.0 service file. - + Service File Missing - + Slide theme - + Notes @@ -3294,17 +3294,17 @@ The content encoding is not UTF-8. - + Previous Service - + Next Service - + Escape Item @@ -3424,36 +3424,51 @@ The content encoding is not UTF-8. Start time is after the finish time of the media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (approximately %d lines per slide) @@ -3531,12 +3546,12 @@ The content encoding is not UTF-8. - + You are unable to delete the default theme. - + Theme %s is used in the %s plugin. @@ -3576,13 +3591,13 @@ The content encoding is not UTF-8. - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. @@ -3632,12 +3647,12 @@ The content encoding is not UTF-8. - + Validation Error - + A theme with this name already exists. @@ -3656,260 +3671,270 @@ The content encoding is not UTF-8. OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color - + Gradient - + Color: - + Gradient: - + Horizontal - + Vertical - + Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: - + Size: - + Line Spacing: - + &Outline: - + &Shadow: - + Bold - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left - + Right - + Center - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: - + px - + Y position: - + Width: - + Height: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - + Edit Theme - %s - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. - + Transitions: - + &Footer Area - + Starting color: - + Ending color: - + Background color: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4554,52 +4579,52 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) - + Automatic - + Present using: - + File Exists - + A presentation with that filename already exists. - + This type of presentation is not supported. - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. - + The Presentation %s is incomplete, please reload. @@ -4744,30 +4769,35 @@ The content encoding is not UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: - + Port number: - + Server Settings - + Remote URL: - + Stage view URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4858,7 +4888,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -4883,7 +4913,7 @@ The content encoding is not UTF-8. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5495,7 +5525,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files @@ -5510,95 +5540,105 @@ The encoding is responsible for the correct character representation. - + Generic Document/Presentation - + Filename: - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. - + Add Files... - + Remove File(s) - + Please wait while your songs are imported. - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - + You need to specify at least one document or presentation file to import from. - + Songs Of Fellowship Song Files - + SongBeamer Files - + SongShow Plus Song Files - + Foilpresenter Song Files - + Copy - + Save to File - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5626,7 +5666,7 @@ The encoding is responsible for the correct character representation. - + CCLI License: @@ -5648,7 +5688,7 @@ The encoding is responsible for the correct character representation. - + copy For song cloning @@ -5673,7 +5713,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... @@ -5745,7 +5785,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongImportForm - + Your song import failed. diff --git a/resources/i18n/en_GB.ts b/resources/i18n/en_GB.ts index 750312984..daf9eb55f 100644 --- a/resources/i18n/en_GB.ts +++ b/resources/i18n/en_GB.ts @@ -412,38 +412,38 @@ Changes do not affect verses already in the service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Registering Bible and loading books... - + Registering Language... Registering Language... - + Importing %s... Importing <book name>... Importing %s... - + Download Error Download Error - + 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. 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. - + Parse Error Parse Error - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -546,27 +546,27 @@ Changes do not affect verses already in the service. You need to specify a file of Bible verses to import. - + You need to specify a version name for your Bible. You need to specify a version name for your Bible. - + Bible Exists Bible Exists - + Your Bible import failed. Your Bible import failed. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + This Bible already exists. Please import a different Bible or first delete the existing one. This Bible already exists. Please import a different Bible or first delete the existing one. @@ -576,7 +576,7 @@ Changes do not affect verses already in the service. Permissions: - + CSV File CSV File @@ -601,17 +601,17 @@ Changes do not affect verses already in the service. Verses file: - + openlp.org 1.x Bible Files openlp.org 1.x Bible Files - + Registering Bible... Registering Bible... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Registered Bible. Please note, that verses will be downloaded on @@ -1112,7 +1112,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I ImagePlugin.ExceptionDialog - + Select Attachment Select Attachment @@ -1165,17 +1165,17 @@ Do you want to add the other images anyway? ImagesPlugin.ImageTab - + Background Color Background Color - + Default Color: Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. Provides border where image is not the correct dimensions for the screen when resized. @@ -1249,7 +1249,7 @@ Do you want to add the other images anyway? Select Media - + You must select a media file to delete. You must select a media file to delete. @@ -1634,7 +1634,7 @@ Portions copyright © 2004-2011 %s Attach File - + Description characters to enter : %s Description characters to enter : %s @@ -1642,24 +1642,24 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Platform: %s - + Save Crash Report Save Crash Report - + Text files (*.txt *.log *.text) Text files (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1690,7 +1690,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2801,7 +2801,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected No Items Selected @@ -2811,42 +2811,42 @@ Database: %s &Add to selected Service Item - + You must select one or more items to preview. You must select one or more items to preview. - + You must select one or more items to send live. You must select one or more items to send live. - + You must select one or more items. You must select one or more items. - + You must select an existing service item to add to. You must select an existing service item to add to. - + Invalid Service Item Invalid Service Item - + You must select a %s service item. You must select a %s service item. - + You must select one or more items to add. You must select one or more items to add. - + No Search Results No Search Results @@ -3023,12 +3023,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>Start</strong>: %s - + <strong>Length</strong>: %s <strong>Length</strong>: %s @@ -3044,209 +3044,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Move to &top - + Move item to the top of the service. Move item to the top of the service. - + Move &up Move &up - + Move item up one position in the service. Move item up one position in the service. - + Move &down Move &down - + Move item down one position in the service. Move item down one position in the service. - + Move to &bottom Move to &bottom - + Move item to the end of the service. Move item to the end of the service. - + &Delete From Service &Delete From Service - + Delete the selected item from the service. Delete the selected item from the service. - + &Add New Item &Add New Item - + &Add to Selected Item &Add to Selected Item - + &Edit Item &Edit Item - + &Reorder Item &Reorder Item - + &Notes &Notes - + &Change Item Theme &Change Item Theme - + File is not a valid service. The content encoding is not UTF-8. File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. File is not a valid service. - + Missing Display Handler Missing Display Handler - + Your item cannot be displayed as there is no handler to display it Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all &Expand all - + Expand all the service items. Expand all the service items. - + &Collapse all &Collapse all - + Collapse all the service items. Collapse all the service items. - + Open File Open File - + OpenLP Service Files (*.osz) OpenLP Service Files (*.osz) - + Moves the selection down the window. Moves the selection down the window. - + Move up Move up - + Moves the selection up the window. Moves the selection up the window. - + Go Live Go Live - + Send the selected item to Live. Send the selected item to Live. - + Modified Service Modified Service - + &Start Time &Start Time - + Show &Preview Show &Preview - + Show &Live Show &Live - + The current service has been modified. Would you like to save this service? The current service has been modified. Would you like to save this service? - + File could not be opened because it is corrupt. File could not be opened because it is corrupt. - + Empty File Empty File - + This service file does not contain any data. This service file does not contain any data. - + Corrupt File Corrupt File @@ -3266,42 +3266,42 @@ The content encoding is not UTF-8. Playing time: - + Untitled Service Untitled Service - + Load an existing service. Load an existing service. - + Save this service. Save this service. - + Select a theme for the service. Select a theme for the service. - + This file is either corrupt or it is not an OpenLP 2.0 service file. This file is either corrupt or it is not an OpenLP 2.0 service file. - + Slide theme Slide theme - + Notes Notes - + Service File Missing Service File Missing @@ -3428,17 +3428,17 @@ The content encoding is not UTF-8. Next Slide - + Previous Service Previous Service - + Next Service Next Service - + Escape Item Escape Item @@ -3558,36 +3558,51 @@ The content encoding is not UTF-8. Start time is after the finish time of the media item Start time is after the finish time of the media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Select Image - + Theme Name Missing Theme Name Missing - + There is no name for this theme. Please enter one. There is no name for this theme. Please enter one. - + Theme Name Invalid Theme Name Invalid - + Invalid theme name. Please enter one. Invalid theme name. Please enter one. - + (approximately %d lines per slide) (approximately %d lines per slide) @@ -3665,7 +3680,7 @@ The content encoding is not UTF-8. You must select a theme to edit. - + You are unable to delete the default theme. You are unable to delete the default theme. @@ -3705,19 +3720,19 @@ The content encoding is not UTF-8. Select Theme Import File - + File is not a valid theme. The content encoding is not UTF-8. File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. File is not a valid theme. - + Theme %s is used in the %s plugin. Theme %s is used in the %s plugin. @@ -3767,12 +3782,12 @@ The content encoding is not UTF-8. Delete %s theme? - + Validation Error Validation Error - + A theme with this name already exists. A theme with this name already exists. @@ -3791,260 +3806,270 @@ The content encoding is not UTF-8. OpenLP.ThemeWizard - + Theme Wizard Theme Wizard - + Welcome to the Theme Wizard Welcome to the Theme Wizard - + Set Up Background Set Up Background - + Set up your theme's background according to the parameters below. Set up your theme's background according to the parameters below. - + Background type: Background type: - + Solid Color Solid Colour - + Gradient Gradient - + Color: Colour: - + Gradient: Gradient: - + Horizontal Horizontal - + Vertical Vertical - + Circular Circular - + Top Left - Bottom Right Top Left - Bottom Right - + Bottom Left - Top Right Bottom Left - Top Right - + Main Area Font Details Main Area Font Details - + Define the font and display characteristics for the Display text Define the font and display characteristics for the Display text - + Font: Font: - + Size: Size: - + Line Spacing: Line Spacing: - + &Outline: &Outline: - + &Shadow: &Shadow: - + Bold Bold - + Italic Italic - + Footer Area Font Details Footer Area Font Details - + Define the font and display characteristics for the Footer text Define the font and display characteristics for the Footer text - + Text Formatting Details Text Formatting Details - + Allows additional display formatting information to be defined Allows additional display formatting information to be defined - + Horizontal Align: Horizontal Align: - + Left Left - + Right Right - + Center Centre - + Output Area Locations Output Area Locations - + Allows you to change and move the main and footer areas. Allows you to change and move the main and footer areas. - + &Main Area &Main Area - + &Use default location &Use default location - + X position: X position: - + px px - + Y position: Y position: - + Width: Width: - + Height: Height: - + Use default location Use default location - + Save and Preview Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: Theme name: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. - + Transitions: Transitions: - + &Footer Area &Footer Area - + Edit Theme - %s Edit Theme - %s - + Starting color: Starting color: - + Ending color: Ending color: - + Background color: Background color: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4689,52 +4714,52 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Select Presentation(s) - + Automatic Automatic - + Present using: Present using: - + File Exists File Exists - + A presentation with that filename already exists. A presentation with that filename already exists. - + This type of presentation is not supported. This type of presentation is not supported. - + Presentations (%s) Presentations (%s) - + Missing Presentation Missing Presentation - + The Presentation %s no longer exists. The Presentation %s no longer exists. - + The Presentation %s is incomplete, please reload. The Presentation %s is incomplete, please reload. @@ -4879,30 +4904,35 @@ The content encoding is not UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: Serve on IP address: - + Port number: Port number: - + Server Settings Server Settings - + Remote URL: Remote URL: - + Stage view URL: Stage view URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4993,7 +5023,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Delete Song Usage Data @@ -5018,7 +5048,7 @@ The content encoding is not UTF-8. All requested data has been deleted successfully. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5637,7 +5667,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files Select Document/Presentation Files @@ -5652,95 +5682,105 @@ The encoding is responsible for the correct character representation.This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Generic Document/Presentation Generic Document/Presentation - + Filename: Filename: - + Add Files... Add Files... - + Remove File(s) Remove File(s) - + Please wait while your songs are imported. Please wait while your songs are imported. - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. - + OpenLP 2.0 Databases OpenLP 2.0 Databases - + openlp.org v1.x Databases openlp.org v1.x Databases - + Words Of Worship Song Files Words Of Worship Song Files - + Songs Of Fellowship Song Files Songs Of Fellowship Song Files - + SongBeamer Files SongBeamer Files - + SongShow Plus Song Files SongShow Plus Song Files - + You need to specify at least one document or presentation file to import from. You need to specify at least one document or presentation file to import from. - + Foilpresenter Song Files Foilpresenter Song Files - + Copy Copy - + Save to File Save to File - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5768,7 +5808,7 @@ The encoding is responsible for the correct character representation.Lyrics - + CCLI License: CCLI License: @@ -5791,7 +5831,7 @@ The encoding is responsible for the correct character representation.Maintain the lists of authors, topics and books. - + copy For song cloning copy @@ -5816,7 +5856,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exporting "%s"... @@ -5888,7 +5928,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongImportForm - + Your song import failed. Your song import failed. diff --git a/resources/i18n/en_ZA.ts b/resources/i18n/en_ZA.ts index 084d15639..c72d7c8b3 100644 --- a/resources/i18n/en_ZA.ts +++ b/resources/i18n/en_ZA.ts @@ -412,38 +412,38 @@ Changes do not affect verses already in the service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Registering Bible and loading books... - + Registering Language... Registering Language... - + Importing %s... Importing <book name>... Importing %s... - + Download Error Download Error - + 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. 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. - + Parse Error Parse Error - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -546,27 +546,27 @@ Changes do not affect verses already in the service. You need to specify a file of Bible verses to import. - + You need to specify a version name for your Bible. You need to specify a version name for your Bible. - + Bible Exists Bible Exists - + Your Bible import failed. Your Bible import failed. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + This Bible already exists. Please import a different Bible or first delete the existing one. This Bible already exists. Please import a different Bible or first delete the existing one. @@ -576,7 +576,7 @@ Changes do not affect verses already in the service. Permissions: - + CSV File CSV File @@ -601,17 +601,17 @@ Changes do not affect verses already in the service. Verses file: - + openlp.org 1.x Bible Files openlp.org 1.x Bible Files - + Registering Bible... Registering Bible... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Registered Bible. Please note, that verses will be downloaded on @@ -1112,7 +1112,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I ImagePlugin.ExceptionDialog - + Select Attachment Select Attachment @@ -1165,17 +1165,17 @@ Do you want to add the other images anyway? ImagesPlugin.ImageTab - + Background Color Background Colour - + Default Color: Default Colour: - + Provides border where image is not the correct dimensions for the screen when resized. Provides border where image is not the correct dimensions for the screen when resized. @@ -1249,7 +1249,7 @@ Do you want to add the other images anyway? Select Media - + You must select a media file to delete. You must select a media file to delete. @@ -1634,7 +1634,7 @@ Portions copyright © 2004-2011 %s Attach File - + Description characters to enter : %s Description characters to enter : %s @@ -1642,24 +1642,24 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Platform: %s - + Save Crash Report Save Crash Report - + Text files (*.txt *.log *.text) Text files (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1690,7 +1690,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2802,7 +2802,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected No Items Selected @@ -2812,42 +2812,42 @@ Database: %s &Add to selected Service Item - + You must select one or more items to preview. You must select one or more items to preview. - + You must select one or more items to send live. You must select one or more items to send live. - + You must select one or more items. You must select one or more items. - + You must select an existing service item to add to. You must select an existing service item to add to. - + Invalid Service Item Invalid Service Item - + You must select a %s service item. You must select a %s service item. - + You must select one or more items to add. You must select one or more items to add. - + No Search Results No Search Results @@ -3024,12 +3024,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>Start</strong>: %s - + <strong>Length</strong>: %s <strong>Length</strong>: %s @@ -3045,209 +3045,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Move to &top - + Move item to the top of the service. Move item to the top of the service. - + Move &up Move &up - + Move item up one position in the service. Move item up one position in the service. - + Move &down Move &down - + Move item down one position in the service. Move item down one position in the service. - + Move to &bottom Move to &bottom - + Move item to the end of the service. Move item to the end of the service. - + &Delete From Service &Delete From Service - + Delete the selected item from the service. Delete the selected item from the service. - + &Add New Item &Add New Item - + &Add to Selected Item &Add to Selected Item - + &Edit Item &Edit Item - + &Reorder Item &Reorder Item - + &Notes &Notes - + &Change Item Theme &Change Item Theme - + File is not a valid service. The content encoding is not UTF-8. File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. File is not a valid service. - + Missing Display Handler Missing Display Handler - + Your item cannot be displayed as there is no handler to display it Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all &Expand all - + Expand all the service items. Expand all the service items. - + &Collapse all &Collapse all - + Collapse all the service items. Collapse all the service items. - + Open File Open File - + OpenLP Service Files (*.osz) OpenLP Service Files (*.osz) - + Moves the selection down the window. Moves the selection down the window. - + Move up Move up - + Moves the selection up the window. Moves the selection up the window. - + Go Live Go Live - + Send the selected item to Live. Send the selected item to Live. - + Modified Service Modified Service - + &Start Time &Start Time - + Show &Preview Show &Preview - + Show &Live Show &Live - + The current service has been modified. Would you like to save this service? The current service has been modified. Would you like to save this service? - + File could not be opened because it is corrupt. File could not be opened because it is corrupt. - + Empty File Empty File - + This service file does not contain any data. This service file does not contain any data. - + Corrupt File Corrupt File @@ -3267,42 +3267,42 @@ The content encoding is not UTF-8. Playing time: - + Untitled Service Untitled Service - + Load an existing service. Load an existing service. - + Save this service. Save this service. - + Select a theme for the service. Select a theme for the service. - + This file is either corrupt or it is not an OpenLP 2.0 service file. This file is either corrupt or it is not an OpenLP 2.0 service file. - + Slide theme Slide theme - + Notes Notes - + Service File Missing Service File Missing @@ -3429,17 +3429,17 @@ The content encoding is not UTF-8. Next Slide - + Previous Service Previous Service - + Next Service Next Service - + Escape Item Escape Item @@ -3559,36 +3559,51 @@ The content encoding is not UTF-8. Start time is after the finish time of the media item Start time is after the finish time of the media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Select Image - + Theme Name Missing Theme Name Missing - + There is no name for this theme. Please enter one. There is no name for this theme. Please enter one. - + Theme Name Invalid Theme Name Invalid - + Invalid theme name. Please enter one. Invalid theme name. Please enter one. - + (approximately %d lines per slide) (approximately %d lines per slide) @@ -3666,7 +3681,7 @@ The content encoding is not UTF-8. You must select a theme to edit. - + You are unable to delete the default theme. You are unable to delete the default theme. @@ -3706,19 +3721,19 @@ The content encoding is not UTF-8. Select Theme Import File - + File is not a valid theme. The content encoding is not UTF-8. File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. File is not a valid theme. - + Theme %s is used in the %s plugin. Theme %s is used in the %s plugin. @@ -3768,12 +3783,12 @@ The content encoding is not UTF-8. Delete %s theme? - + Validation Error Validation Error - + A theme with this name already exists. A theme with this name already exists. @@ -3792,260 +3807,270 @@ The content encoding is not UTF-8. OpenLP.ThemeWizard - + Theme Wizard Theme Wizard - + Welcome to the Theme Wizard Welcome to the Theme Wizard - + Set Up Background Set Up Background - + Set up your theme's background according to the parameters below. Set up your theme's background according to the parameters below. - + Background type: Background type: - + Solid Color Solid Colour - + Gradient Gradient - + Color: Colour: - + Gradient: Gradient: - + Horizontal Horizontal - + Vertical Vertical - + Circular Circular - + Top Left - Bottom Right Top Left - Bottom Right - + Bottom Left - Top Right Bottom Left - Top Right - + Main Area Font Details Main Area Font Details - + Define the font and display characteristics for the Display text Define the font and display characteristics for the Display text - + Font: Font: - + Size: Size: - + Line Spacing: Line Spacing: - + &Outline: &Outline: - + &Shadow: &Shadow: - + Bold Bold - + Italic Italic - + Footer Area Font Details Footer Area Font Details - + Define the font and display characteristics for the Footer text Define the font and display characteristics for the Footer text - + Text Formatting Details Text Formatting Details - + Allows additional display formatting information to be defined Allows additional display formatting information to be defined - + Horizontal Align: Horizontal Align: - + Left Left - + Right Right - + Center Centre - + Output Area Locations Output Area Locations - + Allows you to change and move the main and footer areas. Allows you to change and move the main and footer areas. - + &Main Area &Main Area - + &Use default location &Use default location - + X position: X position: - + px px - + Y position: Y position: - + Width: Width: - + Height: Height: - + Use default location Use default location - + Save and Preview Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: Theme name: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. - + Transitions: Transitions: - + &Footer Area &Footer Area - + Edit Theme - %s Edit Theme - %s - + Starting color: Starting color: - + Ending color: Ending color: - + Background color: Background color: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4690,52 +4715,52 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Select Presentation(s) - + Automatic Automatic - + Present using: Present using: - + File Exists File Exists - + A presentation with that filename already exists. A presentation with that filename already exists. - + This type of presentation is not supported. This type of presentation is not supported. - + Presentations (%s) Presentations (%s) - + Missing Presentation Missing Presentation - + The Presentation %s no longer exists. The Presentation %s no longer exists. - + The Presentation %s is incomplete, please reload. The Presentation %s is incomplete, please reload. @@ -4880,30 +4905,35 @@ The content encoding is not UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: Serve on IP address: - + Port number: Port number: - + Server Settings Server Settings - + Remote URL: Remote URL: - + Stage view URL: Stage view URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -5004,7 +5034,7 @@ The content encoding is not UTF-8. Are you sure you want to delete selected Song Usage data? - + Delete Song Usage Data Delete Song Usage Data @@ -5019,7 +5049,7 @@ The content encoding is not UTF-8. All requested data has been deleted successfully. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5648,100 +5678,110 @@ The encoding is responsible for the correct character representation.This wizard will help you to import songs from a variety of formats. Click the next button below to start the process by selecting a format to import from. - + Add Files... Add Files... - + Remove File(s) Remove File(s) - + Filename: Filename: - + Please wait while your songs are imported. Please wait while your songs are imported. - + Select Document/Presentation Files Select Document/Presentation Files - + Generic Document/Presentation Generic Document/Presentation - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. - + OpenLP 2.0 Databases OpenLP 2.0 Databases - + openlp.org v1.x Databases openlp.org v1.x Databases - + Words Of Worship Song Files Words Of Worship Song Files - + Songs Of Fellowship Song Files Songs Of Fellowship Song Files - + SongBeamer Files SongBeamer Files - + SongShow Plus Song Files SongShow Plus Song Files - + You need to specify at least one document or presentation file to import from. You need to specify at least one document or presentation file to import from. - + Foilpresenter Song Files Foilpresenter Song Files - + Copy Copy - + Save to File Save to File - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5769,7 +5809,7 @@ The encoding is responsible for the correct character representation.Lyrics - + CCLI License: CCLI License: @@ -5792,7 +5832,7 @@ The encoding is responsible for the correct character representation.Maintain the lists of authors, topics and books. - + copy For song cloning copy @@ -5817,7 +5857,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exporting "%s"... @@ -5889,7 +5929,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongImportForm - + Your song import failed. Your song import failed. diff --git a/resources/i18n/es.ts b/resources/i18n/es.ts index 74f1cec53..a4e0de09b 100644 --- a/resources/i18n/es.ts +++ b/resources/i18n/es.ts @@ -98,7 +98,7 @@ Do you want to continue anyway? No Placeholder Found - Marcador No Encontrado + No Marcador Encontrado @@ -412,38 +412,38 @@ Los cambios no se aplican a ítems en el servcio. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Registrando Biblia y cargando libros... - + Registering Language... Registrando Idioma... - + Importing %s... Importing <book name>... Importando %s... - + Download Error Error de Descarga - + 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. Hubo un problema al descargar los versículos seleccionados. Por favor revise la conexión a internet, y si el error persiste considere reportar esta falla. - + Parse Error Error de Análisis - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Hubo un problema al extraer los versículos seleccionados. Si el error persiste considere reportar esta falla. @@ -546,27 +546,27 @@ Los cambios no se aplican a ítems en el servcio. Debe especificar un archivo que contenga los versículos de la Biblia para importar. - + You need to specify a version name for your Bible. Debe ingresar un nombre para la versión de esta Biblia. - + Bible Exists Ya existe la Biblia - + Your Bible import failed. La importación de su Biblia falló. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Debe establecer los derechos de autor de su Biblia. Si es de Dominio Público debe indicarlo. - + This Bible already exists. Please import a different Bible or first delete the existing one. Ya existe esta Biblia. Por favor importe una diferente o borre la anterior antes de continuar. @@ -576,7 +576,7 @@ Los cambios no se aplican a ítems en el servcio. Permisos: - + CSV File Archivo CSV @@ -601,17 +601,17 @@ Los cambios no se aplican a ítems en el servcio. Archivo de versículos: - + openlp.org 1.x Bible Files Archivos de Biblia openlp.org 1.x - + Registering Bible... Registrando Biblia... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Biblia registrada. Note que los versículos se descargarán según @@ -1112,7 +1112,7 @@ Note que los versículos se descargarán según sea necesario, por lo que debe c ImagePlugin.ExceptionDialog - + Select Attachment Seleccionar Anexo @@ -1165,17 +1165,17 @@ Do you want to add the other images anyway? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1249,7 +1249,7 @@ Do you want to add the other images anyway? Seleccionar Medios - + You must select a media file to delete. Debe seleccionar un medio para eliminar. @@ -1634,7 +1634,7 @@ Portions copyright © 2004-2011 %s Archivo Adjunto - + Description characters to enter : %s Caracteres faltantes: %s @@ -1642,24 +1642,24 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Plataforma: %s - + Save Crash Report Guardar Reporte de Errores - + Text files (*.txt *.log *.text) Archivos de texto (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1690,7 +1690,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2789,7 +2789,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected Nada Seleccionado @@ -2799,42 +2799,42 @@ Database: %s &Agregar al ítem del Servico - + You must select one or more items to preview. Debe seleccionar uno o más ítems para visualizar. - + You must select one or more items to send live. Debe seleccionar uno o más ítems para proyectar. - + You must select one or more items. Debe seleccionar uno o más ítems. - + You must select an existing service item to add to. Debe seleccionar un servicio existente al cual añadir. - + Invalid Service Item Ítem de Servicio no válido - + You must select a %s service item. Debe seleccionar un(a) %s del servicio. - + You must select one or more items to add. Debe seleccionar uno o más ítemes para agregar. - + No Search Results Sin Resultados @@ -3010,12 +3010,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s - + <strong>Length</strong>: %s @@ -3031,209 +3031,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Mover al &inicio - + Move item to the top of the service. Mover el ítem al inicio del servicio. - + Move &up S&ubir - + Move item up one position in the service. Mover el ítem una posición hacia arriba. - + Move &down Ba&jar - + Move item down one position in the service. Mover el ítem una posición hacia abajo. - + Move to &bottom Mover al &final - + Move item to the end of the service. Mover el ítem al final del servicio. - + &Delete From Service &Eliminar Del Servicio - + Delete the selected item from the service. Eliminar el ítem seleccionado del servicio. - + &Add New Item &Agregar un ítem nuevo - + &Add to Selected Item &Agregar al ítem Seleccionado - + &Edit Item &Editar ítem - + &Reorder Item &Reorganizar ítem - + &Notes &Notas - + &Change Item Theme &Cambiar Tema de ítem - + File is not a valid service. The content encoding is not UTF-8. Este no es un servicio válido. La codificación del contenido no es UTF-8. - + File is not a valid service. El archivo no es un servicio válido. - + Missing Display Handler Controlador de Pantalla Faltante - + Your item cannot be displayed as there is no handler to display it No se puede mostrar el ítem porque no hay un controlador de pantalla disponible - + Your item cannot be displayed as the plugin required to display it is missing or inactive El ítem no se puede mostar porque falta el complemento requerido o esta desabilitado - + &Expand all &Expandir todo - + Expand all the service items. Expandir todos los ítems del servicio. - + &Collapse all &Colapsar todo - + Collapse all the service items. Colapsar todos los ítems del servicio. - + Open File Abrir Archivo - + OpenLP Service Files (*.osz) Archivo de Servicio OpenLP (*.osz) - + Moves the selection down the window. Mover selección hacia abajo. - + Move up Subir - + Moves the selection up the window. Mover selección hacia arriba. - + Go Live Proyectar - + Send the selected item to Live. Proyectar el ítem seleccionado. - + Modified Service Servicio Modificado - + &Start Time &Tiempo de Inicio - + Show &Preview Mostrar &Vista previa - + Show &Live Mostrar &Proyección - + The current service has been modified. Would you like to save this service? El servicio actual a sido modificado. ¿Desea guardar este servicio? - + File could not be opened because it is corrupt. No se pudo abrir el archivo porque está corrompido. - + Empty File Archivo Vacio - + This service file does not contain any data. El archivo de servicio no contiene ningún dato. - + Corrupt File Archivo Corrompido @@ -3253,42 +3253,42 @@ La codificación del contenido no es UTF-8. Tiempo de reproducción: - + Untitled Service Servicio Sin nombre - + Load an existing service. Abrir un servicio existente. - + Save this service. Guardar este servicio. - + Select a theme for the service. Seleccione un tema para el servicio. - + This file is either corrupt or it is not an OpenLP 2.0 service file. El archivo está corrupto o no es un archivo OpenLP 2.0 válido. - + Slide theme - + Notes - + Service File Missing @@ -3415,17 +3415,17 @@ La codificación del contenido no es UTF-8. Diapositiva Siguiente - + Previous Service Servicio Anterior - + Next Service Servicio Siguiente - + Escape Item Salir de ítem @@ -3545,36 +3545,51 @@ La codificación del contenido no es UTF-8. Start time is after the finish time of the media item El Inicio se establece despues del final del medio actual + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Seleccionar Imagen - + Theme Name Missing Falta Nombre de Tema - + There is no name for this theme. Please enter one. No existe nombre para este tema. Ingrese uno. - + Theme Name Invalid Nombre de Tema no válido - + Invalid theme name. Please enter one. Nombre de tema no válido. Ingrese uno. - + (approximately %d lines per slide) (aproximadamente %d líneas por diapositiva) @@ -3652,7 +3667,7 @@ La codificación del contenido no es UTF-8. Debe seleccionar un tema para editar. - + You are unable to delete the default theme. No se puede eliminar el tema predeterminado. @@ -3692,19 +3707,19 @@ La codificación del contenido no es UTF-8. Seleccione el Archivo de Tema a Importar - + File is not a valid theme. The content encoding is not UTF-8. Este no es un tema válido. La codificación del contenido no es UTF-8. - + File is not a valid theme. El archivo no es un tema válido. - + Theme %s is used in the %s plugin. El tema %s se usa en el complemento %s. @@ -3754,12 +3769,12 @@ La codificación del contenido no es UTF-8. ¿Eliminar el tema %s? - + Validation Error Error de Validación - + A theme with this name already exists. Ya existe un tema con este nombre. @@ -3778,260 +3793,270 @@ La codificación del contenido no es UTF-8. OpenLP.ThemeWizard - + Theme Wizard Asistente para Temas - + Welcome to the Theme Wizard Bienvenido al Asistente para Temas - + Set Up Background Establecer un fondo - + Set up your theme's background according to the parameters below. Establecer el fondo de su tema según los siguientes parámetros. - + Background type: Tipo de fondo: - + Solid Color Color Sólido - + Gradient Gradiente - + Color: Color: - + Gradient: Gradiente: - + Horizontal Horizontal - + Vertical Vertical - + Circular Circular - + Top Left - Bottom Right Arriba Izquierda - Abajo Derecha - + Bottom Left - Top Right Abajo Izquierda - Abajo Derecha - + Main Area Font Details Fuente del Área Principal - + Define the font and display characteristics for the Display text Definir la fuente y las características para el texto en Pantalla - + Font: Fuente: - + Size: Tamaño: - + Line Spacing: Epaciado de Líneas: - + &Outline: &Contorno: - + &Shadow: &Sombra: - + Bold Negrita - + Italic Cursiva - + Footer Area Font Details Fuente de Pié de página - + Define the font and display characteristics for the Footer text Definir la fuente y las características para el texto de Pié de página - + Text Formatting Details Detalles de Formato - + Allows additional display formatting information to be defined Permite definir información adicional de formato - + Horizontal Align: Alinea. Horizontal: - + Left Izquierda - + Right Derecha - + Center Centro - + Output Area Locations Ubicación del Área de Proyección - + Allows you to change and move the main and footer areas. Le permite mover y cambiar la ubicación del área principal y de pié de página. - + &Main Area Área &Principal - + &Use default location &Usar ubicación por defecto - + X position: Posición x: - + px px - + Y position: Posición y: - + Width: Ancho: - + Height: Altura: - + Use default location Usar ubicación por defecto - + Save and Preview Guardar && Previsualizar - + View the theme and save it replacing the current one or change the name to create a new theme Ver el tema y guardarlo reemplazando el actual o cambiando el nombre para crear un tema nuevo - + Theme name: Nombre: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. Este asistente le ayudará a crear y editar temas. Presione Siguiente para iniciar el proceso al establecer el fondo. - + Transitions: Transiciones: - + &Footer Area &Pie de Página - + Edit Theme - %s Editar Tema - %s - + Starting color: - + Ending color: - + Background color: Color de fondo: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4676,52 +4701,52 @@ La codificación del contenido no es UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Seleccionar Presentación(es) - + Automatic Automático - + Present using: Mostrar usando: - + File Exists Ya existe el Archivo - + A presentation with that filename already exists. Ya existe una presentación con este nombre. - + This type of presentation is not supported. No existe soporte para este tipo de presentación. - + Presentations (%s) Presentaciones (%s) - + Missing Presentation Presentación faltante - + The Presentation %s no longer exists. La Presentación %s ya no esta disponible. - + The Presentation %s is incomplete, please reload. La Presentación %s esta incompleta, por favor recargela. @@ -4866,30 +4891,35 @@ La codificación del contenido no es UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: Dirección IP a Servir: - + Port number: Puerto número: - + Server Settings Config. de Servidor - + Remote URL: URL Remota: - + Stage view URL: URL Administración: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4980,7 +5010,7 @@ La codificación del contenido no es UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Borrar historial de canción @@ -5005,7 +5035,7 @@ La codificación del contenido no es UTF-8. Todos los datos han sido borrados exitosamente. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5622,7 +5652,7 @@ La codificación se encarga de la correcta representación de caracteres. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files Seleccione Documento/Presentación @@ -5637,95 +5667,105 @@ La codificación se encarga de la correcta representación de caracteres.Este asistente le ayudará a importar canciones de diversos formatos. Presione Siguiente para iniciar el proceso al seleccionar un formato a importar. - + Generic Document/Presentation Documento/Presentación genérica - + Filename: Nombre: - + Add Files... Agregar Archivos... - + Remove File(s) Eliminar Archivo(s) - + Please wait while your songs are imported. Por favor espere mientras se exportan las canciones. - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. El importador OpenLyrics no esta desarrollado, pero puede notar que tenemos la intención de hacerlo. Esperamos incluirlo en la siguiente versión. - + OpenLP 2.0 Databases Base de Datos OpenLP 2.0 - + openlp.org v1.x Databases Base de datos openlp v1.x - + Words Of Worship Song Files Archivo Words Of Worship - + Songs Of Fellowship Song Files Archivo Songs Of Fellowship - + SongBeamer Files Archivo SongBeamer - + SongShow Plus Song Files Archivo SongShow Plus - + You need to specify at least one document or presentation file to import from. Debe especificar al menos un documento o presentación para importar. - + Foilpresenter Song Files Archivo Foilpresenter - + Copy Copiar - + Save to File Guardar a Archivo - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. El importador de Songs of Fellowship se ha deshabilitado porque OpenOffice.org o LibreOffice no esta disponible. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. El importador documento/presentación se ha deshabilitado porque OpenOffice.org o LibreOffice no esta disponible. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5753,7 +5793,7 @@ La codificación se encarga de la correcta representación de caracteres.Letra - + CCLI License: Licensia CCLI: @@ -5776,7 +5816,7 @@ La codificación se encarga de la correcta representación de caracteres.Administrar la lista de autores, categorías y libros. - + copy For song cloning @@ -5801,7 +5841,7 @@ La codificación se encarga de la correcta representación de caracteres. SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exportando "%s"... @@ -5873,7 +5913,7 @@ La codificación se encarga de la correcta representación de caracteres. SongsPlugin.SongImportForm - + Your song import failed. La importación falló. diff --git a/resources/i18n/et.ts b/resources/i18n/et.ts index d92eec3e5..782fd1cce 100644 --- a/resources/i18n/et.ts +++ b/resources/i18n/et.ts @@ -412,38 +412,38 @@ Muudatused ei rakendu juba teenistusesse lisatud salmidele. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Piibli registreerimine ja raamatute laadimine... - + Registering Language... Keele registreerimine... - + Importing %s... Importing <book name>... %s importimine... - + Download Error Tõrge allalaadimisel - + 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. Valitud salmide allalaadimisel esines viga. Kontrolli oma internetiühendust ning kui see viga kordub, teata sellest veast. - + Parse Error Parsimise viga - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Sinu salmide vahemiku analüüsimisel esines viga. Kui see viga kordub, siis palun teata sellest veast. @@ -546,27 +546,27 @@ Muudatused ei rakendu juba teenistusesse lisatud salmidele. Pead ette andma piiblisalmide faili, mida importida. - + You need to specify a version name for your Bible. Pead määrama Piibli versiooni nime. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Pead määrama piiblitõlke autoriõiguse! Avalikkuse omandisse kuuluvad Piiblid tuleb vastavalt tähistada. - + Bible Exists Piibel on juba olemas - + This Bible already exists. Please import a different Bible or first delete the existing one. See Piibel on juba olemas! Palun impordi mingi muu Piibel või kustuta enne olemasolev. - + Your Bible import failed. Piibli importimine nurjus. @@ -576,7 +576,7 @@ Muudatused ei rakendu juba teenistusesse lisatud salmidele. Õigused: - + CSV File CSV fail @@ -601,17 +601,17 @@ Muudatused ei rakendu juba teenistusesse lisatud salmidele. Salmide fail: - + openlp.org 1.x Bible Files openlp.org 1.x piiblifailid - + Registering Bible... Piibli registreerimine... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Piibel on registreeritud. Pea meeles, et salmid laaditakse alla @@ -1112,7 +1112,7 @@ Pane tähele, et veebipiiblite salmid laaditakse internetist vajadusel, seega on ImagePlugin.ExceptionDialog - + Select Attachment Manuse valimine @@ -1164,17 +1164,17 @@ Do you want to add the other images anyway? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1248,7 +1248,7 @@ Do you want to add the other images anyway? Meedia valimine - + You must select a media file to delete. Pead valima meedia, mida kustutada. @@ -1632,7 +1632,7 @@ Osade autoriõigus © 2004-2011 %s Pane fail kaasa - + Description characters to enter : %s Puuduvad tähed kirjelduses: %s @@ -1640,24 +1640,24 @@ Osade autoriõigus © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Platvorm: %s - + Save Crash Report Vearaporti salvestamine - + Text files (*.txt *.log *.text) Tekstifailid (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1688,7 +1688,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2788,7 +2788,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected Ühtegi elementi pole valitud @@ -2798,42 +2798,42 @@ Database: %s &Lisa valitud teenistuse elemendile - + You must select one or more items to preview. Sa pead valima vähemalt ühe kirje, mida eelvaadelda. - + You must select one or more items to send live. Sa pead valima vähemalt ühe kirje, mida tahad ekraanil näidata. - + You must select one or more items. Pead valima vähemalt ühe elemendi. - + You must select an existing service item to add to. Pead valima olemasoleva teenistuse, millele lisada. - + Invalid Service Item Vigane teenistuse element - + You must select a %s service item. Pead valima teenistuse elemendi %s. - + You must select one or more items to add. - + No Search Results @@ -3009,12 +3009,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s - + <strong>Length</strong>: %s @@ -3030,209 +3030,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Tõsta ü&lemiseks - + Move item to the top of the service. Teenistuse algusesse tõstmine. - + Move &up Liiguta &üles - + Move item up one position in the service. Elemendi liigutamine teenistuses ühe koha võrra ettepoole. - + Move &down Liiguta &alla - + Move item down one position in the service. Elemendi liigutamine teenistuses ühe koha võrra tahapoole. - + Move to &bottom Tõsta &alumiseks - + Move item to the end of the service. Teenistuse lõppu tõstmine. - + &Delete From Service &Kustuta teenistusest - + Delete the selected item from the service. Valitud elemendi kustutamine teenistusest. - + &Add New Item &Lisa uus element - + &Add to Selected Item &Lisa valitud elemendile - + &Edit Item &Muuda kirjet - + &Reorder Item &Muuda elemendi kohta järjekorras - + &Notes &Märkmed - + &Change Item Theme &Muuda elemendi kujundust - + File is not a valid service. The content encoding is not UTF-8. Fail ei ole sobiv teenistus. Sisu ei ole UTF-8 kodeeringus. - + File is not a valid service. Fail pole sobiv teenistus. - + Missing Display Handler Puudub kuvakäsitleja - + Your item cannot be displayed as there is no handler to display it Seda elementi pole võimalik näidata ekraanil, kuna puudub seda käsitsev programm - + Your item cannot be displayed as the plugin required to display it is missing or inactive Seda elementi pole võimalik näidata ekraanil, kuna puudub seda käsitsev programm - + &Expand all &Laienda kõik - + Expand all the service items. Kõigi teenistuse kirjete laiendamine. - + &Collapse all &Ahenda kõik - + Collapse all the service items. Kõigi teenistuse kirjete ahendamine. - + Open File Faili avamine - + OpenLP Service Files (*.osz) OpenLP teenistuse failid (*.osz) - + Moves the selection down the window. Valiku tõstmine aknas allapoole. - + Move up Liiguta üles - + Moves the selection up the window. Valiku tõstmine aknas ülespoole. - + Go Live Ekraanile - + Send the selected item to Live. Valitud kirje saatmine ekraanile. - + Modified Service Teenistust on muudetud - + &Start Time &Alguse aeg - + Show &Preview Näita &eelvaadet - + Show &Live Näita &ekraanil - + The current service has been modified. Would you like to save this service? Praegust teensitust on muudetud. Kas tahad selle teenistuse salvestada? - + File could not be opened because it is corrupt. Faili pole võimalik avada, kuna see on rikutud. - + Empty File Tühi fail - + This service file does not contain any data. Selles teenistuse failis pole andmeid. - + Corrupt File Rikutud fail @@ -3252,42 +3252,42 @@ Sisu ei ole UTF-8 kodeeringus. Kestus: - + Untitled Service Pealkirjata teenistus - + Load an existing service. Olemasoleva teenistuse laadimine. - + Save this service. Selle teenistuse salvestamine. - + Select a theme for the service. Teenistuse jaoks kujunduse valimine. - + This file is either corrupt or it is not an OpenLP 2.0 service file. - + Slide theme - + Notes - + Service File Missing @@ -3414,17 +3414,17 @@ Sisu ei ole UTF-8 kodeeringus. Järgmine slaid - + Previous Service Eelmine teenistus - + Next Service Järgmine teenistus - + Escape Item Kuva sulgemine @@ -3544,36 +3544,51 @@ Sisu ei ole UTF-8 kodeeringus. Start time is after the finish time of the media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Pildi valimine - + Theme Name Missing Kujundusel puudub nimi - + There is no name for this theme. Please enter one. Kujundusel ei ole nime. Palun sisesta nimi. - + Theme Name Invalid Sobimatu kujunduse nimi - + Invalid theme name. Please enter one. Kujunduse nimi pole sobiv. Palun sisesta sobiv nimi. - + (approximately %d lines per slide) @@ -3651,12 +3666,12 @@ Sisu ei ole UTF-8 kodeeringus. Pead valima kujunduse, mida muuta. - + You are unable to delete the default theme. Vaikimisi kujundust pole võimalik kustutada. - + Theme %s is used in the %s plugin. Kujundust %s kasutatakse pluginas %s. @@ -3696,14 +3711,14 @@ Sisu ei ole UTF-8 kodeeringus. Importimiseks kujunduse faili valimine - + File is not a valid theme. The content encoding is not UTF-8. See fail ei ole korrektne kujundus. Sisu kodeering ei ole UTF-8. - + File is not a valid theme. See fail ei ole sobilik kujundus. @@ -3753,12 +3768,12 @@ Sisu kodeering ei ole UTF-8. Kas kustutada kujundus %s? - + Validation Error Valideerimise viga - + A theme with this name already exists. Sellenimeline teema on juba olemas. @@ -3777,260 +3792,270 @@ Sisu kodeering ei ole UTF-8. OpenLP.ThemeWizard - + Theme Wizard Kujunduse nõustaja - + Welcome to the Theme Wizard Tere tulemast kujunduse nõustajasse - + Set Up Background Tausta määramine - + Set up your theme's background according to the parameters below. Määra kujunduse taust, kasutades järgnevaid parameetreid. - + Background type: Tausta liik: - + Solid Color Ühtlane värv - + Gradient Üleminek - + Color: Värvus: - + Gradient: Üleminek: - + Horizontal Horisontaalne - + Vertical Vertikaalne - + Circular Radiaalne - + Top Left - Bottom Right Loodest kagusse - + Bottom Left - Top Right Edelast kirdesse - + Main Area Font Details Peamise teksti üksikasjad - + Define the font and display characteristics for the Display text Määra font ja teised teksti omadused - + Font: Font: - + Size: Suurus: - + Line Spacing: Reavahe: - + &Outline: &Kontuurjoon: - + &Shadow: &Vari: - + Bold Rasvane - + Italic Kaldkiri - + Footer Area Font Details Jaluse fondi üksikasjad - + Define the font and display characteristics for the Footer text Määra jaluse font ja muud omadused - + Text Formatting Details Teksti vorminduse üksikasjad - + Allows additional display formatting information to be defined Võimaldab määrata lisaks vorminduse andmeid - + Horizontal Align: Rõhtjoondus: - + Left Vasakul - + Right Paremal - + Center Keskel - + Output Area Locations Väljundala asukoht - + Allows you to change and move the main and footer areas. Võimaldab muuta ja liigutada peamist ja jaluse ala. - + &Main Area &Peamine ala - + &Use default location &Vaikimisi asukoha kasutamine - + X position: X-asukoht: - + px px - + Y position: Y-asukoht: - + Width: Laius: - + Height: Kõrgus: - + Use default location Vaikimisi asukoha kasutamine - + Save and Preview Salvestamine ja eelvaade - + View the theme and save it replacing the current one or change the name to create a new theme Vaata kujundus üle ja salvesta see, asendades olemasolev või muuda nime, et luua uus kujundus - + Theme name: Kujunduse nimi: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. See nõustaja aitab kujundusi luua ja muuta. Klõpsa edasi nupul, et alustada tausta määramisest. - + Transitions: Üleminekud: - + &Footer Area &Jaluse ala - + Edit Theme - %s Teema muutmine - %s - + Starting color: - + Ending color: - + Background color: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4675,52 +4700,52 @@ Sisu kodeering ei ole UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Esitlus(t)e valimine - + Automatic Automaatne - + Present using: Esitluseks kasutatakse: - + File Exists Fail on olemas - + A presentation with that filename already exists. Sellise nimega esitluse fail on juba olemas. - + This type of presentation is not supported. Seda liiki esitlus ei ole toetatud. - + Presentations (%s) Esitlused (%s) - + Missing Presentation Puuduv esitlus - + The Presentation %s no longer exists. Esitlust %s enam ei ole. - + The Presentation %s is incomplete, please reload. Esitlus %s ei ole täielik, palun laadi see uuesti. @@ -4865,30 +4890,35 @@ Sisu kodeering ei ole UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: Saadaval IP-aadressilt: - + Port number: Pordi number: - + Server Settings Serveri sätted - + Remote URL: - + Stage view URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4979,7 +5009,7 @@ Sisu kodeering ei ole UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Laulukasutuse andmete kustutamine @@ -5004,7 +5034,7 @@ Sisu kodeering ei ole UTF-8. Kõik kustutamisele määratud andmed kustutati edukalt. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5620,7 +5650,7 @@ Kodeering on vajalik märkide õige esitamise jaoks. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files Dokumentide/esitluste valimine @@ -5635,95 +5665,105 @@ Kodeering on vajalik märkide õige esitamise jaoks. See nõustaja aitab sul laule importida paljudest erinevatest formaatidest. Klõpsa all asuvat edasi nuppu, et jätkata tegevust importimise vormingu valimisega. - + Generic Document/Presentation Tavaline dokumenti/esitlus - + Filename: Failinimi: - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. OpenLyrics importija ei ole veel valmis, kuid nagu sa näed, on meil plaanis see luua. Loodetavasti saab see järgmiseks väljalaskeks valmis. - + Add Files... Lisa faile... - + Remove File(s) Faili(de) eemaldamine - + Please wait while your songs are imported. Palun oota, kuni laule imporditakse. - + OpenLP 2.0 Databases OpenLP 2.0 andmebaas - + openlp.org v1.x Databases openlp.org v1.x andmebaas - + Words Of Worship Song Files Words Of Worship Song failid - + You need to specify at least one document or presentation file to import from. Pead määrama vähemalt ühe dokumendi või esitluse faili, millest tahad importida. - + Songs Of Fellowship Song Files Songs Of Fellowship laulufailid - + SongBeamer Files SongBeameri failid - + SongShow Plus Song Files SongShow Plus laulufailid - + Foilpresenter Song Files Foilpresenteri laulufailid - + Copy Kopeeri - + Save to File Salvesta faili - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5751,7 +5791,7 @@ Kodeering on vajalik märkide õige esitamise jaoks. Laulusõnad - + CCLI License: CCLI litsents: @@ -5774,7 +5814,7 @@ Kodeering on vajalik märkide õige esitamise jaoks. Autorite, teemade ja laulikute loendi haldamine. - + copy For song cloning @@ -5799,7 +5839,7 @@ Kodeering on vajalik märkide õige esitamise jaoks. SongsPlugin.OpenLyricsExport - + Exporting "%s"... "%s" eksportimine... @@ -5871,7 +5911,7 @@ Kodeering on vajalik märkide õige esitamise jaoks. SongsPlugin.SongImportForm - + Your song import failed. Laulu importimine nurjus. diff --git a/resources/i18n/fr.ts b/resources/i18n/fr.ts index 05630347d..3cd6efd6f 100644 --- a/resources/i18n/fr.ts +++ b/resources/i18n/fr.ts @@ -412,38 +412,38 @@ Les changement ne s'applique aux versets déjà un service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Enregistrement de la Bible et chargement des livres... - + Registering Language... Enregistrement des langages... - + Importing %s... Importing <book name>... Importation %s... - + Download Error Erreur de téléchargement - + 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. Il y a un problème de téléchargement de votre sélection de verset. Pouvez-vous contrôler votre connexion Internet, et si cette erreur persiste pensez a rapporter un dysfonctionnement. - + Parse Error Erreur syntaxique - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Il y a un problème pour extraire votre sélection de verset. Si cette erreur persiste pensez a rapporter un dysfonctionnement. @@ -556,32 +556,32 @@ Les changement ne s'applique aux versets déjà un service. Vous devez spécifier un fichier de verset biblique à importer. - + You need to specify a version name for your Bible. Vous devez spécifier un nom de version pour votre Bible. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Vous devez introduire un copyright pour votre Bible. Les Bibles dans le domaine publics doivent être marquée comme trouvé. - + Bible Exists La Bible existe - + This Bible already exists. Please import a different Bible or first delete the existing one. Cette bible existe déjà. Veuillez introduire un non de Bible différent ou commencer par supprimer celle qui existe déjà. - + CSV File Fichier CSV - + Your Bible import failed. Votre import de Bible à échoué. @@ -601,17 +601,17 @@ Les changement ne s'applique aux versets déjà un service. Fichiers de versets : - + openlp.org 1.x Bible Files Fichiers Bible openlp.org 1.x - + Registering Bible... Enregistrement de Bible... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Enregistrement de Bible. Remarquer que les versets vont être @@ -1112,7 +1112,7 @@ Veuillez remarquer, que les versets des Bibles Web sont téléchargés à la dem ImagePlugin.ExceptionDialog - + Select Attachment Sélectionne attachement @@ -1165,17 +1165,17 @@ Voulez-vous ajouter de toute façon d'autres images ? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1269,7 +1269,7 @@ Voulez-vous ajouter de toute façon d'autres images ? Le fichier %s n'existe plus. - + You must select a media file to delete. Vous devez sélectionné un fichier média à effacer. @@ -1635,7 +1635,7 @@ Copyright de composant © 2004-2011 %s Attacher un fichier - + Description characters to enter : %s Description a introduire : %s @@ -1643,24 +1643,24 @@ Copyright de composant © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Plateforme: %s - + Save Crash Report Sauve le rapport de crache - + Text files (*.txt *.log *.text) Fichiers texte (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1691,7 +1691,7 @@ Version : %s - + *OpenLP Bug Report* Version: %s @@ -2791,7 +2791,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected Pas d'éléments sélectionné @@ -2801,42 +2801,42 @@ Database: %s &Ajoute à l'élément sélectionné du service - + You must select one or more items to preview. Vous devez sélectionner un ou plusieurs éléments a prévisualiser. - + You must select one or more items to send live. Vous devez sélectionner un ou plusieurs éléments pour les envoyer en direct. - + You must select one or more items. Vous devez sélectionner un ou plusieurs éléments. - + You must select an existing service item to add to. Vous devez sélectionner un élément existant du service pour l'ajouter. - + Invalid Service Item Élément du service invalide - + You must select a %s service item. Vous devez sélectionner un %s élément du service. - + You must select one or more items to add. Vous devez sélectionner un ou plusieurs éléments a ajouter. - + No Search Results Pas de résultats de recherche @@ -3013,12 +3013,12 @@ Suffixe pas supporter OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>Début</strong> : %s - + <strong>Length</strong>: %s <strong>Longueur</strong> : %s @@ -3034,209 +3034,209 @@ Suffixe pas supporter OpenLP.ServiceManager - + Move to &top Place en &premier - + Move item to the top of the service. Place l'élément au début du service. - + Move &up Déplace en &haut - + Move item up one position in the service. Déplace l'élément d'une position en haut. - + Move &down Déplace en &bas - + Move item down one position in the service. Déplace l'élément d'une position en bas. - + Move to &bottom Place en &dernier - + Move item to the end of the service. Place l'élément a la fin du service. - + Moves the selection up the window. Déplace la sélection en haut de la fenêtre. - + Move up Déplace en haut - + &Delete From Service &Retire du service - + Delete the selected item from the service. Retire l'élément sélectionné du service. - + &Expand all &Développer tous - + Expand all the service items. Développe tous les éléments du service. - + &Collapse all &Réduire tous - + Collapse all the service items. Réduit tous les élément du service. - + Go Live Lance le direct - + Send the selected item to Live. Envoie l'élément sélectionné en direct. - + &Add New Item &Ajoute un nouvel élément - + &Add to Selected Item &Ajoute a l'élément sélectionné - + &Edit Item &Édite l'élément - + &Reorder Item &Réordonne l'élément - + &Notes &Remarques - + &Change Item Theme &Change le thème de l'élément - + Open File Ouvre un fichier - + OpenLP Service Files (*.osz) Fichier service OpenLP (*.osz) - + File is not a valid service. The content encoding is not UTF-8. Le fichier n'est un service valide. Le contenu n'est pas de l'UTF-8. - + File is not a valid service. Le fichier n'est pas un service valide. - + Missing Display Handler Délégué d'affichage manquent - + Your item cannot be displayed as there is no handler to display it Votre élément ne peut pas être affiché il n'y a pas de délégué pour l'afficher - + Your item cannot be displayed as the plugin required to display it is missing or inactive Votre élément ne peut pas être affiché le module nécessaire pour l'afficher est manquant ou inactif - + Moves the selection down the window. Déplace la sélection en bas de la fenêtre. - + Modified Service Service modifié - + &Start Time Temps de &début - + Show &Preview Affiche en &prévisualisation - + Show &Live Affiche en &direct - + The current service has been modified. Would you like to save this service? Le service courant à été modifier. Voulez-vous l'enregistrer ? - + File could not be opened because it is corrupt. Le fichier n'a pas pu être ouvert car il est corrompu. - + Empty File Fichier vide - + This service file does not contain any data. Ce fichier de service ne contiens aucune données. - + Corrupt File Fichier corrompu @@ -3256,42 +3256,42 @@ Le contenu n'est pas de l'UTF-8. Durée du service : - + Untitled Service Service sans titre - + Load an existing service. Charge un service existant. - + Save this service. Enregistre ce service. - + Select a theme for the service. Sélectionne un thème pour le service. - + This file is either corrupt or it is not an OpenLP 2.0 service file. Ce fichier est sois corrompu ou n'est pas un fichier de service OpenLP 2.0. - + Slide theme Thème de diapositive - + Notes Notes - + Service File Missing Fichier de service manquant @@ -3418,17 +3418,17 @@ Le contenu n'est pas de l'UTF-8. Aller à - + Previous Service Service précédent - + Next Service Service suivant - + Escape Item Élément échappement @@ -3548,36 +3548,51 @@ Le contenu n'est pas de l'UTF-8. Start time is after the finish time of the media item Le temps de début est avant le temps de fin de l'élément média + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Sélectionne l'image - + Theme Name Missing Nom du thème manquant - + There is no name for this theme. Please enter one. Il n'y a pas ne nom pour ce thème. Veillez en introduire un. - + Theme Name Invalid Nom du thème invalide - + Invalid theme name. Please enter one. Nom du thème invalide. Veuillez en introduire un. - + (approximately %d lines per slide) (approximativement %d lignes pas diapositive) @@ -3735,34 +3750,34 @@ Le contenu n'est pas de l'UTF-8. Select le fichier thème à importer - + File is not a valid theme. The content encoding is not UTF-8. Le fichier n'est pas un thème. Le contenu n'est pas de l'UTF-8. - + Validation Error Erreur de validation - + File is not a valid theme. Le fichier n'est pas un thème valide. - + A theme with this name already exists. Le thème avec ce nom existe déjà. - + You are unable to delete the default theme. Vous ne pouvez pas supprimer le thème par défaut. - + Theme %s is used in the %s plugin. Thème %s est utiliser par le module %s. @@ -3781,260 +3796,270 @@ Le contenu n'est pas de l'UTF-8. OpenLP.ThemeWizard - + Edit Theme - %s Édite le thème - %s - + Theme Wizard Assistant thème - + Welcome to the Theme Wizard Bienvenue dans l'assistant thème - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. Cet assistant va vous aider à créer et éditer votre thème. Cliquer sur la bouton suivant pour démarrer le processus par configurer votre fond. - + Set Up Background Établir le font - + Set up your theme's background according to the parameters below. Établir le fond de votre thème en fonction des paramètre si dessous. - + Background type: Type de font : - + Solid Color Couleur unie - + Gradient Dégrader - + Color: Couleur : - + Gradient: Dégrader : - + Horizontal Horizontal - + Vertical Vertical - + Circular Circulaire - + Top Left - Bottom Right Haut gauche - Bas droite - + Bottom Left - Top Right Bas gauche - Haut droite - + Main Area Font Details Aire principale détails de police - + Define the font and display characteristics for the Display text Définir la police et les caractéristique d'affichage pour afficher le text - + Font: Police : - + Size: Taille : - + Line Spacing: Espace des lignes : - + &Outline: &Contour : - + &Shadow: &Ombre : - + Bold Gras - + Italic Italique - + Footer Area Font Details Détailles de la police du pied de page - + Define the font and display characteristics for the Footer text Définir la police et les caractéristiques d'affichage du texte en pied de page - + Text Formatting Details Détails de formatage du texte - + Allows additional display formatting information to be defined Permet de définir des paramètre d'affichage supplémentaire - + Horizontal Align: Alignement horizontal : - + Left Gauche - + Right Droite - + Center Centrer - + Transitions: Traductions : - + Output Area Locations Emplacement de la zone d'affichage - + Allows you to change and move the main and footer areas. Vous permettre de déplacer les zone principale et de pied de page. - + &Main Area Zone &principale - + &Use default location &Utilise l'emplacement par défaut - + X position: Position x : - + px px - + Y position: Position y : - + Width: Largeur : - + Height: Hauteur : - + &Footer Area Zone de &pied de page - + Use default location Utilise l'emplacement pas défaut - + Save and Preview Enregistre et prévisualise - + View the theme and save it replacing the current one or change the name to create a new theme Visualise le thème et l'enregistre a la place du thème courent, ou change le nom pour en créer un nouveau - + Theme name: Nom du thème : - + Starting color: Couleur de début : - + Ending color: Couleur de fin : - + Background color: Couleur de fond : + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4679,52 +4704,52 @@ Le contenu n'est pas de l'UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Sélectionne Présentation(s) - + Automatic Automatique - + Present using: Actuellement utilise : - + Presentations (%s) Présentations (%s) - + File Exists Fichier existe - + A presentation with that filename already exists. Une présentation avec ce nom de fichier existe déjà. - + This type of presentation is not supported. Ce type de présentation n'est pas supporté. - + Missing Presentation Présentation manquante - + The Presentation %s is incomplete, please reload. La présentation %s est incomplète, merci de recharger. - + The Presentation %s no longer exists. La présentation %s n'existe plus. @@ -4869,30 +4894,35 @@ Le contenu n'est pas de l'UTF-8. RemotePlugin.RemoteTab - + Server Settings Configuration du serveur - + Serve on IP address: Disponible sur l'adresse : - + Port number: Numéro de port : - + Remote URL: URL de contrôle : - + Stage view URL: URL de visualisation d'étape : + + + Display stage time in 12h format + + SongUsagePlugin @@ -4983,7 +5013,7 @@ Le contenu n'est pas de l'UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Supprime les données de suivi de l'utilisation des chants @@ -5008,7 +5038,7 @@ Le contenu n'est pas de l'UTF-8. Toutes les données demandées a été supprimées avec succès. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5637,100 +5667,110 @@ L'enccodage est responsable de l'affichage correct des caractères.Cet assistant vous aide a importer des chants de divers formats. Cliquez sur le bouton suivant ci-dessous pour démarrer le processus pas sélectionner le format à importer. - + Generic Document/Presentation Document/présentation générique - + Filename: Nom de fichiers : - + Add Files... Ajoute des fichiers... - + Remove File(s) Supprime des fichier(s) - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. L'import OpenLyrics n'a pas encore été déployer, mais comme vous pouvez le voir, nous avous toujours l'intention de le faire. J'espère que ce sera dans la prochaine version. - + Please wait while your songs are imported. Attendez pendant que vos chants sont importé. - + OpenLP 2.0 Databases Base de données OpenLP 2.0 - + openlp.org v1.x Databases Base de données openlp.org 1.x - + Words Of Worship Song Files Fichiers Chant Words Of Worship - + Select Document/Presentation Files Sélectionne les fichiers document/présentation - + Songs Of Fellowship Song Files Fichiers Chant Songs Of Fellowship - + SongBeamer Files Fichiers SongBeamer - + SongShow Plus Song Files Fichiers Chant SongShow Plus - + You need to specify at least one document or presentation file to import from. Vous devez spécifier au moins un fichier document ou présentation à importer. - + Foilpresenter Song Files Fichiers Chant Foilpresenter - + Copy Copier - + Save to File Enregistre dans le fichier - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. L'import de chants Fellowship à été désactivé car OpenLP ne peut accéder à OpenOffice ou LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. L'import générique de document/présentation à été désactiver car OpenLP ne peut accéder à OpenOffice ou LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5771,7 +5811,7 @@ L'enccodage est responsable de l'affichage correct des caractères. - + CCLI License: License CCLI : @@ -5781,7 +5821,7 @@ L'enccodage est responsable de l'affichage correct des caractères.Maintenir la liste des auteur, sujet et psautiers. - + copy For song cloning copier @@ -5806,7 +5846,7 @@ L'enccodage est responsable de l'affichage correct des caractères. SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exportation "%s"... @@ -5878,7 +5918,7 @@ L'enccodage est responsable de l'affichage correct des caractères. SongsPlugin.SongImportForm - + Your song import failed. Votre import de chant à échouer. diff --git a/resources/i18n/hu.ts b/resources/i18n/hu.ts index 1d305cc83..d9d2e6f5a 100644 --- a/resources/i18n/hu.ts +++ b/resources/i18n/hu.ts @@ -411,38 +411,38 @@ A módosítások nem érintik a már a szolgálati sorrendben lévő verseket. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Biblia regisztrálása és a könyvek letöltése… - + Registering Language... Nyelv regisztrálása… - + Importing %s... Importing <book name>... Importálás: %s… - + Download Error Letöltési hiba - + 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. Probléma történt a kijelölt versek letöltésekor. Kérem, ellenőrizd a az internetkapcsolatot, és ha a hiba nem oldódik meg, fontold meg a hiba bejelentését. - + Parse Error Feldolgozási hiba - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Probléma történt a kiválasztott versek kicsomagolásakor. Ha a hiba nem oldódik meg, fontold meg a hiba bejelentését. @@ -545,27 +545,27 @@ A módosítások nem érintik a már a szolgálati sorrendben lévő verseket.Meg kell adni egy fájlt a bibliai versekről az importáláshoz. - + You need to specify a version name for your Bible. Meg kell adni a biblia verziószámát. - + Bible Exists Biblia létezik - + Your Bible import failed. A biblia importálása nem sikerült. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Meg kell adni a biblia szerzői jogait. A közkincsű bibliákat meg kell jelölni ilyennek. - + This Bible already exists. Please import a different Bible or first delete the existing one. Ez a biblia már létezik. Kérlek, importálj egy másik bibliát vagy előbb töröld a meglévőt. @@ -575,7 +575,7 @@ A módosítások nem érintik a már a szolgálati sorrendben lévő verseket.Engedélyek: - + CSV File CSV fájl @@ -600,17 +600,17 @@ A módosítások nem érintik a már a szolgálati sorrendben lévő verseket.Versek fájl: - + openlp.org 1.x Bible Files openlp.org 1.x biblia fájlok - + Registering Bible... Biblia regisztrálása… - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Biblia regisztrálva. Megjegyzés: a versek csak kérésre lesznek letöltve és ekkor internet kapcsolat szükségeltetik. @@ -1109,7 +1109,7 @@ Megjegyzés: a webes bibliák versei csak kérésre lesznek letöltve és ekkor ImagePlugin.ExceptionDialog - + Select Attachment Melléklet kijelölése @@ -1162,17 +1162,17 @@ Szeretnél más képeket megadni? ImagesPlugin.ImageTab - + Background Color Háttérszín - + Default Color: Alapértelmezett szín: - + Provides border where image is not the correct dimensions for the screen when resized. Keretet hoz létre a kép körül, ha a kép mérete nem passzol a képernyő arányához. @@ -1246,7 +1246,7 @@ Szeretnél más képeket megadni? Médiafájl kijelölése - + You must select a media file to delete. Ki kell jelölni egy médiafájlt a törléshez. @@ -1630,7 +1630,7 @@ Részleges szerzői jog © 2004-2011 %s Fájl csatolása - + Description characters to enter : %s Leírás: %s @@ -1638,23 +1638,23 @@ Részleges szerzői jog © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s - + Save Crash Report Összeomlási jelentés mentése - + Text files (*.txt *.log *.text) Szöveg fájlok (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1672,7 +1672,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2769,7 +2769,7 @@ Adatbázis: %s OpenLP.MediaManagerItem - + No Items Selected Nincs kijelölt elem @@ -2779,42 +2779,42 @@ Adatbázis: %s &Hozzáadás a kijelölt sorrend elemhez - + You must select one or more items to preview. Ki kell jelölni egy elemet az előnézethez. - + You must select one or more items to send live. Ki kell jelölni egy élő adásba küldendő elemet. - + You must select one or more items. Ki kell jelölni egy vagy több elemet. - + You must select an existing service item to add to. Ki kell jelölni egy sorrend elemet, amihez hozzá szeretné adni. - + Invalid Service Item Érvénytelen sorrend elem - + You must select a %s service item. Ki kell jelölni egy %s sorrend elemet. - + You must select one or more items to add. Ki kell jelölni egy vagy több elemet a hozzáadáshoz. - + No Search Results Nincs találat @@ -2991,12 +2991,12 @@ Az utótag nem támogatott OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>Kezdés</strong>: %s - + <strong>Length</strong>: %s <strong>Hossz</strong>: %s @@ -3012,209 +3012,209 @@ Az utótag nem támogatott OpenLP.ServiceManager - + Move to &top Mozgatás &felülre - + Move item to the top of the service. Elem mozgatása a sorrend elejére. - + Move &up Mozgatás f&eljebb - + Move item up one position in the service. Elem mozgatása a sorrendben eggyel feljebb. - + Move &down Mozgatás &lejjebb - + Move item down one position in the service. Elem mozgatása a sorrendben eggyel lejjebb. - + Move to &bottom Mozgatás &alulra - + Move item to the end of the service. Elem mozgatása a sorrend végére. - + &Delete From Service &Törlés a sorrendből - + Delete the selected item from the service. Kijelölt elem törlése a sorrendből. - + &Add New Item Új elem &hozzáadása - + &Add to Selected Item &Hozzáadás a kijelölt elemhez - + &Edit Item &Elem szerkesztése - + &Reorder Item Elem újra&rendezése - + &Notes &Jegyzetek - + &Change Item Theme Elem témájának &módosítása - + OpenLP Service Files (*.osz) OpenLP sorrend fájlok (*.osz) - + File is not a valid service. The content encoding is not UTF-8. A fájl nem érvényes sorrend. A tartalom kódolása nem UTF-8. - + File is not a valid service. A fájl nem érvényes sorrend. - + Missing Display Handler Hiányzó képernyő kezelő - + Your item cannot be displayed as there is no handler to display it Az elemet nem lehet megjeleníteni, mert nincs kezelő, amely megjelenítené - + Your item cannot be displayed as the plugin required to display it is missing or inactive Az elemet nem lehet megjeleníteni, mert a bővítmény, amely kezelné, hiányzik vagy inaktív - + &Expand all Mind &kibontása - + Expand all the service items. Minden sorrend elem kibontása. - + &Collapse all Mind össze&csukása - + Collapse all the service items. Minden sorrend elem összecsukása. - + Moves the selection down the window. A kiválasztás lejjebb mozgatja az ablakot. - + Move up Mozgatás feljebb - + Moves the selection up the window. A kiválasztás feljebb mozgatja az ablakot. - + Go Live Élő adásba - + Send the selected item to Live. A kiválasztott elem élő adásba küldése. - + &Start Time &Kezdő időpont - + Show &Preview &Előnézet megjelenítése - + Show &Live Élő &adás megjelenítése - + Open File Fájl megnyitása - + Modified Service Módosított sorrend - + The current service has been modified. Would you like to save this service? Az aktuális sorrend módosult. Szeretnéd elmenteni? - + File could not be opened because it is corrupt. A fájl nem nyitható meg, mivel sérült. - + Empty File Üres fájl - + This service file does not contain any data. A szolgálati sorrend fájl nem tartalmaz semmilyen adatot. - + Corrupt File Sérült fájl @@ -3234,42 +3234,42 @@ A tartalom kódolása nem UTF-8. Lejátszási idő: - + Untitled Service Névnélküli szolgálat - + Load an existing service. Egy meglévő szolgálati sorrend betöltése. - + Save this service. Sorrend mentése. - + Select a theme for the service. Jelöljön ki egy témát a sorrendhez. - + This file is either corrupt or it is not an OpenLP 2.0 service file. A fájl vagy sérült vagy nem egy OpenLP 2.0 szolgálati sorrend fájl. - + Service File Missing Hiányzó sorrend fájl - + Slide theme Dia téma - + Notes Jegyzetek @@ -3396,17 +3396,17 @@ A tartalom kódolása nem UTF-8. Következő dia - + Previous Service Előző sorrend - + Next Service Következő sorrend - + Escape Item Kilépés az elemből @@ -3526,36 +3526,51 @@ A tartalom kódolása nem UTF-8. Start time is after the finish time of the media item A médiaelem kezdő időpontja későbbre van állítva, mint a befejezése + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Kép kijelölése - + Theme Name Missing Téma neve nincs megadva - + There is no name for this theme. Please enter one. A témának nincs neve, meg kell adni. - + Theme Name Invalid Érvénytelen téma név - + Invalid theme name. Please enter one. A téma neve érvénytelen, érvényeset kell megadni. - + (approximately %d lines per slide) (körülbelül %d sor diánként) @@ -3643,7 +3658,7 @@ A tartalom kódolása nem UTF-8. Törlés megerősítése - + You are unable to delete the default theme. Az alapértelmezett témát nem lehet törölni. @@ -3683,19 +3698,19 @@ A tartalom kódolása nem UTF-8. Importálandó téma fájl kijelölése - + File is not a valid theme. The content encoding is not UTF-8. Nem érvényes témafájl. A tartalom kódolása nem UTF-8. - + File is not a valid theme. Nem érvényes témafájl. - + Theme %s is used in the %s plugin. A(z) %s témát a(z) %s bővítmény használja. @@ -3740,12 +3755,12 @@ A tartalom kódolása nem UTF-8. OpenLP témák (*.theme *.otz) - + Validation Error Érvényességi hiba - + A theme with this name already exists. Ilyen fájlnéven már létezik egy téma. @@ -3759,260 +3774,270 @@ A tartalom kódolása nem UTF-8. OpenLP.ThemeWizard - + Theme Wizard Téma tündér - + Welcome to the Theme Wizard Üdvözlet a téma tündérben - + Set Up Background Háttér beállítása - + Set up your theme's background according to the parameters below. A téma háttere az alábbi paraméterekkel állítható be. - + Background type: Háttér típusa: - + Solid Color Homogén szín - + Gradient Színátmenet - + Color: Szín: - + Gradient: Színátmenet: - + Horizontal Vízszintes - + Vertical Függőleges - + Circular Körkörös - + Top Left - Bottom Right Bal felső sarokból jobb alsó sarokba - + Bottom Left - Top Right Bal alsó sarokból jobb felső sarokba - + Main Area Font Details Fő tartalom betűkészlet jellemzői - + Define the font and display characteristics for the Display text A fő szöveg betűkészlete és megjelenési tulajdonságai - + Font: Betűkészlet: - + Size: Méret: - + Line Spacing: Sorköz: - + &Outline: &Körvonal: - + &Shadow: &Árnyék: - + Bold Félkövér - + Italic Dőlt - + Footer Area Font Details Lábléc betűkészlet jellemzői - + Define the font and display characteristics for the Footer text A lábléc szöveg betűkészlete és megjelenési tulajdonságai - + Text Formatting Details Szövegformázás jellemzői - + Allows additional display formatting information to be defined További megjelenési formázások - + Horizontal Align: Vízszintes igazítás: - + Left Balra zárt - + Right Jobbra zárt - + Center Középre igazított - + Output Area Locations Pozíciók - + Allows you to change and move the main and footer areas. A fő szöveg és a lábléc helyzetének mozgatása. - + &Main Area &Fő szöveg - + &Use default location &Alapértelmezett helyen - + X position: X pozíció: - + px - + Y position: Y pozíció: - + Width: Szélesség: - + Height: Magasság: - + Use default location Alapértelmezett helyen - + Save and Preview Mentés és előnézet - + View the theme and save it replacing the current one or change the name to create a new theme A téma előnézete és mentése: egy már meglévő téma felülírható vagy egy új név megadásával új téma hozható létre - + Theme name: Téma neve: - + Edit Theme - %s Téma szerkesztése – %s - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. A tündér segít témákat létrehozni és módosítani. Kattints az alábbi Következő gombra a folyamat első lépésének indításhoz, a háttér beállításához. - + Transitions: Átmenetek: - + &Footer Area &Lábléc - + Starting color: Kezdő szín: - + Ending color: Befejező szín: - + Background color: Háttérszín: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4657,52 +4682,52 @@ A tartalom kódolása nem UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Bemutató(k) kijelölése - + Automatic Automatikus - + Present using: Bemutató ezzel: - + File Exists A fájl létezik - + A presentation with that filename already exists. Ilyen fájlnéven már létezik egy bemutató. - + This type of presentation is not supported. Ez a bemutató típus nem támogatott. - + Presentations (%s) Bemutatók (%s) - + Missing Presentation Hiányzó bemutató - + The Presentation %s is incomplete, please reload. A(z) %s bemutató hiányos, újra kell tölteni. - + The Presentation %s no longer exists. A(z) %s bemutató már nem létezik. @@ -4847,30 +4872,35 @@ A tartalom kódolása nem UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: Szolgáltatás IP címe: - + Port number: Port száma: - + Server Settings Szerver beállítások - + Remote URL: Távirányító URL: - + Stage view URL: Színpadi nézet URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4961,7 +4991,7 @@ A tartalom kódolása nem UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Dalstatisztika adatok törlése @@ -4986,7 +5016,7 @@ A tartalom kódolása nem UTF-8. Minden kért adat sikeresen törlésre került. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. Ki kell választani egy dátumot, amely előtt a statisztika adatok törlése kerülnek. Minden ezelőtt rögzített adat véglegesen törlődni fog. @@ -5603,7 +5633,7 @@ EasyWorshipbőlkerültek importálásra] SongsPlugin.ImportWizardForm - + Select Document/Presentation Files Jelölj ki egy dokumentum vagy egy bemutató fájlokat @@ -5618,95 +5648,105 @@ EasyWorshipbőlkerültek importálásra] A tündér segít a különféle formátumú dalok importálásában. Kattints az alábbi Következő gombra a folyamat első lépésének indításhoz, a formátum kiválasztásához. - + Generic Document/Presentation Általános dokumentum vagy bemutató - + Filename: Fájlnév: - + Add Files... Fájlok hozzáadása… - + Remove File(s) Fájl(ok) törlése - + Please wait while your songs are imported. Kérlek, várj, míg a dalok importálás alatt állnak. - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. Az OpenLyrics importáló még nem lett kifejlesztve, de amint már láthatod, szándékozunk elkészíteni. Remélhetőleg a következő kiadásban már benne lesz. - + OpenLP 2.0 Databases OpenLP 2.0 adatbázisok - + openlp.org v1.x Databases openlp.org v1.x adatbázisok - + Words Of Worship Song Files Words of Worship dal fájlok - + You need to specify at least one document or presentation file to import from. Ki kell jelölnie legalább egy dokumentumot vagy bemutatót az importáláshoz. - + Songs Of Fellowship Song Files Songs Of Fellowship dal fájlok - + SongBeamer Files SongBeamer fájlok - + SongShow Plus Song Files SongShow Plus dal fájlok - + Foilpresenter Song Files Foilpresenter dal fájlok - + Copy Másolás - + Save to File Mentés fájlba - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. A Songs of Fellowship importáló le lett tiltva, mivel az OpenLP nem talál OpenOffice-t vagy LibreOffice-t a számítógépen. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. Az általános dokumentum, ill. bemutató importáló le lett tiltva, mivel az OpenLP nem talál OpenOffice-t vagy LibreOffice-t a számítógépen. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5734,7 +5774,7 @@ EasyWorshipbőlkerültek importálásra] Dalszöveg - + CCLI License: CCLI licenc: @@ -5756,7 +5796,7 @@ EasyWorshipbőlkerültek importálásra] Szerzők, témakörök, könyvek listájának kezelése. - + copy For song cloning másolás @@ -5781,7 +5821,7 @@ EasyWorshipbőlkerültek importálásra] SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exportálás „%s”… @@ -5853,7 +5893,7 @@ EasyWorshipbőlkerültek importálásra] SongsPlugin.SongImportForm - + Your song import failed. Az importálás meghiúsult. diff --git a/resources/i18n/id.ts b/resources/i18n/id.ts index 9679d311d..e323d52ba 100644 --- a/resources/i18n/id.ts +++ b/resources/i18n/id.ts @@ -232,7 +232,7 @@ Tetap lanjutkan? Upgrade the Bible databases to the latest format. - Upgrade basis data Alkitab ke format terbaru. + Perbarui basis data Alkitab ke format terbaru. @@ -412,38 +412,38 @@ Perubahan tidak akan mempengaruhi ayat yang kini tampil. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Mendaftarkan Alkitab dan memuat buku... - + Registering Language... Mendaftarkan bahasa... - + Importing %s... Importing <book name>... Mengimpor %s... - + Download Error Unduhan Gagal - + 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. Ada masalah dalam mengunduh ayat yang terpilih. Mohon periksa sambungan internet Anda dan jika masalah berlanjut, pertimbangkan untuk melaporkan hal ini sebagai kutu. - + Parse Error Galat saat parsing - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Ada masalah dalam mengekstrak ayat yang terpilih. Jika masalah berlanjut, pertimbangkan untuk melaporkan hal ini sebagai kutu. @@ -546,32 +546,32 @@ Perubahan tidak akan mempengaruhi ayat yang kini tampil. Anda harus menentukan berkas Alkitab untuk diimpor. - + You need to specify a version name for your Bible. Anda harus menentukan nama versi untuk Alkitab Anda. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Anda harus memberikan hak cipta untuk Alkitab Anda. Alkitab di Public Domain harus ditandai sedemikian. - + Bible Exists Alkitab Sudah Ada - + This Bible already exists. Please import a different Bible or first delete the existing one. Alkitab sudah ada. Silakan impor Alkitab lain atau hapus yang sudah ada. - + Your Bible import failed. Impor Alkitab gagal. - + CSV File Berkas CSV @@ -601,17 +601,17 @@ Perubahan tidak akan mempengaruhi ayat yang kini tampil. Berkas ayat: - + openlp.org 1.x Bible Files Ayat Alkitab openlp.org 1.x - + Registering Bible... Mendaftarkan Alkitab... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Alkitab terdaftar. Mohon camkan, ayat akan diunduh saat @@ -869,28 +869,30 @@ Untuk mencadangkan Alkitab Anda perlu izin untuk menulis di direktori terpilih.< Upgrading Bible %s of %s: "%s" Complete - + Perbaruan Alkitab %s dari %s: "%s" +Selesai Upgrading Bible(s): %s successful%s Please note that verses from Web Bibles will be downloaded on demand and so an Internet connection is required. - + Perbaruan Alkitab: %s sukses%s +Perhatikan bahwa ayat dari Alkitab Web akan diunduh saat diminta dan sambungan internet dibutuhkan. You need to specify a backup directory for your Bibles. - + Anda harus membuat sebuah direktori pencadangan untuk Alkitab Anda. Starting upgrade... - + Memulai perbaruan... There are no Bibles that need to be upgraded. - + Tidak ada Alkitab yang perlu diperbarui. @@ -898,65 +900,65 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I <strong>Custom Slide Plugin</strong><br />The custom slide plugin provides the ability to set up custom text slides that can be displayed on the screen the same way songs are. This plugin provides greater freedom over the songs plugin. - + <strong>Plugin Salindia Suai</strong><br />Plugin salindia suai menyediakan kemampuan untuk menyiapkan salindia teks yang dapat ditampilkan pada layar dengan cara yang sama seperti lagu. Plugin ini memberikan kebebasan lebih ketimbang plugin lagu. Custom Slide name singular - + Salindia Suai Custom Slides name plural - + Salindia Suai Custom Slides container title - + Salindia Suai Load a new custom slide. - + Muat sebuah salindia suai. Import a custom slide. - + Impor sebuah salindia suai. Add a new custom slide. - + Tambahkan sebuah salindia suai. Edit the selected custom slide. - + Sunting salindia-suai terpilih. Delete the selected custom slide. - + Hapus salindia-suai terpilih. Preview the selected custom slide. - + Pratinjau salindia-suai terpilih. Send the selected custom slide live. - + Tampilkan salindia-suai terpilih. Add the selected custom slide to the service. - + Tambahkan salindia-suai terpilih ke layanan. @@ -1032,7 +1034,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I Insert Slide - + Tampilan Suai @@ -1040,8 +1042,8 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I Are you sure you want to delete the %n selected custom slides(s)? - - + + Anda yakin ingin menghapus %n salindia-suai terpilih? @@ -1073,43 +1075,43 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I Load a new image. - + Muat gambar baru. Add a new image. - + Tambah gambar baru. Edit the selected image. - + Sunting gambar terpilih. Delete the selected image. - + Hapus gambar terpilih. Preview the selected image. - + Pratayang gambar terpilih. Send the selected image live. - + Tayangkan gambar terpilih. Add the selected image to the service. - + Tambahkan gambar terpilih ke layanan. ImagePlugin.ExceptionDialog - + Select Attachment Pilih Lampiran @@ -1156,25 +1158,25 @@ Ingin tetap menambah gambar lain? There was no display item to amend. - + Tidak ada butir tampilan untuk di-amend. ImagesPlugin.ImageTab - + Background Color - + Warna Latar - + Default Color: - + Warna Bawaan: - + Provides border where image is not the correct dimensions for the screen when resized. - + Memberi batas untuk gambar yang berbeda dimensi saat layar diubah-ukur. @@ -1205,37 +1207,37 @@ Ingin tetap menambah gambar lain? Load new media. - + Muat media baru. Add new media. - + Tambah media baru. Edit the selected media. - + Sunting media terpilih. Delete the selected media. - + Hapus media terpilih. Preview the selected media. - + Pratinjau media terpilih. Send the selected media live. - + Tayangkan media terpilih. Add the selected media to the service. - + Tambahkan media terpilih ke layanan. @@ -1246,7 +1248,7 @@ Ingin tetap menambah gambar lain? Pilih Media - + You must select a media file to delete. Pilih sebuah berkas media untuk dihapus. @@ -1278,17 +1280,17 @@ Ingin tetap menambah gambar lain? There was no display item to amend. - + Tidak ada butir tayangan untuk di-amend. File Too Big - + Berkas Terlalu Besar The file you are trying to load is too big. Please reduce it to less than 50MiB. - + Berkas yang akan dimuat terlalu besar. Mohon kurangi ukurannya hingga 50MiB. @@ -1623,7 +1625,7 @@ Portions copyright © 2004-2011 %s Lampirkan Berkas - + Description characters to enter : %s Karakter deskripsi untuk dimasukkan: %s @@ -1631,24 +1633,24 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Platform: %s - + Save Crash Report Simpan Laporan Crash - + Text files (*.txt *.log *.text) File teks (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1679,7 +1681,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -1917,7 +1919,7 @@ Mohon gunakan bahasa Inggris untuk laporan kutu. Custom Slides - + Salindia Suai @@ -2777,7 +2779,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected Tidak Ada Barang yang Terpilih @@ -2787,42 +2789,42 @@ Database: %s T&ambahkan ke dalam Butir Layanan - + You must select one or more items to preview. Anda harus memilih satu atau beberapa butir untuk dipratilik. - + You must select one or more items to send live. Anda harus memilih satu atau beberapa butir untuk ditayangkan. - + You must select one or more items. Anda harus memilih satu atau beberapa butir. - + You must select an existing service item to add to. Anda harus memilih butir layanan yang ada untuk ditambahkan. - + Invalid Service Item Butir Layanan Tidak Sahih - + You must select a %s service item. Anda harus memilih sebuah butir layanan %s. - + You must select one or more items to add. - + No Search Results @@ -2998,12 +3000,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s - + <strong>Length</strong>: %s @@ -3019,209 +3021,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Pindahkan ke punc&ak - + Move item to the top of the service. Pindahkan butir ke puncak daftar layanan. - + Move &up Pindahkan ke a&tas - + Move item up one position in the service. Naikkan butir satu posisi pada daftar layanan. - + Move &down Pindahkan ke &bawah - + Move item down one position in the service. Turunkan butir satu posisi pada daftar layanan. - + Move to &bottom Pindahkan ke &kaki - + Move item to the end of the service. Pindahkan butir ke kaki daftar layanan. - + &Delete From Service Hapus &dari Layanan - + Delete the selected item from the service. Hapus butir terpilih dari layanan, - + &Add New Item T&ambahkan Butir Baru - + &Add to Selected Item T&ambahkan ke Butir Terpilih - + &Edit Item &Sunting Butir - + &Reorder Item Atu&r Ulang Butir - + &Notes Catata&n - + &Change Item Theme &Ubah Tema - + OpenLP Service Files (*.osz) Berkas Layanan OpenLP (*.osz) - + File is not a valid service. The content encoding is not UTF-8. Berkas bukan berupa layanan. Isi berkas tidak berupa UTF-8. - + File is not a valid service. Berkas bukan layanan sahih. - + Missing Display Handler Penangan Tayang hilang - + Your item cannot be displayed as there is no handler to display it Butir tidak dapat ditayangkan karena tidak ada penangan untuk menayangkannya. - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - + Open File Buka Berkas - + Moves the selection down the window. - + Move up - + Moves the selection up the window. - + Go Live Tayangkan - + Send the selected item to Live. Tayangkan butir terpilih. - + &Start Time - + Show &Preview - + Show &Live Tampi&lkan Tayang - + Modified Service - + The current service has been modified. Would you like to save this service? - + File could not be opened because it is corrupt. - + Empty File - + This service file does not contain any data. - + Corrupt File @@ -3241,42 +3243,42 @@ Isi berkas tidak berupa UTF-8. - + Untitled Service - + Load an existing service. - + Save this service. - + Select a theme for the service. - + This file is either corrupt or it is not an OpenLP 2.0 service file. - + Slide theme - + Notes - + Service File Missing @@ -3403,17 +3405,17 @@ Isi berkas tidak berupa UTF-8. - + Previous Service - + Next Service - + Escape Item @@ -3533,36 +3535,51 @@ Isi berkas tidak berupa UTF-8. Start time is after the finish time of the media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (approximately %d lines per slide) @@ -3640,12 +3657,12 @@ Isi berkas tidak berupa UTF-8. - + You are unable to delete the default theme. - + Theme %s is used in the %s plugin. @@ -3685,13 +3702,13 @@ Isi berkas tidak berupa UTF-8. - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. @@ -3741,12 +3758,12 @@ The content encoding is not UTF-8. - + Validation Error - + A theme with this name already exists. @@ -3765,260 +3782,270 @@ The content encoding is not UTF-8. OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color - + Gradient - + Color: - + Gradient: - + Horizontal - + Vertical - + Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: - + Size: - + Line Spacing: - + &Outline: - + &Shadow: - + Bold - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left - + Right - + Center - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: - + px - + Y position: - + Width: - + Height: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - + Edit Theme - %s - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. - + Transitions: - + &Footer Area - + Starting color: - + Ending color: - + Background color: Warna latar: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4663,52 +4690,52 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) - + Automatic - + Present using: - + File Exists - + A presentation with that filename already exists. - + This type of presentation is not supported. - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. - + The Presentation %s is incomplete, please reload. @@ -4853,30 +4880,35 @@ The content encoding is not UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: - + Port number: - + Server Settings - + Remote URL: - + Stage view URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4967,7 +4999,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -4992,7 +5024,7 @@ The content encoding is not UTF-8. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5604,7 +5636,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files @@ -5619,95 +5651,105 @@ The encoding is responsible for the correct character representation. - + Generic Document/Presentation - + Filename: - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. - + Add Files... - + Remove File(s) - + Please wait while your songs are imported. - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - + Songs Of Fellowship Song Files - + SongBeamer Files - + SongShow Plus Song Files - + You need to specify at least one document or presentation file to import from. - + Foilpresenter Song Files - + Copy Salin - + Save to File Simpan menjadi Berkas - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5735,7 +5777,7 @@ The encoding is responsible for the correct character representation. - + CCLI License: @@ -5757,7 +5799,7 @@ The encoding is responsible for the correct character representation. - + copy For song cloning @@ -5782,7 +5824,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... @@ -5854,7 +5896,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongImportForm - + Your song import failed. diff --git a/resources/i18n/ja.ts b/resources/i18n/ja.ts index 400241fd5..3f751d888 100644 --- a/resources/i18n/ja.ts +++ b/resources/i18n/ja.ts @@ -411,38 +411,38 @@ Changes do not affect verses already in the service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... 聖書を登録し書名を取込み中... - + Registering Language... 言語を登録中... - + Importing %s... Importing <book name>... %sを取込み中... - + Download Error ダウンロードエラー - + 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. 選択された聖書のダウンロードに失敗しました。インターネット接続を確認し、それでもエラーが繰り返して起こる場合は、バグ報告を検討してください。 - + Parse Error 構文エラー - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. 選択された聖書の展開に失敗しました。エラーが繰り返して起こる場合は、バグ報告を検討してください。 @@ -545,27 +545,27 @@ Changes do not affect verses already in the service. 取り込む節の指定が必要です。 - + You need to specify a version name for your Bible. 聖書データのバージョン名を指定する必要があります。 - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. 著作権情報を入力してください。公共のサイトからの聖書もそのように入力ください。 - + Bible Exists 聖書が存在します - + This Bible already exists. Please import a different Bible or first delete the existing one. すでにこの聖書データは取り込み済みです。他の聖書データを取り込むか既に取り込まれた聖書を削除してください。 - + Your Bible import failed. 聖書データの取り込みに失敗しました。 @@ -575,7 +575,7 @@ Changes do not affect verses already in the service. 使用許可: - + CSV File CSVファイル @@ -600,17 +600,17 @@ Changes do not affect verses already in the service. 節: - + openlp.org 1.x Bible Files openlp.org 1x 聖書ファイル - + Registering Bible... 聖書を登録中... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. 聖書を登録しました。本文は使用時にダウンロードされるため、インターネット接続が必要なことに注意してください。 @@ -1109,7 +1109,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I ImagePlugin.ExceptionDialog - + Select Attachment 添付を選択 @@ -1162,17 +1162,17 @@ Do you want to add the other images anyway? ImagesPlugin.ImageTab - + Background Color 背景色 - + Default Color: 既定色: - + Provides border where image is not the correct dimensions for the screen when resized. 画像の縦横比がスクリーンと異なる場合の周囲の色を設定してください。 @@ -1246,7 +1246,7 @@ Do you want to add the other images anyway? メディア選択 - + You must select a media file to delete. 削除するメディアファイルを選択してください。 @@ -1633,7 +1633,7 @@ Portions copyright © 2004-2011 %s ファイルを添付 - + Description characters to enter : %s 説明 : %s @@ -1641,24 +1641,24 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Platform: %s - + Save Crash Report クラッシュ報告の保存 - + Text files (*.txt *.log *.text) テキストファイル (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1689,7 +1689,7 @@ Version: %s %s - + *OpenLP Bug Report* Version: %s @@ -2801,7 +2801,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected 項目の選択がありません @@ -2811,42 +2811,42 @@ Database: %s 選択された礼拝項目を追加(&A - + You must select one or more items to preview. プレビューを見るには、一つ以上の項目を選択してください。 - + You must select one or more items to send live. ライブビューを見るには、一つ以上の項目を選択してください。 - + You must select one or more items. 一つ以上の項目を選択してください。 - + You must select an existing service item to add to. 追加するには、既存の礼拝項目を選択してください。 - + Invalid Service Item 無効な礼拝項目 - + You must select a %s service item. %sの項目を選択してください。 - + You must select one or more items to add. 追加するには、一つ以上の項目を選択してください。 - + No Search Results 見つかりませんでした @@ -3023,12 +3023,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>開始</strong>: %s - + <strong>Length</strong>: %s <strong>長さ</strong>: %s @@ -3044,209 +3044,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top 一番上に移動(&t) - + Move item to the top of the service. 選択した項目を最も上に移動する。 - + Move &up 一つ上に移動(&u) - + Move item up one position in the service. 選択した項目を1つ上に移動する。 - + Move &down 一つ下に移動(&d) - + Move item down one position in the service. 選択した項目を1つ下に移動する。 - + Move to &bottom 一番下に移動(&b) - + Move item to the end of the service. 選択した項目を最も下に移動する。 - + &Delete From Service 削除(&D) - + Delete the selected item from the service. 選択した項目を礼拝プログラムから削除する。 - + &Add New Item 新しい項目を追加(&A) - + &Add to Selected Item 選択された項目を追加(&A) - + &Edit Item 項目の編集(&E) - + &Reorder Item 項目を並べ替え(&R) - + &Notes メモ(&N) - + &Change Item Theme 項目の外観テーマを変更(&C) - + File is not a valid service. The content encoding is not UTF-8. 礼拝プログラムファイルが有効でありません。 エンコードがUTF-8でありません。 - + File is not a valid service. 礼拝プログラムファイルが有効でありません。 - + Missing Display Handler ディスプレイハンドラが見つかりません - + Your item cannot be displayed as there is no handler to display it ディスプレイハンドラが見つからないため項目を表示する事ができません - + Your item cannot be displayed as the plugin required to display it is missing or inactive 必要なプラグインが見つからないか無効なため、項目を表示する事ができません - + &Expand all すべて展開(&E) - + Expand all the service items. 全ての項目を展開する。 - + &Collapse all すべて折り畳む(&C) - + Collapse all the service items. 全ての項目を折り畳みます。 - + Open File ファイルを開く - + OpenLP Service Files (*.osz) OpenLP 礼拝プログラムファイル (*.osz) - + Moves the selection down the window. 選択をウィンドウの下に移動する。 - + Move up 上に移動 - + Moves the selection up the window. 選択をウィンドウの上に移動する。 - + Go Live ライブへ送る - + Send the selected item to Live. 選択された項目をライブ表示する。 - + Modified Service 礼拝プログラムの編集 - + &Start Time 開始時間(&S) - + Show &Preview プレビュー表示(&P) - + Show &Live ライブ表示(&L) - + The current service has been modified. Would you like to save this service? 現在の礼拝プログラムは、編集されています。保存しますか? - + File could not be opened because it is corrupt. ファイルが破損しているため開けません。 - + Empty File 空のファイル - + This service file does not contain any data. この礼拝プログラムファイルは空です。 - + Corrupt File 破損したファイル @@ -3266,42 +3266,42 @@ The content encoding is not UTF-8. 再生時間: - + Untitled Service 無題 - + Load an existing service. 既存の礼拝プログラムを読み込みます。 - + Save this service. 礼拝プログラムを保存します。 - + Select a theme for the service. 礼拝プログラムの外観テーマを選択します。 - + This file is either corrupt or it is not an OpenLP 2.0 service file. このファイルは破損しているかOpenLP 2.0の礼拝プログラムファイルではありません。 - + Slide theme スライド外観テーマ - + Notes メモ - + Service File Missing 礼拝プログラムファイルが見つかりません @@ -3428,17 +3428,17 @@ The content encoding is not UTF-8. 次スライド - + Previous Service 前の礼拝プログラム - + Next Service 次の礼拝プログラム - + Escape Item 項目をエスケープ @@ -3558,36 +3558,51 @@ The content encoding is not UTF-8. Start time is after the finish time of the media item 開始時間がメディア項目の終了時間より後に設定されています + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image 画像の選択 - + Theme Name Missing 外観テーマ名が不明です - + There is no name for this theme. Please enter one. 外観テーマ名がありません。入力してください。 - + Theme Name Invalid 無効な外観テーマ名 - + Invalid theme name. Please enter one. 無効な外観テーマ名です。入力してください。 - + (approximately %d lines per slide) (スライド1枚におよそ%d行) @@ -3665,12 +3680,12 @@ The content encoding is not UTF-8. 編集する外観テーマを選択してください。 - + You are unable to delete the default theme. 既定の外観テーマを削除する事はできません。 - + Theme %s is used in the %s plugin. %s プラグインでこの外観テーマは利用されています。 @@ -3710,13 +3725,13 @@ The content encoding is not UTF-8. インポート対象の外観テーマファイル選択 - + File is not a valid theme. The content encoding is not UTF-8. ファイルは無効な外観テーマです。文字コードがUTF-8ではありません。 - + File is not a valid theme. 無効な外観テーマファイルです。 @@ -3766,12 +3781,12 @@ The content encoding is not UTF-8. %s 外観テーマを削除します。宜しいですか? - + Validation Error 検証エラー - + A theme with this name already exists. 同名の外観テーマが既に存在します。 @@ -3790,260 +3805,270 @@ The content encoding is not UTF-8. OpenLP.ThemeWizard - + Theme Wizard 外観テーマウィザード - + Welcome to the Theme Wizard 外観テーマウィザードをようこそ - + Set Up Background 背景設定 - + Set up your theme's background according to the parameters below. 以下の項目に応じて、外観テーマに使用する背景を設定してください。 - + Background type: 背景の種類: - + Solid Color 単色 - + Gradient グラデーション - + Color: 色: - + Gradient: グラデーション: - + Horizontal - + Vertical - + Circular 放射状 - + Top Left - Bottom Right 左上 - 右下 - + Bottom Left - Top Right 左下 - 右上 - + Main Area Font Details 中央表示エリアのフォント詳細 - + Define the font and display characteristics for the Display text 中央エリアの表示のための文字設定とフォントを定義してください - + Font: フォント: - + Size: 文字サイズ: - + Line Spacing: 文字間: - + &Outline: アウトライン(&O): - + &Shadow: 影(&S): - + Bold 太字 - + Italic 斜体 - + Footer Area Font Details フッターフォント詳細 - + Define the font and display characteristics for the Footer text フッター表示のための文字設定とフォントを定義してください - + Text Formatting Details テキストフォーマット詳細 - + Allows additional display formatting information to be defined 追加の表示フォーマット情報が定義される事を許可する - + Horizontal Align: 水平位置: - + Left 左揃え - + Right 右揃え - + Center 中央揃え - + Output Area Locations 出力エリアの場所 - + Allows you to change and move the main and footer areas. 中央エリアとフッターエリアの場所が変更される事を許可する。 - + &Main Area 中央エリア(&M) - + &Use default location 既定の場所を使う(&U) - + X position: X位置: - + px px - + Y position: Y位置: - + Width: 幅: - + Height: 高: - + Use default location 既定の場所を使う - + Save and Preview 保存とプレビュー - + View the theme and save it replacing the current one or change the name to create a new theme 外観テーマを表示し、現在の外観テーマを置き換えるか名前を変更して新しい外観テーマを作成し、保存する - + Theme name: 外観テーマ名: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. このウィザードで、外観テーマを作成し編集します。次へをクリックして、背景を選択してください。 - + Transitions: 切り替え: - + &Footer Area フッター(&F) - + Edit Theme - %s 外観テーマ編集 - %s - + Starting color: 色1: - + Ending color: 色2: - + Background color: 背景色: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4688,52 +4713,52 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) プレゼンテーション選択 - + Automatic 自動 - + Present using: 使用プレゼン: - + File Exists ファイルが存在します - + A presentation with that filename already exists. そのファイル名のプレゼンテーションは既に存在します。 - + This type of presentation is not supported. このタイプのプレゼンテーションはサポートされておりません。 - + Presentations (%s) プレゼンテーション (%s) - + Missing Presentation 不明なプレゼンテーション - + The Presentation %s no longer exists. プレゼンテーション%sが見つかりません。 - + The Presentation %s is incomplete, please reload. プレゼンテーション%sは不完全です。再度読み込んでください。 @@ -4878,30 +4903,35 @@ The content encoding is not UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: 待ち受けるIPアドレス: - + Port number: ポート番号: - + Server Settings サーバ設定 - + Remote URL: 遠隔操作URL: - + Stage view URL: ステージビューURL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4992,7 +5022,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data 利用記録削除 @@ -5017,7 +5047,7 @@ The content encoding is not UTF-8. 正常に削除されました。 - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5632,7 +5662,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files ドキュメント/プレゼンテーションファイル選択 @@ -5647,95 +5677,105 @@ The encoding is responsible for the correct character representation. このウィザードで、様々な形式の賛美をインポートします。次へをクリックし、インポートするファイルの形式を選択してください。 - + Generic Document/Presentation 汎用ドキュメント/プレゼンテーション - + Filename: ファイル名: - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. OpenLyricsのインポートは未開発です。次のバージョンにご期待ください。 - + Add Files... ファイルの追加... - + Remove File(s) ファイルの削除 - + Please wait while your songs are imported. 賛美がインポートされるまでしばらくお待ちください。 - + OpenLP 2.0 Databases OpenLP 2.0 データベース - + openlp.org v1.x Databases openlp.org v1.x データベース - + Words Of Worship Song Files Words Of Worship Song ファイル - + You need to specify at least one document or presentation file to import from. インポート対象となる最低一つのドキュメント又はプレゼンテーションファイルを選択する必要があります。 - + Songs Of Fellowship Song Files Songs Of Fellowship Song ファイル - + SongBeamer Files SongBeamerファイル - + SongShow Plus Song Files SongShow Plus Songファイル - + Foilpresenter Song Files Foilpresenter Song ファイル - + Copy コピー - + Save to File ファイルに保存 - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. OpenOfficeまたはLibreOfficeに接続できないため、Songs of Fellowshipのインポート機能は無効になっています。 - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. OpenOfficeまたはLibreOfficeに接続できないため、汎用ドキュメント/プレゼンテーションのインポート機能は無効になっています。 + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5763,7 +5803,7 @@ The encoding is responsible for the correct character representation. 賛美詞 - + CCLI License: CCLI ライセンス: @@ -5785,7 +5825,7 @@ The encoding is responsible for the correct character representation. アーティスト、トピックとアルバムの一覧を保守します。 - + copy For song cloning コピー @@ -5810,7 +5850,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... 「%s」をエキスポートしています... @@ -5882,7 +5922,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongImportForm - + Your song import failed. 賛美のインポートに失敗しました。 diff --git a/resources/i18n/ko.ts b/resources/i18n/ko.ts index d7abbeb40..93809e0ba 100644 --- a/resources/i18n/ko.ts +++ b/resources/i18n/ko.ts @@ -16,7 +16,7 @@ Alert name singular - + 알림 @@ -402,38 +402,38 @@ Changes do not affect verses already in the service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... - + Registering Language... - + Importing %s... Importing <book name>... - + Download Error - + 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. - + Parse Error - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -536,27 +536,27 @@ Changes do not affect verses already in the service. - + You need to specify a version name for your Bible. - + Bible Exists - + Your Bible import failed. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + This Bible already exists. Please import a different Bible or first delete the existing one. @@ -566,7 +566,7 @@ Changes do not affect verses already in the service. - + CSV File @@ -591,17 +591,17 @@ Changes do not affect verses already in the service. - + openlp.org 1.x Bible Files - + Registering Bible... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. @@ -1094,7 +1094,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I ImagePlugin.ExceptionDialog - + Select Attachment @@ -1146,17 +1146,17 @@ Do you want to add the other images anyway? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1230,7 +1230,7 @@ Do you want to add the other images anyway? - + You must select a media file to delete. @@ -1545,7 +1545,7 @@ Portions copyright © 2004-2011 %s - + Description characters to enter : %s @@ -1553,23 +1553,23 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s - + Save Crash Report - + Text files (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1587,7 +1587,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2670,7 +2670,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected @@ -2680,42 +2680,42 @@ Database: %s - + You must select one or more items to preview. - + You must select one or more items to send live. - + You must select one or more items. - + You must select an existing service item to add to. - + Invalid Service Item - + You must select a %s service item. - + You must select one or more items to add. - + No Search Results @@ -2891,12 +2891,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s - + <strong>Length</strong>: %s @@ -2912,208 +2912,208 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top - + Move item to the top of the service. - + Move &up - + Move item up one position in the service. - + Move &down - + Move item down one position in the service. - + Move to &bottom - + Move item to the end of the service. - + &Delete From Service - + Delete the selected item from the service. - + &Add New Item - + &Add to Selected Item - + &Edit Item - + &Reorder Item - + &Notes - + &Change Item Theme - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - + Open File - + OpenLP Service Files (*.osz) - + Moves the selection down the window. - + Move up - + Moves the selection up the window. - + Go Live - + Send the selected item to Live. - + Modified Service - + &Start Time - + Show &Preview - + Show &Live - + The current service has been modified. Would you like to save this service? - + File could not be opened because it is corrupt. - + Empty File - + This service file does not contain any data. - + Corrupt File @@ -3133,42 +3133,42 @@ The content encoding is not UTF-8. - + Untitled Service - + Load an existing service. - + Save this service. - + Select a theme for the service. - + This file is either corrupt or it is not an OpenLP 2.0 service file. - + Slide theme - + Notes - + Service File Missing @@ -3295,17 +3295,17 @@ The content encoding is not UTF-8. - + Previous Service - + Next Service - + Escape Item @@ -3425,36 +3425,51 @@ The content encoding is not UTF-8. Start time is after the finish time of the media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (approximately %d lines per slide) @@ -3532,7 +3547,7 @@ The content encoding is not UTF-8. - + You are unable to delete the default theme. @@ -3572,18 +3587,18 @@ The content encoding is not UTF-8. - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. - + Theme %s is used in the %s plugin. @@ -3633,12 +3648,12 @@ The content encoding is not UTF-8. - + Validation Error - + A theme with this name already exists. @@ -3657,260 +3672,270 @@ The content encoding is not UTF-8. OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color - + Gradient - + Color: - + Gradient: - + Horizontal - + Vertical - + Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: - + Size: - + Line Spacing: - + &Outline: - + &Shadow: - + Bold - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left - + Right - + Center - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: - + px - + Y position: - + Width: - + Height: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. - + Transitions: - + &Footer Area - + Edit Theme - %s - + Starting color: - + Ending color: - + Background color: 배경색: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4555,52 +4580,52 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) - + Automatic - + Present using: - + File Exists - + A presentation with that filename already exists. - + This type of presentation is not supported. - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. - + The Presentation %s is incomplete, please reload. @@ -4745,30 +4770,35 @@ The content encoding is not UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: - + Port number: - + Server Settings - + Remote URL: - + Stage view URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4859,7 +4889,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -4884,7 +4914,7 @@ The content encoding is not UTF-8. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5496,7 +5526,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files @@ -5511,95 +5541,105 @@ The encoding is responsible for the correct character representation. - + Generic Document/Presentation - + Filename: - + Add Files... - + Remove File(s) - + Please wait while your songs are imported. - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - + Songs Of Fellowship Song Files - + SongBeamer Files - + SongShow Plus Song Files - + You need to specify at least one document or presentation file to import from. - + Foilpresenter Song Files - + Copy - + Save to File - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5627,7 +5667,7 @@ The encoding is responsible for the correct character representation. - + CCLI License: @@ -5649,7 +5689,7 @@ The encoding is responsible for the correct character representation. - + copy For song cloning @@ -5674,7 +5714,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... @@ -5746,7 +5786,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongImportForm - + Your song import failed. diff --git a/resources/i18n/nb.ts b/resources/i18n/nb.ts index 7a4194aaa..ca9ffa832 100644 --- a/resources/i18n/nb.ts +++ b/resources/i18n/nb.ts @@ -412,38 +412,38 @@ Endringer påvirker ikke vers som alt er lagt til møtet. BiblesPlugin.HTTPBible - + Registering Bible and loading books... - + Registering Language... - + Importing %s... Importing <book name>... - + Download Error Nedlastningsfeil - + 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. Det oppstod et problem ved nedlastingen av de valgte versene. Vennligst sjekk internettilkoblingen, dersom denne feilen vedvarer, vær vennlig å rapportere feilen. - + Parse Error Analysefeil - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Det oppstod et problem ved uthenting av de valgte versene. Dersom denne feilen vedvarer, vær vennlig å rapportere feilen. @@ -546,27 +546,27 @@ Endringer påvirker ikke vers som alt er lagt til møtet. Du må angi en fil med bibelvers som skal importeres. - + You need to specify a version name for your Bible. Du må spesifisere et versjonsnavn for Bibelen din. - + Bible Exists Bibelen finnes - + Your Bible import failed. Bibelimporteringen mislyktes. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Du må angi kopiretten for Bibelen. Offentlige bibler må markeres deretter. - + This Bible already exists. Please import a different Bible or first delete the existing one. Denne bibelen finnes alt. Vennligst importer en annen bibel eller slett først den eksisterende. @@ -576,7 +576,7 @@ Endringer påvirker ikke vers som alt er lagt til møtet. Tillatelser: - + CSV File CSV-fil @@ -601,17 +601,17 @@ Endringer påvirker ikke vers som alt er lagt til møtet. Versfil: - + openlp.org 1.x Bible Files OpenLP 1.x Bibelfiler - + Registering Bible... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. @@ -1105,7 +1105,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I ImagePlugin.ExceptionDialog - + Select Attachment Velg vedlegg @@ -1158,17 +1158,17 @@ Vil du likevel legge til de andre bildene? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1242,7 +1242,7 @@ Vil du likevel legge til de andre bildene? Velg fil - + You must select a media file to delete. Du må velge en fil å slette @@ -1617,7 +1617,7 @@ Portions copyright © 2004-2011 %s - + Description characters to enter : %s @@ -1625,23 +1625,23 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s - + Save Crash Report - + Text files (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1659,7 +1659,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2742,7 +2742,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected @@ -2752,42 +2752,42 @@ Database: %s - + You must select one or more items to preview. - + You must select one or more items to send live. - + You must select one or more items. - + You must select an existing service item to add to. - + Invalid Service Item - + You must select a %s service item. - + You must select one or more items to add. - + No Search Results @@ -2963,12 +2963,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s - + <strong>Length</strong>: %s @@ -2984,208 +2984,208 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Flytt til &toppen - + Move item to the top of the service. - + Move &up - + Move item up one position in the service. - + Move &down - + Move item down one position in the service. - + Move to &bottom - + Move item to the end of the service. - + &Delete From Service - + Delete the selected item from the service. - + &Add New Item - + &Add to Selected Item - + &Edit Item - + &Reorder Item - + &Notes &Notis - + &Change Item Theme &Bytt objekttema - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - + Open File - + OpenLP Service Files (*.osz) - + Moves the selection down the window. - + Move up - + Moves the selection up the window. - + Go Live - + Send the selected item to Live. - + Modified Service - + &Start Time - + Show &Preview - + Show &Live - + The current service has been modified. Would you like to save this service? - + File could not be opened because it is corrupt. - + Empty File - + This service file does not contain any data. - + Corrupt File @@ -3205,42 +3205,42 @@ The content encoding is not UTF-8. - + Untitled Service - + Load an existing service. - + Save this service. - + Select a theme for the service. - + This file is either corrupt or it is not an OpenLP 2.0 service file. - + Slide theme - + Notes - + Service File Missing @@ -3367,17 +3367,17 @@ The content encoding is not UTF-8. - + Previous Service - + Next Service - + Escape Item @@ -3497,36 +3497,51 @@ The content encoding is not UTF-8. Start time is after the finish time of the media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (approximately %d lines per slide) @@ -3604,7 +3619,7 @@ The content encoding is not UTF-8. - + You are unable to delete the default theme. Du kan ikke slette det globale temaet. @@ -3644,18 +3659,18 @@ The content encoding is not UTF-8. - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. Filen er ikke et gyldig tema. - + Theme %s is used in the %s plugin. @@ -3705,12 +3720,12 @@ The content encoding is not UTF-8. - + Validation Error - + A theme with this name already exists. @@ -3729,260 +3744,270 @@ The content encoding is not UTF-8. OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color Ensfarget - + Gradient - + Color: - + Gradient: - + Horizontal - + Vertical Vertikal - + Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: - + Size: Størrelse: - + Line Spacing: - + &Outline: - + &Shadow: - + Bold Fet - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left - + Right - + Center Sentrert - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: - + px - + Y position: - + Width: Bredde: - + Height: Høyde: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. - + Transitions: - + &Footer Area - + Edit Theme - %s - + Starting color: - + Ending color: - + Background color: Bakgrunnsfarge: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4627,52 +4652,52 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Velg presentasjon(er) - + Automatic Automatisk - + Present using: Presenter ved hjelp av: - + File Exists - + A presentation with that filename already exists. - + This type of presentation is not supported. - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. - + The Presentation %s is incomplete, please reload. @@ -4817,30 +4842,35 @@ The content encoding is not UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: - + Port number: - + Server Settings - + Remote URL: - + Stage view URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4931,7 +4961,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -4956,7 +4986,7 @@ The content encoding is not UTF-8. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5568,7 +5598,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files @@ -5583,95 +5613,105 @@ The encoding is responsible for the correct character representation. - + Generic Document/Presentation - + Filename: - + Add Files... - + Remove File(s) - + Please wait while your songs are imported. - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - + Songs Of Fellowship Song Files - + SongBeamer Files - + SongShow Plus Song Files - + You need to specify at least one document or presentation file to import from. - + Foilpresenter Song Files - + Copy - + Save to File - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5699,7 +5739,7 @@ The encoding is responsible for the correct character representation. - + CCLI License: @@ -5722,7 +5762,7 @@ The encoding is responsible for the correct character representation. - + copy For song cloning @@ -5747,7 +5787,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... @@ -5819,7 +5859,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongImportForm - + Your song import failed. diff --git a/resources/i18n/nl.ts b/resources/i18n/nl.ts index a265a8988..910ac8d38 100644 --- a/resources/i18n/nl.ts +++ b/resources/i18n/nl.ts @@ -412,38 +412,38 @@ Deze wijzigingen hebben geen betrekking op bijbelverzen die al in de liturgie zi BiblesPlugin.HTTPBible - + Registering Bible and loading books... Registreer Bijbel en laad de boeken... - + Registering Language... Registreer de taal... - + Importing %s... Importing <book name>... Importeer "%s"... - + Download Error Download fout - + 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. Er ging iets mis bij het downloaden van de bijbelverzen. Controleer uw internet verbinding (open bijv. een pagina in de internetbrowser). Als dit probleem zich blijft herhalen is er misschien sprake van een bug. - + Parse Error Verwerkingsfout - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Er ging iets mis bij het uitpakken van de bijbelverzen. Als dit probleem zich blijft herhalen is er misschien sprake van een bug. @@ -541,17 +541,17 @@ Deze wijzigingen hebben geen betrekking op bijbelverzen die al in de liturgie zi Er moet een bestand met bijbelverzen opgegeven worden. - + You need to specify a version name for your Bible. Geef de naam van de bijbelvertaling op. - + Bible Exists Deze bijbelvertaling bestaat reeds - + Your Bible import failed. Het importeren is mislukt. @@ -561,12 +561,12 @@ Deze wijzigingen hebben geen betrekking op bijbelverzen die al in de liturgie zi Bijbeluitgave: - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Copyright moet opgegeven worden. Bijbels in het publieke domein moeten als zodanig gemarkeerd worden. - + This Bible already exists. Please import a different Bible or first delete the existing one. Deze bijbel bestaat reeds. Geef een andere naam of verwijder eerst het bestaande exemplaar. @@ -576,7 +576,7 @@ Deze wijzigingen hebben geen betrekking op bijbelverzen die al in de liturgie zi Rechten: - + CSV File CSV bestand @@ -601,17 +601,17 @@ Deze wijzigingen hebben geen betrekking op bijbelverzen die al in de liturgie zi Bijbelverzen bestand: - + openlp.org 1.x Bible Files openlp.org 1.x bijbel bestanden - + Registering Bible... Registreer Bijbel... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Bijbel geregistreerd. Let op, de bijbelverzen worden gedownload @@ -1112,7 +1112,7 @@ Let op, de bijbelverzen worden gedownload indien nodig en een internetverbinding ImagePlugin.ExceptionDialog - + Select Attachment Selecteer bijlage @@ -1165,17 +1165,17 @@ De andere afbeeldingen alsnog toevoegen? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1249,7 +1249,7 @@ De andere afbeeldingen alsnog toevoegen? Secteer media bestand - + You must select a media file to delete. Selecteer een media bestand om te verwijderen. @@ -1637,7 +1637,7 @@ Stuur een e-mail naar: bugs@openlp.org met een gedetailleerde beschrijving van h Voeg bestand toe - + Description characters to enter : %s Toelichting aanvullen met nog %s tekens @@ -1645,24 +1645,24 @@ Stuur een e-mail naar: bugs@openlp.org met een gedetailleerde beschrijving van h OpenLP.ExceptionForm - + Platform: %s Plattform: %s - + Save Crash Report Bewaar Bug Report - + Text files (*.txt *.log *.text) Tekstbestand (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1693,7 +1693,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2791,7 +2791,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected Niets geselecteerd @@ -2801,42 +2801,42 @@ Database: %s &Voeg selectie toe aan de liturgie - + You must select one or more items to preview. Selecteer een of meerdere onderdelen om voorbeeld te laten zien. - + You must select one or more items to send live. Selecteer een of meerdere onderdelen om Live te tonen. - + You must select one or more items. Selecteer een of meerdere onderdelen. - + You must select an existing service item to add to. Selecteer een liturgie om deze onderdelen aan toe te voegen. - + Invalid Service Item Ongeldige Liturgie onderdeel - + You must select a %s service item. Selecteer een %s liturgie onderdeel. - + You must select one or more items to add. Selecteer een of meerdere onderdelen om toe te voegen. - + No Search Results Niets gevonden @@ -3012,12 +3012,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s - + <strong>Length</strong>: %s @@ -3033,209 +3033,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Bovenaan plaa&tsen - + Move item to the top of the service. Plaats dit onderdeel bovenaan. - + Move &up Naar b&oven - + Move item up one position in the service. Verplaats een plek naar boven. - + Move &down Naar bene&den - + Move item down one position in the service. Verplaats een plek naar beneden. - + Move to &bottom Onderaan &plaatsen - + Move item to the end of the service. Plaats dit onderdeel onderaan. - + &Delete From Service Verwij&deren uit de liturgie - + Delete the selected item from the service. Verwijder dit onderdeel uit de liturgie. - + &Add New Item &Voeg toe - + &Add to Selected Item &Voeg selectie toe - + &Edit Item B&ewerk onderdeel - + &Reorder Item He&rschik onderdeel - + &Notes Aa&ntekeningen - + &Change Item Theme &Wijzig onderdeel thema - + File is not a valid service. The content encoding is not UTF-8. Geen geldig liturgie bestand. Tekst codering is geen UTF-8. - + File is not a valid service. Geen geldig liturgie bestand. - + Missing Display Handler Ontbrekende weergave regelaar - + Your item cannot be displayed as there is no handler to display it Dit onderdeel kan niet weergegeven worden, omdat er een regelaar ontbreekt - + Your item cannot be displayed as the plugin required to display it is missing or inactive Dit onderdeel kan niet weergegeven worden omdat de benodigde plugin ontbreekt of inactief is - + &Expand all Alles &uitklappen - + Expand all the service items. Alle liturgie onderdelen uitklappen. - + &Collapse all Alles &inklappen - + Collapse all the service items. Alle liturgie onderdelen inklappen. - + Open File Open bestand - + OpenLP Service Files (*.osz) OpenLP liturgie bestanden (*.osz) - + Moves the selection up the window. Verplaatst de selectie naar boven. - + Move up Naar boven - + Go Live Ga Live - + Send the selected item to Live. Toon selectie Live. - + Moves the selection down the window. Verplaatst de selectie naar beneden. - + Modified Service Gewijzigde liturgie - + &Start Time &Start Tijd - + Show &Preview Toon &Voorbeeld - + Show &Live Toon &Live - + The current service has been modified. Would you like to save this service? De huidige liturgie is gewijzigd. Veranderingen opslaan? - + File could not be opened because it is corrupt. Bestand kan niet worden geopend omdat het beschadigd is. - + Empty File Leeg bestand - + This service file does not contain any data. Deze liturgie bevat nog geen gegevens. - + Corrupt File Corrupt bestand @@ -3255,42 +3255,42 @@ Tekst codering is geen UTF-8. Speeltijd: - + Untitled Service Liturgie zonder naam - + Load an existing service. Laad een bestaande liturgie. - + Save this service. Deze liturgie opslaan. - + Select a theme for the service. Selecteer een thema voor de liturgie. - + This file is either corrupt or it is not an OpenLP 2.0 service file. Dit bestand is beschadigd of geen OpenLP 2.0 liturgie bestand. - + Slide theme - + Notes - + Service File Missing @@ -3417,17 +3417,17 @@ Tekst codering is geen UTF-8. Volgende dia - + Previous Service Vorige liturgie - + Next Service Volgende liturgie - + Escape Item Onderdeel annuleren @@ -3547,36 +3547,51 @@ Tekst codering is geen UTF-8. Start time is after the finish time of the media item Start tijd is ingesteld tot na het eind van het media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Selecteer afbeelding - + Theme Name Missing Thema naam ontbreekt - + There is no name for this theme. Please enter one. Dit thema heeft nog geen naam. Geef een naam voor dit thema. - + Theme Name Invalid Ongeldige naam - + Invalid theme name. Please enter one. Deze naam kan niet worden gebruikt als thema naam. Kies een andere naam. - + (approximately %d lines per slide) (ongeveer %d regels per dia) @@ -3654,7 +3669,7 @@ Tekst codering is geen UTF-8. Selecteer een thema om te bewerken. - + You are unable to delete the default theme. Het standaard thema kan niet worden verwijderd. @@ -3694,19 +3709,19 @@ Tekst codering is geen UTF-8. Selecteer te importeren thema bestand - + File is not a valid theme. The content encoding is not UTF-8. Geen geldig thema bestand. Tekst codering is geen UTF-8. - + File is not a valid theme. Geen geldig thema bestand. - + Theme %s is used in the %s plugin. Thema %s wordt gebruikt in de %s plugin. @@ -3756,12 +3771,12 @@ Tekst codering is geen UTF-8. %s thema verwijderen? - + Validation Error Validatie fout - + A theme with this name already exists. Er bestaat al een thema met deze naam. @@ -3780,260 +3795,270 @@ Tekst codering is geen UTF-8. OpenLP.ThemeWizard - + Theme Wizard Thema assistent - + Welcome to the Theme Wizard Welkom bij de thema assistent - + Set Up Background Achtergrond instellen - + Set up your theme's background according to the parameters below. Thema achtergrond instellen met onderstaande parameters. - + Background type: Achtergrond type: - + Solid Color Vaste kleur - + Gradient Kleurverloop - + Color: Kleur: - + Gradient: Kleurverloop: - + Horizontal Horizontaal - + Vertical Verticaal - + Circular Radiaal - + Top Left - Bottom Right Links boven - rechts onder - + Bottom Left - Top Right Links onder - Rechts boven - + Main Area Font Details Font instellingen algemeen - + Define the font and display characteristics for the Display text Stel de eigenschappen voor de tekst weergave in - + Font: Font: - + Size: Grootte: - + Line Spacing: Interlinie: - + &Outline: &Omtrek: - + &Shadow: &Schaduw: - + Bold Vet - + Italic Cursief - + Footer Area Font Details Eigenschappen voettekst - + Define the font and display characteristics for the Footer text Stel de eigenschappen voor de voettekst weergave in - + Text Formatting Details Tekst opmaak eigenschappen - + Allows additional display formatting information to be defined Toestaan dat er afwijkende opmaak kan worden bepaald - + Horizontal Align: Horizontaal uitlijnen: - + Left links - + Right rechts - + Center Centreren - + Output Area Locations Uitvoer gebied locaties - + Allows you to change and move the main and footer areas. Toestaan dat tekstvelden gewijzigd en verplaatst worden. - + &Main Area &Hoofdgebied - + &Use default location Gebr&uik standaard locatie - + X position: X positie: - + px px - + Y position: Y positie: - + Width: Breedte: - + Height: Hoogte: - + Use default location Gebruik standaard locatie - + Save and Preview Opslaan en voorbeeld - + View the theme and save it replacing the current one or change the name to create a new theme Thema bekijken en sla het op onder dezelfde naam om te vervangen of onder een andere naam om een nieuw thema te maken - + Theme name: Thema naam: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. Deze assistent helpt bij het maken en bewerken van thema's. Klik op volgende om als eerste een achtergrond in te stellen. - + Transitions: Overgangen: - + &Footer Area &Voettekst gebied - + Edit Theme - %s Bewerk thema - %s - + Starting color: - + Ending color: - + Background color: Achtergrondkleur: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4678,52 +4703,52 @@ Tekst codering is geen UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Selecteer presentatie(s) - + Automatic automatisch - + Present using: Presenteren met: - + A presentation with that filename already exists. Er bestaat al een presentatie met die naam. - + File Exists Bestand bestaat - + This type of presentation is not supported. Dit soort presentatie wordt niet ondersteund. - + Presentations (%s) Presentaties (%s) - + Missing Presentation Ontbrekende presentatie - + The Presentation %s no longer exists. De presentatie %s bestaat niet meer. - + The Presentation %s is incomplete, please reload. De presentatie %s is niet compleet, herladen aub. @@ -4868,30 +4893,35 @@ Tekst codering is geen UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: Beschikbaar via IP-adres: - + Port number: Poort nummer: - + Server Settings Server instellingen - + Remote URL: Remote URL: - + Stage view URL: Podium weergave URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4982,7 +5012,7 @@ Tekst codering is geen UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Gegevens liedgebruik verwijderen @@ -5007,7 +5037,7 @@ Tekst codering is geen UTF-8. Alle opgegeven data is verwijderd. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5634,100 +5664,110 @@ Meestal voldoet de suggestie van OpenLP. Deze assistent helpt liederen in verschillende bestandsformaten te importeren in OpenLP. Klik op volgende en kies daarna het bestandsformaat van het te importeren lied. - + Add Files... Toevoegen... - + Remove File(s) Verwijder bestand(en) - + Filename: Bestandsnaam: - + Please wait while your songs are imported. Even geduld tijdens het importeren. - + Select Document/Presentation Files Selecteer Documenten/Presentatie bestanden - + Generic Document/Presentation Algemeen Document/Presentatie - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. OpenLyrics import is nog niet gemaakt, maar we hebben het voornemen dit te doen. Hopelijk lukt dit in een volgende versie. - + OpenLP 2.0 Databases OpenLP 2.0 Databases - + openlp.org v1.x Databases openlp.org v1.x Databases - + Words Of Worship Song Files Words Of Worship Lied bestanden - + Songs Of Fellowship Song Files Songs Of Fellowship lied bestanden - + SongBeamer Files SongBeamer bestanden - + SongShow Plus Song Files SongShow Plus lied bestanden - + You need to specify at least one document or presentation file to import from. Selecteer minimaal een document of presentatie om te importeren. - + Foilpresenter Song Files Foilpresenter lied bestanden - + Copy Kopieer - + Save to File Opslaan als bestand - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. Songs of Fellowship import is uitgeschakeld omdat OpenLP OpenOffice.org niet kan vinden op deze computer. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. Algemeen document/presentatie import is uitgeschakeld omdat OpenLP OpenOffice.org niet kan vinden op deze computer. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5755,7 +5795,7 @@ Meestal voldoet de suggestie van OpenLP. Liedtekst - + CCLI License: CCLI Licentie: @@ -5778,7 +5818,7 @@ Meestal voldoet de suggestie van OpenLP. Beheer de lijst met auteurs, onderwerpen en liedboeken. - + copy For song cloning @@ -5803,7 +5843,7 @@ Meestal voldoet de suggestie van OpenLP. SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exporteren "%s"... @@ -5875,7 +5915,7 @@ Meestal voldoet de suggestie van OpenLP. SongsPlugin.SongImportForm - + Your song import failed. Lied import mislukt. diff --git a/resources/i18n/pt_BR.ts b/resources/i18n/pt_BR.ts index decee0db4..dce34c7af 100644 --- a/resources/i18n/pt_BR.ts +++ b/resources/i18n/pt_BR.ts @@ -412,38 +412,38 @@ Mudanças não afetam os versículos que já estão no culto. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Registrando Bíblia e carregando livros... - + Registering Language... Registrando Idioma... - + Importing %s... Importing <book name>... Importando %s... - + Download Error Erro na Transferência - + 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. Ocorreu um problema ao baixar os versículos selecionados. Verifique sua conexão com a Internet, e se este erro continuar ocorrendo, por favor considere relatar um bug. - + Parse Error Erro de Interpretação - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Ocorreu um problema extraindo os versículos selecionados. Se este erro continuar ocorrendo, por favor considere relatar um bug. @@ -546,27 +546,27 @@ Mudanças não afetam os versículos que já estão no culto. Você deve especificar um arquivo de versículos da Bíblia para importar. - + You need to specify a version name for your Bible. Você deve especificar um nome de versão para a sua Bíblia. - + Bible Exists Bíblia Existe - + Your Bible import failed. A sua Importação de Bíblia falhou. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Você precisa definir os direitos autorais da sua Bíblia. Traduções em Domínio Público devem ser marcadas como tal. - + This Bible already exists. Please import a different Bible or first delete the existing one. Esta Bíblia já existe. Pro favor, importe uma Bíblia diferente ou apague a existente primeiro. @@ -576,7 +576,7 @@ Mudanças não afetam os versículos que já estão no culto. Permissões: - + CSV File Arquivo CSV @@ -601,17 +601,17 @@ Mudanças não afetam os versículos que já estão no culto. Arquivo de Versículos: - + openlp.org 1.x Bible Files Arquivos de Bíblia do openlp.org 1.x - + Registering Bible... Registrando Bíblia... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Bíblia registrada. Por favor, observe que os verísulos serão baixados de acordo @@ -1112,7 +1112,7 @@ Observe, que versículos das Bíblias Internet serão transferidos sob demanda e ImagePlugin.ExceptionDialog - + Select Attachment Selecionar Anexo @@ -1165,17 +1165,17 @@ Mesmo assim, deseja continuar adicionando as outras imagens? ImagesPlugin.ImageTab - + Background Color Cor do Plano de Fundo - + Default Color: Cor Padrão: - + Provides border where image is not the correct dimensions for the screen when resized. Provê uma borda se a imagem não estiver nas dimensões corretas da tela quando redimensionada. @@ -1249,7 +1249,7 @@ Mesmo assim, deseja continuar adicionando as outras imagens? Selecionar Mídia - + You must select a media file to delete. Você deve selecionar um arquivo de mídia para apagar. @@ -1634,7 +1634,7 @@ Porções com direitos autorais © 2004-2011 %s Anexar Arquivo - + Description characters to enter : %s Caracteres que podem ser digitadas na descrição: %s @@ -1642,24 +1642,24 @@ Porções com direitos autorais © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Plataforma: %s - + Save Crash Report Salvar Relatório de Travamento - + Text files (*.txt *.log *.text) Arquivos de texto (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1690,7 +1690,7 @@ Versão %s - + *OpenLP Bug Report* Version: %s @@ -2803,7 +2803,7 @@ Banco de Dados: %s OpenLP.MediaManagerItem - + No Items Selected Nenhum Item Selecionado @@ -2813,42 +2813,42 @@ Banco de Dados: %s &Adicionar ao Item de Ordem de Culto selecionado - + You must select one or more items to preview. Você deve selecionar um ou mais itens para pré-visualizar. - + You must select one or more items to send live. Você deve selecionar um ou mais itens para projetar. - + You must select one or more items. Você deve selecionar um ou mais itens. - + You must select an existing service item to add to. Você deve selecionar um item de culto existente ao qual adicionar. - + Invalid Service Item Item de Culto inválido - + You must select a %s service item. Você deve selecionar um item de culto %s. - + You must select one or more items to add. Você deve selecionar um ou mais itens para adicionar. - + No Search Results Nenhum Resultado de Busca @@ -3025,12 +3025,12 @@ Sufixo não suportado OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>Início</strong>: %s - + <strong>Length</strong>: %s <strong>Duração</strong>: %s @@ -3046,209 +3046,209 @@ Sufixo não suportado OpenLP.ServiceManager - + Move to &top Mover para o &topo - + Move item to the top of the service. Mover item para o topo do culto. - + Move &up Mover para &cima - + Move item up one position in the service. Mover item uma posição para cima no culto. - + Move &down Mover para &baixo - + Move item down one position in the service. Mover item uma posição para baixo no culto. - + Move to &bottom Mover para o &final - + Move item to the end of the service. Mover item para o final do culto. - + &Delete From Service &Excluir do Culto - + Delete the selected item from the service. Excluir o item selecionado do culto. - + &Add New Item &Adicionar um Novo Item - + &Add to Selected Item &Adicionar ao Item Selecionado - + &Edit Item &Editar Item - + &Reorder Item &Reordenar Item - + &Notes &Anotações - + &Change Item Theme &Alterar Tema do Item - + File is not a valid service. The content encoding is not UTF-8. O arquivo não é um culto válida. A codificação do conteúdo não é UTF-8. - + File is not a valid service. Arquivo não é uma ordem de culto válida. - + Missing Display Handler Faltando o Manipulador de Exibição - + Your item cannot be displayed as there is no handler to display it O seu item não pode ser exibido porque não existe um manipulador para exibí-lo - + Your item cannot be displayed as the plugin required to display it is missing or inactive O item não pode ser exibido porque o plugin necessário para visualizá-lo está ausente ou está desativado - + &Expand all &Expandir todos - + Expand all the service items. Expandir todos os itens do culto. - + &Collapse all &Recolher todos - + Collapse all the service items. Recolher todos os itens do culto. - + Open File Abrir Arquivo - + OpenLP Service Files (*.osz) Arquivos de Culto do OpenLP (*.osz) - + Moves the selection down the window. Move a seleção para baixo dentro da janela. - + Move up Mover para cima - + Moves the selection up the window. Move a seleção para cima dentro da janela. - + Go Live Projetar - + Send the selected item to Live. Enviar o item selecionado para a Projeção. - + Modified Service Culto Modificado - + &Start Time &Horário Inicial - + Show &Preview Exibir &Pré-visualização - + Show &Live Exibir &Projeção - + The current service has been modified. Would you like to save this service? O culto atual foi modificada. Você gostaria de salvar este culto? - + File could not be opened because it is corrupt. Arquivo não pôde ser aberto porque está corrompido. - + Empty File Arquivo vazio - + This service file does not contain any data. Este arquivo de culto não contém dados. - + Corrupt File Arquivo corrompido @@ -3268,42 +3268,42 @@ A codificação do conteúdo não é UTF-8. Duração: - + Untitled Service Culto Sem Nome - + Load an existing service. Carregar um culto existente. - + Save this service. Salvar este culto. - + Select a theme for the service. Selecionar um tema para o culto. - + This file is either corrupt or it is not an OpenLP 2.0 service file. Este arquivo está corrompido ou não é um arquivo de culto do OpenLP 2.0. - + Slide theme Tema do Slide - + Notes Notas - + Service File Missing Arquivo do Culto não encontrado @@ -3430,17 +3430,17 @@ A codificação do conteúdo não é UTF-8. Slide Seguinte - + Previous Service Lista Anterior - + Next Service Próxima Lista - + Escape Item Escapar Item @@ -3560,36 +3560,51 @@ A codificação do conteúdo não é UTF-8. Start time is after the finish time of the media item O tempo inicial está após o fim do item de mídia + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Selecionar Imagem - + Theme Name Missing Faltando Nome do Tema - + There is no name for this theme. Please enter one. Não há nome para este tema. Por favor forneça um. - + Theme Name Invalid Nome do Tema Inválido - + Invalid theme name. Please enter one. O nome do tema é inválido. Por favor forneça um. - + (approximately %d lines per slide) (aproximadamente %d linhas por slide) @@ -3667,7 +3682,7 @@ A codificação do conteúdo não é UTF-8. Você precisa selecionar um tema para editar. - + You are unable to delete the default theme. Você não pode apagar o tema padrão. @@ -3707,19 +3722,19 @@ A codificação do conteúdo não é UTF-8. Selecionar Arquivo de Importação de Tema - + File is not a valid theme. The content encoding is not UTF-8. O arquivo não é um tema válido. A codificação do conteúdo não é UTF-8. - + File is not a valid theme. O arquivo não é um tema válido. - + Theme %s is used in the %s plugin. O tema %s é usado no plugin %s. @@ -3769,12 +3784,12 @@ A codificação do conteúdo não é UTF-8. Apagar o tema %s? - + Validation Error Erro de Validação - + A theme with this name already exists. Já existe um tema com este nome. @@ -3793,260 +3808,270 @@ A codificação do conteúdo não é UTF-8. OpenLP.ThemeWizard - + Theme Wizard Assistente de Tema - + Welcome to the Theme Wizard Bem-vindo ao Assistente de Tema - + Set Up Background Configurar Plano de Fundo - + Set up your theme's background according to the parameters below. Configure o plano de fundo de seu tema de acordo com os parâmetros abaixo. - + Background type: Tipo de plano de fundo: - + Solid Color Cor Sólida - + Gradient Degradê - + Color: Cor: - + Gradient: Degradê: - + Horizontal Horizontal - + Vertical Vertical - + Circular Circular - + Top Left - Bottom Right Esquerda Superior - Direita Inferior - + Bottom Left - Top Right Esquerda Inferior - Direita Superior - + Main Area Font Details Detalhes da Fonte da Área Principal - + Define the font and display characteristics for the Display text Definir a fonte e características de exibição para o texto de Exibição - + Font: Fonte: - + Size: Tamanho: - + Line Spacing: Espaçamento entre linhas: - + &Outline: &Contorno: - + &Shadow: &Sombra: - + Bold Negrito - + Italic Itálico - + Footer Area Font Details Detalhes de Fonte da Área de Rodapé - + Define the font and display characteristics for the Footer text Defina a fone e as características de exibição do texto de Rodapé - + Text Formatting Details Detalhes da Formatação de Texto - + Allows additional display formatting information to be defined Permite que informações adicionais de formatações de exibição sejam definidas - + Horizontal Align: Alinhamento Horizontal: - + Left Esquerda - + Right Direita - + Center Centralizado - + Output Area Locations Posições das Áreas de Saída - + Allows you to change and move the main and footer areas. Permite modificar e mover as áreas principal e de rodapé. - + &Main Area &Área Principal - + &Use default location &Usar posição padrão - + X position: Posição X: - + px px - + Y position: Posição Y: - + Width: Largura: - + Height: Altura: - + Use default location Usar posição padrão - + Save and Preview Salvar e pré-visualizar - + View the theme and save it replacing the current one or change the name to create a new theme Visualizar o tema e salvá-lo, substituindo o atual ou mudar o nome para criar um novo tema - + Theme name: Nome do tema: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. Este assistente vai ajudá-lo a criar e editar seus temas. Clique no botão avançar abaixo para iniciar o processo, configurando seu plano de fundo. - + Transitions: Transições: - + &Footer Area Área do &Rodapé - + Edit Theme - %s Editar Tema - %s - + Starting color: Cor inicial: - + Ending color: Cor final: - + Background color: Cor do Plano de Fundo: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4691,52 +4716,52 @@ A codificação do conteúdo não é UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Selecionar Apresentação(ões) - + Automatic Automático - + Present using: Apresentar usando: - + File Exists O Arquivo já Existe - + A presentation with that filename already exists. Já existe uma apresentação com este nome. - + This type of presentation is not supported. Este tipo de apresentação não é suportado. - + Presentations (%s) Apresentações (%s) - + Missing Presentation Apresentação Não Encontrada - + The Presentation %s no longer exists. A Apresentação %s não existe mais. - + The Presentation %s is incomplete, please reload. A Apresentação %s está incompleta, por favor recarregue-a. @@ -4881,30 +4906,35 @@ A codificação do conteúdo não é UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: Endereço IP do servidor: - + Port number: Número de porta: - + Server Settings Configurações do Servidor - + Remote URL: URL Remoto: - + Stage view URL: URL de Visualização de Palco: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4995,7 +5025,7 @@ A codificação do conteúdo não é UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Excluir Dados de Registro das Músicas @@ -5020,7 +5050,7 @@ A codificação do conteúdo não é UTF-8. Todos os dados solicitados foram apagados com sucesso. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. Selecione uma data limite para que os dados de uso de músicas seja excluído. Todos os registros antes desta data será excluídos permanentemente. @@ -5639,7 +5669,7 @@ EasyWorship] SongsPlugin.ImportWizardForm - + Select Document/Presentation Files Selecione Arquivos de Documentos/Apresentações @@ -5654,95 +5684,105 @@ EasyWorship] Este assistente irá ajudá-lo a importar músicas de uma variedade de formatos. Clique no abaixo no botão Próximo para iniciar o processo, escolhendo um desses formatos. - + Generic Document/Presentation Documento/Apresentação Genérica - + Filename: Nome do arquivo: - + Add Files... Adicionar Arquivos... - + Remove File(s) Remover Arquivos(s) - + Please wait while your songs are imported. Por favor espere enquanto as suas músicas são importadas. - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. O importador para o formato OpenLyrics ainda não foi desenvolvido, mas como você pode ver, nós ainda pretendemos desenvolvê-lo. Possivelmente ele estará disponível na próxima versão. - + OpenLP 2.0 Databases Bancos de Dados do OpenLP 2.0 - + openlp.org v1.x Databases Bancos de Dados do openlp.org v1.x - + Words Of Worship Song Files Arquivos de Música do Words Of Worship - + You need to specify at least one document or presentation file to import from. Você precisa especificar pelo menos um documento ou apresentação para importar. - + Songs Of Fellowship Song Files Arquivos do Songs Of Fellowship - + SongBeamer Files Arquivos do SongBeamer - + SongShow Plus Song Files Arquivos do SongShow Plus - + Foilpresenter Song Files Arquivos do Folipresenter - + Copy Copiar - + Save to File Salvar em Arquivo - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. A importação Songs of Fellowship foi desabilitada porque OpenLP não consegue acessar OpenOffice ou LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. A importação de documentos/apresentações genéricos foi desabilitada porque OpenLP não consegue acessar OpenOffice ou LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5770,7 +5810,7 @@ EasyWorship] Letras - + CCLI License: Licença CCLI: @@ -5793,7 +5833,7 @@ EasyWorship] Gerencia a lista de autores, tópicos e hinários. - + copy For song cloning copiar @@ -5818,7 +5858,7 @@ EasyWorship] SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exportando "%s"... @@ -5890,7 +5930,7 @@ EasyWorship] SongsPlugin.SongImportForm - + Your song import failed. Sua importação de música falhou. diff --git a/resources/i18n/ru.ts b/resources/i18n/ru.ts index 4d799b722..e61edcf80 100644 --- a/resources/i18n/ru.ts +++ b/resources/i18n/ru.ts @@ -412,38 +412,38 @@ Changes do not affect verses already in the service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Регистрация Библии и загрузка книг... - + Registering Language... Регистрация языка... - + Importing %s... Importing <book name>... Импорт %s... - + Download Error Ошибка загрузки - + 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. Возникла проблема при загрузке секции стихов. Пожалуйста, проверьте параметры Интернет соединения, и случае если ошибка происходит при нормальном Интернет соединении, сообщите о ней на сайте разработчика в разделе Ошибки. - + Parse Error Ошибка обработки - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Возникла проблема при распаковке раздела стихов. Если это ошибка будет повторяться, пожалуйста сообщите о ней. @@ -556,32 +556,32 @@ Changes do not affect verses already in the service. Вам необходимо указать файл с содержимым стихов Библии для импорта. - + You need to specify a version name for your Bible. Вам необходимо указать название перевода Библии. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Вам необходимо указать авторские права Библии. Переводы Библии находящиеся в свободном доступе должны быть помечены как таковые. - + Bible Exists Библия существует - + This Bible already exists. Please import a different Bible or first delete the existing one. Библия уже существует. Выполните импорт другой Библии или удалите существующую. - + CSV File Файл CSV - + Your Bible import failed. Импорт Библии провалился. @@ -601,17 +601,17 @@ Changes do not affect verses already in the service. Файл стихов: - + openlp.org 1.x Bible Files Файл Библии openlp.org 1.x - + Registering Bible... Регистрация Библии... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Регистрация Библии. Пожалуйста, помните о том, что стихи @@ -1113,7 +1113,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I ImagePlugin.ExceptionDialog - + Select Attachment Выбрать Вложение @@ -1166,17 +1166,17 @@ Do you want to add the other images anyway? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1270,7 +1270,7 @@ Do you want to add the other images anyway? Файл %s не существует. - + You must select a media file to delete. Вы должны выбрать медиа-файл для удаления. @@ -1635,7 +1635,7 @@ Portions copyright © 2004-2011 %s Добавить файл - + Description characters to enter : %s Символы описания: %s @@ -1643,24 +1643,24 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Платформа: %s - + Save Crash Report Сохранить отчет об ошибке - + Text files (*.txt *.log *.text) Текстовый файл (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1691,7 +1691,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2791,7 +2791,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected Объекты не выбраны @@ -2801,42 +2801,42 @@ Database: %s &Добавить в выбранный объект Служения - + You must select one or more items to preview. Вы должны выбрать объекты для просмотра. - + You must select one or more items to send live. Вы должны выбрать элементы для показа. - + You must select one or more items. Вы должны выбрать один или более элементов. - + You must select an existing service item to add to. Для добавления вы должны выбрать существующий элемент служения. - + Invalid Service Item Неправильный элемент Служения - + You must select a %s service item. Вы должны выбрать объект служения %s. - + You must select one or more items to add. Для добавления вы должны выбрать один или более элементов. - + No Search Results Результаты поиска отсутствуют @@ -3013,12 +3013,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>Начать</strong>: %s - + <strong>Length</strong>: %s <strong>Длина</strong>: %s @@ -3034,209 +3034,209 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top Передвинуть &вверх - + Move item to the top of the service. Передвинуть объект в начало служения. - + Move &up Передвинуть &вверх - + Move item up one position in the service. Передвинуть объект на одну позицию в служении - + Move &down Передвинуть &вниз - + Move item down one position in the service. Передвинуть объект на одну позицию вниз в служении. - + Move to &bottom Передвинуть &вниз - + Move item to the end of the service. Передвинуть объект в конец служения. - + Moves the selection down the window. Передвинуть выделенное вниз окна. - + Move up Передвинуть вверх - + Moves the selection up the window. Передвинуть выделенное вверх окна. - + &Delete From Service &Удалить из служения - + Delete the selected item from the service. Удалить выбранный объект из служения. - + &Expand all &Расширить все - + Expand all the service items. Расширить все объекты служения. - + &Collapse all &Свернуть все - + Collapse all the service items. Свернуть все объекты служения. - + Go Live Показать - + Send the selected item to Live. Показать выбранный объект. - + &Add New Item &Добавить новый элемент - + &Add to Selected Item &Добавить к выбранному элементу - + &Edit Item &Изменить элемент - + &Reorder Item &Упорядочить элементы - + &Notes &Заметки - + &Change Item Theme &Изменить тему элемента - + Open File Открыть файл - + OpenLP Service Files (*.osz) Открыть файл служения OpenLP (*.osz) - + Modified Service Измененное служение - + File is not a valid service. The content encoding is not UTF-8. Файл не является правильным служением. Формат кодирования не UTF-8. - + File is not a valid service. Файл не является правильным служением. - + Missing Display Handler Отсутствует обработчик показа - + Your item cannot be displayed as there is no handler to display it Объект не может быть показан, поскольку отсутствует обработчик для его показа - + Your item cannot be displayed as the plugin required to display it is missing or inactive Элемент служения не может быть показан, поскольку требуемый плагин отсутствует или отключен - + &Start Time &Время начала - + Show &Preview Показать &Просмотр - + Show &Live Показать &на проектор - + The current service has been modified. Would you like to save this service? Текущее служение было изменено. Вы хотите сохранить это служение? - + File could not be opened because it is corrupt. Файл не может быть открыт, поскольку он поврежден. - + Empty File Пустой файл - + This service file does not contain any data. Файл служения не содержит данных. - + Corrupt File Поврежденный файл @@ -3256,42 +3256,42 @@ The content encoding is not UTF-8. Время игры: - + Untitled Service Служение без названия - + Load an existing service. Загрузить существующее служение. - + Save this service. Сохранить это служение. - + Select a theme for the service. Выбрать тему для служения. - + This file is either corrupt or it is not an OpenLP 2.0 service file. Этот файл поврежден или не является файлом служения OpenLP 2.0. - + Slide theme Тема слайда - + Notes Заметки - + Service File Missing Файл служения отсутствует @@ -3418,17 +3418,17 @@ The content encoding is not UTF-8. Перейти к - + Previous Service Предыдущее служение - + Next Service Следующее служение - + Escape Item @@ -3548,36 +3548,51 @@ The content encoding is not UTF-8. Start time is after the finish time of the media item Время начало больше длительности медиа файла + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Выбрать изображение - + Theme Name Missing Название темы отсутствует - + There is no name for this theme. Please enter one. Не указано название темы. Укажите его. - + Theme Name Invalid Название темы неправильное - + Invalid theme name. Please enter one. Наверное название темы. Исправьте его. - + (approximately %d lines per slide) (приблизительно %d строк на слайд) @@ -3735,34 +3750,34 @@ The content encoding is not UTF-8. Выберите файл темы для импорта - + File is not a valid theme. The content encoding is not UTF-8. Файл темы не верный. Содержимое контента не похоже на UTF-8. - + Validation Error Ошибка Проверки - + File is not a valid theme. Файл не является темой. - + A theme with this name already exists. Тема с подобным именем уже существует. - + You are unable to delete the default theme. Вы не можете удалить тему назначенную по умолчанию. - + Theme %s is used in the %s plugin. Тема %s используется в плагине %s. @@ -3781,260 +3796,270 @@ The content encoding is not UTF-8. OpenLP.ThemeWizard - + Edit Theme - %s Изменить тему - %s - + Theme Wizard Мастер Тем - + Welcome to the Theme Wizard Добро пожаловать в Мастер Тем - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. Этот мастер поможет вам создать и изменить темы. Выберите кнопку Далее чтобы начать процесс настройки темы. - + Set Up Background Выбор фона - + Set up your theme's background according to the parameters below. Установите фон темы в соответствии с параметрами. - + Background type: Тип фона: - + Solid Color Сплошная заливка - + Gradient Градиент - + Color: Цвет: - + Gradient: Градиент: - + Horizontal Горизонтальный - + Vertical Вертикальный - + Circular Круговой - + Top Left - Bottom Right Верх слева - низ справа - + Bottom Left - Top Right Низ слева - верх справа - + Main Area Font Details Шрифт основной области - + Define the font and display characteristics for the Display text Определите шрифт и характеристики дисплея - + Font: Шрифт: - + Size: Размер: - + Line Spacing: Интервал: - + &Outline: &Контур: - + &Shadow: &Тень: - + Bold Жирный - + Italic Курсив - + Footer Area Font Details Настройки шрифта подписи - + Define the font and display characteristics for the Footer text Определите шрифт для подписи - + Text Formatting Details Настройки форматирования текста - + Allows additional display formatting information to be defined Разрешить дополнительные настройки форматирования - + Horizontal Align: Горизонтальная привязка: - + Left Слева - + Right Справа - + Center По центру - + Transitions: Переходы: - + Output Area Locations Расположение области вывода - + Allows you to change and move the main and footer areas. Разрешить изменять и перемещать основную область и область вывода. - + &Main Area &Основная область - + &Use default location &Использовать положение по умолчанию - + X position: Позиция Х: - + px px - + Y position: Позиция Y: - + Width: Ширина: - + Height: Высота: - + &Footer Area &Область подписи - + Use default location Использовать расположение по умолчанию - + Save and Preview Сохранить и просмотреть - + View the theme and save it replacing the current one or change the name to create a new theme Просмотреть тему и сохранить ее заменяя текущую или изменить название создав новую тему - + Theme name: Название темы: - + Starting color: Начальный цвет: - + Ending color: Конечный цвет: - + Background color: Цвет фона: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4679,52 +4704,52 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) - + Automatic - + Present using: - + Presentations (%s) - + File Exists - + A presentation with that filename already exists. - + This type of presentation is not supported. - + Missing Presentation - + The Presentation %s is incomplete, please reload. - + The Presentation %s no longer exists. @@ -4869,30 +4894,35 @@ The content encoding is not UTF-8. RemotePlugin.RemoteTab - + Server Settings - + Serve on IP address: - + Port number: - + Remote URL: - + Stage view URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4983,7 +5013,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Удалить данные использования песен @@ -5008,7 +5038,7 @@ The content encoding is not UTF-8. Все запросы были успешно удалены. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5634,100 +5664,110 @@ The encoding is responsible for the correct character representation. Этот Мастер поможет Вам импортировать песни из различных форматов. Выберите кнопку Далее чтобы начать процесс выбора формата для импорта. - + Generic Document/Presentation Общий формат или презентация - + Filename: Имя файла: - + Add Files... Добавить файлы... - + Remove File(s) Удалить Файл(ы) - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. - + Please wait while your songs are imported. Дождитесь, пока песни будут импортированы. - + OpenLP 2.0 Databases База данных OpenLP 2.0 - + openlp.org v1.x Databases База данных openlp.org v1.x - + Words Of Worship Song Files - + Select Document/Presentation Files Выберите файл документа или презентации - + You need to specify at least one document or presentation file to import from. Вы должны указать по крайней мере один документ или презентацию, чтобы осуществить импорт из них. - + Songs Of Fellowship Song Files Файлы песен Songs Of Fellowship - + SongBeamer Files Файлы SongBeamer - + SongShow Plus Song Files Файлы SongShow Plus - + Foilpresenter Song Files Foilpresenter Song Files - + Copy Копировать - + Save to File Сохранить в файл - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5769,7 +5809,7 @@ The encoding is responsible for the correct character representation. - + CCLI License: Лицензия CCLI: @@ -5779,7 +5819,7 @@ The encoding is responsible for the correct character representation. - + copy For song cloning @@ -5804,7 +5844,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... Экспортирую "%s"... @@ -5876,7 +5916,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongImportForm - + Your song import failed. diff --git a/resources/i18n/sv.ts b/resources/i18n/sv.ts index 409540d5b..7f95b4dac 100644 --- a/resources/i18n/sv.ts +++ b/resources/i18n/sv.ts @@ -412,38 +412,38 @@ Changes do not affect verses already in the service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... Registrerar bibel och laddar böcker... - + Registering Language... Registrerar språk... - + Importing %s... Importing <book name>... Importerar %s... - + Download Error Fel vid nedladdning - + 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. Det uppstod problem vid nedladdningen av versurvalet. Kontrollera Internetanslutningen och om problemet återkommer, överväg att rapportera det som en bugg. - + Parse Error Fel vid tolkning - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. Det uppstod problem vid extraherande av vers-urvalet. Om problemet uppstår igen, överväg att rapportera det som en bugg. @@ -546,27 +546,27 @@ Changes do not affect verses already in the service. Du måste välja en fil med bibelverser att importera. - + You need to specify a version name for your Bible. Du måste ange ett namn för bibeln. - + Bible Exists Bibeln finns redan - + Your Bible import failed. Bibelimporten misslyckades. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. Du måste ange en copyright-text för bibeln. Biblar i public domain måste anges som sådana. - + This Bible already exists. Please import a different Bible or first delete the existing one. Bibeln finns redan. Importera en annan Bibel eller radera den nuvarande. @@ -576,7 +576,7 @@ Changes do not affect verses already in the service. Tillstånd: - + CSV File CSV-fil @@ -601,17 +601,17 @@ Changes do not affect verses already in the service. Versfil: - + openlp.org 1.x Bible Files openlp.org 1.x bibelfiler - + Registering Bible... Registrerar bibel... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. Bibeln registrerad. Observera att verser kommer att laddas ner @@ -824,7 +824,7 @@ Misslyckades Upgrading Bible %s of %s: "%s" Upgrading ... Uppgraderar bibel %s av %s: "%s" -Uppgraderar... +Uppgraderar ... @@ -836,7 +836,7 @@ Uppgraderar... Upgrading Bible %s of %s: "%s" Upgrading %s ... Uppgraderar bibel %s av %s: "%s" -Uppgraderar %s... +Uppgraderar %s ... @@ -1043,8 +1043,8 @@ Observera att verser från webb-biblar kommer att laddas ner vid behov, och där Are you sure you want to delete the %n selected custom slides(s)? - Är du säker på att du vill ta bort den valda uppsättningen sidor? - Är du säker på att du vill ta bort de %n valda uppsättningarna sidor? + Är du säker på att du vill ta bort den valda anpassade diabilden? + Är du säker på att du vill ta bort de %n valda anpassade diabilderna? @@ -1053,7 +1053,7 @@ Observera att verser från webb-biblar kommer att laddas ner vid behov, och där <strong>Image Plugin</strong><br />The image plugin provides displaying of images.<br />One of the distinguishing features of this plugin is the ability to group a number of images together in the service manager, making the displaying of multiple images easier. This plugin can also make use of OpenLP's "timed looping" feature to create a slide show that runs automatically. In addition to this, images from the plugin can be used to override the current theme's background, which renders text-based items like songs with the selected image as a background instead of the background provided by the theme. - <strong>Bildmodul</strong><br />Bildmodulen erbjuder visning av bilder.<br />En av funktionerna i modulen är möjligheten att gruppera bilder i körschemat, vilket gör visning av flera bilder enklare. Modulen kan även använda OpenLP:s funktion för tidsstyrd bildväxling för att skapa ett bildspel som rullar automatiskt. Dessutom kan bilder från modulen användas för att ersätta det aktuella temats bakgrund, så att textbaserade sidor som till exempel sånger visas med den valda bilden som bakgrund i stället för temats bakgrund. + <strong>Bildmodul</strong><br />Bildmodulen erbjuder visning av bilder.<br />En av funktionerna i modulen är möjligheten att gruppera bilder i körschemat, vilket gör visning av flera bilder enklare. Modulen kan även använda OpenLP:s funktion för "tidsstyrd bildväxling" för att skapa ett bildspel som rullar automatiskt. Dessutom kan bilder från modulen användas för att ersätta det aktuella temats bakgrund, så att textbaserade sidor som till exempel sånger visas med den valda bilden som bakgrund i stället för temats bakgrund. @@ -1112,7 +1112,7 @@ Observera att verser från webb-biblar kommer att laddas ner vid behov, och där ImagePlugin.ExceptionDialog - + Select Attachment Välj bilaga @@ -1165,17 +1165,17 @@ Vill du lägga till dom andra bilderna ändå? ImagesPlugin.ImageTab - + Background Color Bakgrundsfärg - + Default Color: Standardfärg: - + Provides border where image is not the correct dimensions for the screen when resized. Visas som fyllning där bilden inte har rätt dimensioner för skärmen. @@ -1249,7 +1249,7 @@ Vill du lägga till dom andra bilderna ändå? Välj media - + You must select a media file to delete. Du måste välja en mediafil för borttagning. @@ -1634,7 +1634,7 @@ Del-copyright © 2004-2011 %s Lägg till fil - + Description characters to enter : %s Beskrivningstecken att ange: %s @@ -1642,24 +1642,24 @@ Del-copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s Plattform: %s - + Save Crash Report Spara kraschrapport - + Text files (*.txt *.log *.text) Textfiler (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1690,7 +1690,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -1945,7 +1945,7 @@ Version: %s No Internet connection was found. The First Time Wizard needs an Internet connection in order to be able to download sample songs, Bibles and themes. Press the Finish button now to start OpenLP with initial settings and no sample data. To re-run the First Time Wizard and import this sample data at a later time, check your Internet connection and re-run this wizard by selecting "Tools/Re-run First Time Wizard" from OpenLP. - Ingen Internetanslutning kunde hittas. Kom igång-guiden behöver en anslutning till Internet för att kunna ladda ner fria sånger, biblar och teman. Klicka Slutför för att starta OpenLP med grundinställningar och utan hämtad data. + Ingen Internetanslutning kunde hittas. Kom igång-guiden behöver en anslutning till Internet för att kunna ladda ner fria sånger, biblar och teman. Klicka Slutför för att starta OpenLP med grundinställningar och utan hämtad data. För att köra kom igång-guiden och importera den här datan senare, kontrollera din Internetanslutning och kör den här guiden genom att välja "Verktyg/Kör kom igång-guide" från OpenLP. @@ -2579,7 +2579,7 @@ För att avbryta kom igång-guiden helt (och inte starta OpenLP), klicka Avbryt Version %s of OpenLP is now available for download (you are currently running version %s). You can download the latest version from http://openlp.org/. - Version %s av OpenLP är nu tillgänglig för hämtning (du kör för närvarande version %s). + Version %s av OpenLP är nu tillgänglig för hämtning (du kör för närvarande version %s). Du kan ladda ner den senaste versionen från http://openlp.org/. @@ -2760,7 +2760,7 @@ Att importera inställningar kan leda till oväntade beteenden eller att OpenLP OpenLP will now close. Imported settings will be applied the next time you start OpenLP. - OpenLP kommer nu att avslutas. Importerade inställningar kommer att tillämpas nästa gång du startar OpenLP. + OpenLP kommer nu att avslutas. Importerade inställningar kommer att tillämpas nästa gång du startar OpenLP. @@ -2802,7 +2802,7 @@ Databas: %s OpenLP.MediaManagerItem - + No Items Selected Inga poster valda @@ -2812,42 +2812,42 @@ Databas: %s &Lägg till i vald post i körschemat - + You must select one or more items to preview. Du måste välja en eller flera poster att förhandsgranska. - + You must select one or more items to send live. Du måste välja en eller flera poster att visa live. - + You must select one or more items. Du måste välja en eller flera poster. - + You must select an existing service item to add to. Du måste välja en befintlig post i körschemat att lägga till i. - + Invalid Service Item Ogiltig körschemapost - + You must select a %s service item. Du måste välja en post av typen %s i körschemat. - + You must select one or more items to add. Du måste välja en eller flera poster att lägga till. - + No Search Results Inga sökresultat @@ -2990,7 +2990,7 @@ Filändelsen stöds ej Service Sheet - Körkschema + Körschema @@ -3024,12 +3024,12 @@ Filändelsen stöds ej OpenLP.ServiceItem - + <strong>Start</strong>: %s <strong>Start</strong>: %s - + <strong>Length</strong>: %s <strong>Längd</strong>: %s @@ -3045,209 +3045,209 @@ Filändelsen stöds ej OpenLP.ServiceManager - + Move to &top Lägg &först - + Move item to the top of the service. Lägg posten först i körschemat. - + Move &up Flytta &upp - + Move item up one position in the service. Flytta upp posten ett steg i körschemat. - + Move &down Flytta &ner - + Move item down one position in the service. Flytta ner posten ett steg i körschemat. - + Move to &bottom Lägg &sist - + Move item to the end of the service. Lägg posten sist i körschemat. - + &Delete From Service &Ta bort från körschemat - + Delete the selected item from the service. Ta bort den valda posten från körschemat. - + &Add New Item &Lägg till ny post - + &Add to Selected Item Lägg till i &vald post - + &Edit Item &Redigera post - + &Reorder Item Arrangera &om post - + &Notes &Anteckningar - + &Change Item Theme &Byt postens tema - + File is not a valid service. The content encoding is not UTF-8. Filen är inte ett giltigt körschema. Innehållets teckenkodning är inte UTF-8. - + File is not a valid service. Filen är inte ett giltigt körschema. - + Missing Display Handler Visningsmodul saknas - + Your item cannot be displayed as there is no handler to display it Posten kan inte visas eftersom det inte finns någon visningsmodul för att visa den - + Your item cannot be displayed as the plugin required to display it is missing or inactive Posten kan inte visas eftersom modulen som krävs för att visa den saknas eller är inaktiv - + &Expand all &Expandera alla - + Expand all the service items. Expandera alla poster i körschemat. - + &Collapse all &Fäll ihop alla - + Collapse all the service items. Fäll ihop alla poster i körschemat. - + Open File Öppna fil - + OpenLP Service Files (*.osz) OpenLP körschemafiler (*.osz) - + Moves the selection down the window. - Flyttar ner urvalet i fönstret + Flyttar urvalet neråt i fönstret. - + Move up Flytta upp - + Moves the selection up the window. - Flyttar upp urvalet i fönstret + Flyttar urvalet uppåt i fönstret. - + Go Live Lägg ut live-bilden - + Send the selected item to Live. Visa den valda posten live. - + Modified Service Körschemat ändrat - + &Start Time &Starttid - + Show &Preview &Förhandsgranska - + Show &Live Visa &Live - + The current service has been modified. Would you like to save this service? Det nuvarande körschemat har ändrats. Vill du spara körschemat? - + File could not be opened because it is corrupt. Filen kunde inte öppnas eftersom den är korrupt. - + Empty File Tom fil - + This service file does not contain any data. Det här körschemat innehåller inte någon data. - + Corrupt File Korrupt fil @@ -3267,42 +3267,42 @@ Innehållets teckenkodning är inte UTF-8. Speltid: - + Untitled Service Nytt körschema - + Load an existing service. Ladda ett befintligt körschema. - + Save this service. Spara körschemat. - + Select a theme for the service. Välj ett tema för körschemat. - + This file is either corrupt or it is not an OpenLP 2.0 service file. Filen är antingen korrupt eller inte en OpenLP 2.0 körschemafil. - + Slide theme Sidtema - + Notes Anteckningar - + Service File Missing Körschemafil saknas @@ -3429,17 +3429,17 @@ Innehållets teckenkodning är inte UTF-8. Nästa sida - + Previous Service Föregående post - + Next Service Nästa post - + Escape Item Avbryt post @@ -3559,36 +3559,51 @@ Innehållets teckenkodning är inte UTF-8. Start time is after the finish time of the media item Starttiden är efter mediapostens slut + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image Välj bild - + Theme Name Missing Temanamn saknas - + There is no name for this theme. Please enter one. Det finns inget namn på temat. Var vänlig att ange ett. - + Theme Name Invalid Ogiltigt temanamn - + Invalid theme name. Please enter one. Ogiltigt temanamn. Ange ett giltigt namn. - + (approximately %d lines per slide) (ungefär %d rader per sida) @@ -3666,7 +3681,7 @@ Innehållets teckenkodning är inte UTF-8. Du måste välja ett tema att redigera. - + You are unable to delete the default theme. Du kan inte ta bort standardtemat. @@ -3706,19 +3721,19 @@ Innehållets teckenkodning är inte UTF-8. Välj temafil - + File is not a valid theme. The content encoding is not UTF-8. Filen är inte ett giltigt tema. Innehållets teckenkodning är inte UTF-8. - + File is not a valid theme. Filen är inte ett giltigt tema. - + Theme %s is used in the %s plugin. Temat %s används i modulen %s. @@ -3768,12 +3783,12 @@ Innehållets teckenkodning är inte UTF-8. Ta bort temat %s? - + Validation Error Valideringsfel - + A theme with this name already exists. Ett tema med det här namnet finns redan. @@ -3792,260 +3807,270 @@ Innehållets teckenkodning är inte UTF-8. OpenLP.ThemeWizard - + Theme Wizard Temaguiden - + Welcome to the Theme Wizard Välkommen till temaguiden - + Set Up Background Ställ in bakgrund - + Set up your theme's background according to the parameters below. Ställ in temats bakgrund enligt parametrarna nedan. - + Background type: Bakgrundstyp: - + Solid Color Solid färg - + Gradient Gradient - + Color: Färg: - + Gradient: Gradient: - + Horizontal Horisontell - + Vertical Vertikal - + Circular Cirkulär - + Top Left - Bottom Right Uppe vänster - nere höger - + Bottom Left - Top Right Nere vänster - uppe höger - + Main Area Font Details Huvudytans tecken - + Define the font and display characteristics for the Display text Definiera font och egenskaper för visningstexten - + Font: Teckensnitt: - + Size: Storlek: - + Line Spacing: Radavstånd: - + &Outline: - &Kant + &Kant: - + &Shadow: - Sk&ugga + Sk&ugga: - + Bold Fetstil - + Italic Kursiv - + Footer Area Font Details Sidfotens tecken - + Define the font and display characteristics for the Footer text Definiera font och egenskaper för sidfotstexten - + Text Formatting Details Textformatering - + Allows additional display formatting information to be defined Ytterligare inställningsmöjligheter för visningsformatet - + Horizontal Align: Horisontell justering: - + Left Vänster - + Right Höger - + Center Centrera - + Output Area Locations Visningsytornas positioner - + Allows you to change and move the main and footer areas. Låter dig ändra och flytta huvud- och sidfotsytorna. - + &Main Area &Huvudyta - + &Use default location Använd &standardposition - + X position: X-position: - + px px - + Y position: Y-position: - + Width: Bredd: - + Height: Höjd: - + Use default location Använd standardposition - + Save and Preview Spara och förhandsgranska - + View the theme and save it replacing the current one or change the name to create a new theme Visa temat och spara det under samma namn för att ersätta det befintliga, eller under nytt namn för att skapa ett nytt tema - + Theme name: Temanamn: - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. Den här guiden hjälper dig att skapa och redigera dina teman. Klicka på Nästa för att börja processen med att ställa in bakgrund. - + Transitions: Övergångar: - + &Footer Area &Sidfotsyta - + Edit Theme - %s Redigera tema - %s - + Starting color: Startfärg: - + Ending color: Slutfärg: - + Background color: Bakgrundsfärg: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4583,7 +4608,7 @@ Innehållets teckenkodning är inte UTF-8. Open service. - Öppna körschema + Öppna körschema. @@ -4690,52 +4715,52 @@ Innehållets teckenkodning är inte UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) Välj presentation(er) - + Automatic Automatiskt - + Present using: Presentera med: - + File Exists Fil finns redan - + A presentation with that filename already exists. En presentation med det namnet finns redan. - + This type of presentation is not supported. Den här presentationstypen stöds inte. - + Presentations (%s) Presentationer (%s) - + Missing Presentation Presentation saknas - + The Presentation %s no longer exists. Presentationen %s finns inte längre. - + The Presentation %s is incomplete, please reload. Presentationen %s är inte komplett; ladda om den. @@ -4880,30 +4905,35 @@ Innehållets teckenkodning är inte UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: Kör på IP-adress: - + Port number: Portnummer: - + Server Settings Serverinställningar - + Remote URL: Fjärrstyrningsadress: - + Stage view URL: Scenvisningsadress: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4994,7 +5024,7 @@ Innehållets teckenkodning är inte UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data Ta bort sånganvändningsdata @@ -5016,10 +5046,10 @@ Innehållets teckenkodning är inte UTF-8. All requested data has been deleted successfully. - All vald data har tagits bort. + All vald data har tagits bort. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. Välj datum fram till vilket sånganvändningsdatan ska tas bort. All data loggad före det datumet kommer att tas bort permanent. @@ -5068,7 +5098,7 @@ Innehållets teckenkodning är inte UTF-8. has been successfully created. Rapport %s -skapades utan problem. +skapades utan problem. @@ -5632,13 +5662,13 @@ Teckenkodningen ansvarar för rätt teckenrepresentation. This wizard will help to export your songs to the open and free <strong>OpenLyrics</strong> worship song format. - Den här guiden hjälper dig att exportera dina sånger till det öppna och fria <strong>OpenLyrics</strong>-lovsångsformatet. + Den här guiden hjälper dig att exportera dina sånger till det öppna och fria lovsångsformatet <strong>OpenLyrics</strong>. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files Välj dokument/presentation @@ -5653,95 +5683,105 @@ Teckenkodningen ansvarar för rätt teckenrepresentation. Den här guiden hjälper dig att importera sånger från en mängd olika format. Klicka på Nästa för att börja processen med att välja ett format att importera från. - + Generic Document/Presentation Vanligt dokument/presentation - + Filename: Filnamn: - + Add Files... Lägg till filer... - + Remove File(s) Ta bort fil(er) - + Please wait while your songs are imported. Vänta medan sångerna importeras. - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. Import av OpenLyrics är ännu inte utvecklat, men som du ser avser vi fortfarande att göra det. Förhoppningsvis finns det i nästa utgåva. - + OpenLP 2.0 Databases OpenLP 2.0-databas - + openlp.org v1.x Databases openlp.org v1.x-databas - + Words Of Worship Song Files Words of Worship-sångfiler - + Songs Of Fellowship Song Files Songs of Fellowship-sångfiler - + SongBeamer Files SongBeamer-filer - + SongShow Plus Song Files SongShow Plus-sångfiler - + You need to specify at least one document or presentation file to import from. Du måste ange minst ett dokument eller en presentation att importera från. - + Foilpresenter Song Files Foilpresenter-sångfiler - + Copy Kopiera - + Save to File Spara till fil - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. Import av Songs of Fellowship har inaktiverats eftersom OpenLP inte kan hitta OpenOffice eller LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. Import av vanliga dokument/presentationer har inaktiverats eftersom OpenLP inte hittar OpenOffice eller LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5769,7 +5809,7 @@ Teckenkodningen ansvarar för rätt teckenrepresentation. Sångtext - + CCLI License: CCLI-licens: @@ -5782,8 +5822,8 @@ Teckenkodningen ansvarar för rätt teckenrepresentation. Are you sure you want to delete the %n selected song(s)? + Är du säker på att du vill ta bort den valda sången? Är du säker på att du vill ta bort de %n valda sångerna? - @@ -5792,7 +5832,7 @@ Teckenkodningen ansvarar för rätt teckenrepresentation. Underhåll listan över författare, ämnen och böcker. - + copy For song cloning kopia @@ -5817,7 +5857,7 @@ Teckenkodningen ansvarar för rätt teckenrepresentation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... Exporterar "%s"... @@ -5850,12 +5890,12 @@ Teckenkodningen ansvarar för rätt teckenrepresentation. Your song export failed. - Sångexporten misslyckades + Sångexporten misslyckades. Finished export. To import these files use the <strong>OpenLyrics</strong> importer. - Exporten är slutförd. För att importera filerna, använd <OpenLyrics</strong>-import. + Exporten är slutförd. För att importera filerna, använd importen <strong>OpenLyrics</strong>. @@ -5889,7 +5929,7 @@ Teckenkodningen ansvarar för rätt teckenrepresentation. SongsPlugin.SongImportForm - + Your song import failed. Sångimporten misslyckades. diff --git a/resources/i18n/zh_CN.ts b/resources/i18n/zh_CN.ts index 38d5d28e8..532c64720 100644 --- a/resources/i18n/zh_CN.ts +++ b/resources/i18n/zh_CN.ts @@ -401,38 +401,38 @@ Changes do not affect verses already in the service. BiblesPlugin.HTTPBible - + Registering Bible and loading books... - + Registering Language... - + Importing %s... Importing <book name>... - + Download Error - + 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. - + Parse Error - + There was a problem extracting your verse selection. If this error continues to occur please consider reporting a bug. @@ -535,32 +535,32 @@ Changes do not affect verses already in the service. - + You need to specify a version name for your Bible. - + You need to set a copyright for your Bible. Bibles in the Public Domain need to be marked as such. - + Bible Exists - + This Bible already exists. Please import a different Bible or first delete the existing one. - + Your Bible import failed. - + CSV File @@ -590,17 +590,17 @@ Changes do not affect verses already in the service. - + openlp.org 1.x Bible Files - + Registering Bible... - + Registered Bible. Please note, that verses will be downloaded on demand and thus an internet connection is required. @@ -1093,7 +1093,7 @@ Please note that verses from Web Bibles will be downloaded on demand and so an I ImagePlugin.ExceptionDialog - + Select Attachment @@ -1145,17 +1145,17 @@ Do you want to add the other images anyway? ImagesPlugin.ImageTab - + Background Color - + Default Color: - + Provides border where image is not the correct dimensions for the screen when resized. @@ -1229,7 +1229,7 @@ Do you want to add the other images anyway? - + You must select a media file to delete. @@ -1544,7 +1544,7 @@ Portions copyright © 2004-2011 %s - + Description characters to enter : %s @@ -1552,23 +1552,23 @@ Portions copyright © 2004-2011 %s OpenLP.ExceptionForm - + Platform: %s - + Save Crash Report - + Text files (*.txt *.log *.text) - + **OpenLP Bug Report** Version: %s @@ -1586,7 +1586,7 @@ Version: %s - + *OpenLP Bug Report* Version: %s @@ -2669,7 +2669,7 @@ Database: %s OpenLP.MediaManagerItem - + No Items Selected @@ -2679,42 +2679,42 @@ Database: %s - + You must select one or more items to preview. - + You must select one or more items to send live. - + You must select one or more items. - + You must select an existing service item to add to. - + Invalid Service Item - + You must select a %s service item. - + You must select one or more items to add. - + No Search Results @@ -2890,12 +2890,12 @@ Suffix not supported OpenLP.ServiceItem - + <strong>Start</strong>: %s - + <strong>Length</strong>: %s @@ -2911,208 +2911,208 @@ Suffix not supported OpenLP.ServiceManager - + Move to &top - + Move item to the top of the service. - + Move &up - + Move item up one position in the service. - + Move &down - + Move item down one position in the service. - + Move to &bottom - + Move item to the end of the service. - + &Delete From Service - + Delete the selected item from the service. - + &Add New Item - + &Add to Selected Item - + &Edit Item - + &Reorder Item - + &Notes - + &Change Item Theme - + OpenLP Service Files (*.osz) - + File is not a valid service. The content encoding is not UTF-8. - + File is not a valid service. - + Missing Display Handler - + Your item cannot be displayed as there is no handler to display it - + Your item cannot be displayed as the plugin required to display it is missing or inactive - + &Expand all - + Expand all the service items. - + &Collapse all - + Collapse all the service items. - + Open File - + Moves the selection down the window. - + Move up - + Moves the selection up the window. - + Go Live - + Send the selected item to Live. - + &Start Time - + Show &Preview - + Show &Live - + Modified Service - + The current service has been modified. Would you like to save this service? - + File could not be opened because it is corrupt. - + Empty File - + This service file does not contain any data. - + Corrupt File @@ -3132,42 +3132,42 @@ The content encoding is not UTF-8. - + Untitled Service - + Load an existing service. - + Save this service. - + Select a theme for the service. - + This file is either corrupt or it is not an OpenLP 2.0 service file. - + Slide theme - + Notes - + Service File Missing @@ -3294,17 +3294,17 @@ The content encoding is not UTF-8. - + Previous Service - + Next Service - + Escape Item @@ -3424,36 +3424,51 @@ The content encoding is not UTF-8. Start time is after the finish time of the media item + + + Theme Layout + + + + + The blue box shows the main area. + + + + + The red box shows the footer. + + OpenLP.ThemeForm - + Select Image - + Theme Name Missing - + There is no name for this theme. Please enter one. - + Theme Name Invalid - + Invalid theme name. Please enter one. - + (approximately %d lines per slide) @@ -3531,12 +3546,12 @@ The content encoding is not UTF-8. - + You are unable to delete the default theme. - + Theme %s is used in the %s plugin. @@ -3576,13 +3591,13 @@ The content encoding is not UTF-8. - + File is not a valid theme. The content encoding is not UTF-8. - + File is not a valid theme. @@ -3632,12 +3647,12 @@ The content encoding is not UTF-8. - + Validation Error - + A theme with this name already exists. @@ -3656,260 +3671,270 @@ The content encoding is not UTF-8. OpenLP.ThemeWizard - + Theme Wizard - + Welcome to the Theme Wizard - + Set Up Background - + Set up your theme's background according to the parameters below. - + Background type: - + Solid Color - + Gradient - + Color: - + Gradient: - + Horizontal - + Vertical - + Circular - + Top Left - Bottom Right - + Bottom Left - Top Right - + Main Area Font Details - + Define the font and display characteristics for the Display text - + Font: - + Size: - + Line Spacing: - + &Outline: - + &Shadow: - + Bold - + Italic - + Footer Area Font Details - + Define the font and display characteristics for the Footer text - + Text Formatting Details - + Allows additional display formatting information to be defined - + Horizontal Align: - + Left - + Right - + Center - + Output Area Locations - + Allows you to change and move the main and footer areas. - + &Main Area - + &Use default location - + X position: - + px - + Y position: - + Width: - + Height: - + Use default location - + Save and Preview - + View the theme and save it replacing the current one or change the name to create a new theme - + Theme name: - + Edit Theme - %s - + This wizard will help you to create and edit your themes. Click the next button below to start the process by setting up your background. - + Transitions: - + &Footer Area - + Starting color: - + Ending color: - + Background color: + + + Justify + + + + + Layout Preview + + OpenLP.ThemesTab @@ -4554,52 +4579,52 @@ The content encoding is not UTF-8. PresentationPlugin.MediaItem - + Select Presentation(s) - + Automatic - + Present using: - + File Exists - + A presentation with that filename already exists. - + This type of presentation is not supported. - + Presentations (%s) - + Missing Presentation - + The Presentation %s no longer exists. - + The Presentation %s is incomplete, please reload. @@ -4744,30 +4769,35 @@ The content encoding is not UTF-8. RemotePlugin.RemoteTab - + Serve on IP address: - + Port number: - + Server Settings - + Remote URL: - + Stage view URL: + + + Display stage time in 12h format + + SongUsagePlugin @@ -4858,7 +4888,7 @@ The content encoding is not UTF-8. SongUsagePlugin.SongUsageDeleteForm - + Delete Song Usage Data @@ -4883,7 +4913,7 @@ The content encoding is not UTF-8. - + Select the date up to which the song usage data should be deleted. All data recorded before this date will be permanently deleted. @@ -5495,7 +5525,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.ImportWizardForm - + Select Document/Presentation Files @@ -5510,95 +5540,105 @@ The encoding is responsible for the correct character representation. - + Generic Document/Presentation - + Filename: - + The OpenLyrics importer has not yet been developed, but as you can see, we are still intending to do so. Hopefully it will be in the next release. - + Add Files... - + Remove File(s) - + Please wait while your songs are imported. - + OpenLP 2.0 Databases - + openlp.org v1.x Databases - + Words Of Worship Song Files - + You need to specify at least one document or presentation file to import from. - + Songs Of Fellowship Song Files - + SongBeamer Files - + SongShow Plus Song Files - + Foilpresenter Song Files - + Copy - + Save to File - + The Songs of Fellowship importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. - + The generic document/presentation importer has been disabled because OpenLP cannot access OpenOffice or LibreOffice. + + + OpenLyrics or OpenLP 2.0 Exported Song + + + + + OpenLyrics Files + + SongsPlugin.MediaFilesForm @@ -5626,7 +5666,7 @@ The encoding is responsible for the correct character representation. - + CCLI License: @@ -5648,7 +5688,7 @@ The encoding is responsible for the correct character representation. - + copy For song cloning @@ -5673,7 +5713,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.OpenLyricsExport - + Exporting "%s"... @@ -5745,7 +5785,7 @@ The encoding is responsible for the correct character representation. SongsPlugin.SongImportForm - + Your song import failed. From aa0b49290de0bfa66230ebcc56d91ad5ca2e2680 Mon Sep 17 00:00:00 2001 From: M2j Date: Thu, 20 Oct 2011 22:11:06 +0200 Subject: [PATCH 59/72] add version information for mako, migrate and uno to exceptionform --- openlp/core/ui/exceptionform.py | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/openlp/core/ui/exceptionform.py b/openlp/core/ui/exceptionform.py index c5fc678e2..18b36914d 100644 --- a/openlp/core/ui/exceptionform.py +++ b/openlp/core/ui/exceptionform.py @@ -39,6 +39,11 @@ try: PHONON_VERSION = Phonon.phononVersion() except ImportError: PHONON_VERSION = u'-' +try: + import migrate + MIGRATE_VERSION = migrate.__version__ +except ImportError: + MIGRATE_VERSION = u'-' try: import chardet CHARDET_VERSION = chardet.__version__ @@ -54,6 +59,24 @@ try: SQLITE_VERSION = sqlite.version except ImportError: SQLITE_VERSION = u'-' +try: + import mako + MAKO_VERSION = mako.__version__ +except ImportError: + MAKO_VERSION = u'-' +try: + import uno + arg = uno.createUnoStruct(u'com.sun.star.beans.PropertyValue') + arg.Name = u'nodepath' + arg.Value = u'/org.openoffice.Setup/Product' + context = uno.getComponentContext() + provider = context.ServiceManager.createInstance( + u'com.sun.star.configuration.ConfigurationProvider') + node = provider.createInstanceWithArguments( + u'com.sun.star.configuration.ConfigurationAccess', (arg,)) + UNO_VERSION = node.getByName(u'ooSetupVersion') +except ImportError: + UNO_VERSION = u'-' from openlp.core.lib import translate, SettingsManager from openlp.core.lib.ui import UiStrings @@ -89,11 +112,14 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog): u'Phonon: %s\n' % PHONON_VERSION + \ u'PyQt4: %s\n' % Qt.PYQT_VERSION_STR + \ u'SQLAlchemy: %s\n' % sqlalchemy.__version__ + \ + u'SQLAlchemy Migrate: %s\n' % MIGRATE_VERSION + \ u'BeautifulSoup: %s\n' % BeautifulSoup.__version__ + \ u'lxml: %s\n' % etree.__version__ + \ u'Chardet: %s\n' % CHARDET_VERSION + \ u'PyEnchant: %s\n' % ENCHANT_VERSION + \ - u'PySQLite: %s\n' % SQLITE_VERSION + u'PySQLite: %s\n' % SQLITE_VERSION + \ + u'Mako: %s\n' % MAKO_VERSION + \ + u'pyUNO bridge: %s\n' % UNO_VERSION if platform.system() == u'Linux': if os.environ.get(u'KDE_FULL_SESSION') == u'true': system = system + u'Desktop: KDE SC\n' From 05bf2ec6fa6f3a4bcf83b0c9cc9abd05fed44387 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 22 Oct 2011 13:09:01 +0200 Subject: [PATCH 60/72] removed obsolete signals and rearranged the docs --- openlp/core/__init__.py | 2 +- openlp/core/lib/eventreceiver.py | 271 +++++++++--------- openlp/core/ui/maindisplay.py | 6 +- openlp/core/ui/mainwindow.py | 4 +- openlp/core/ui/slidecontroller.py | 20 +- openlp/plugins/alerts/lib/alertsmanager.py | 6 +- .../presentations/lib/messagelistener.py | 8 +- 7 files changed, 157 insertions(+), 160 deletions(-) diff --git a/openlp/core/__init__.py b/openlp/core/__init__.py index 3c8bdfe71..82a30b19f 100644 --- a/openlp/core/__init__.py +++ b/openlp/core/__init__.py @@ -143,7 +143,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') + Receiver.send_message(u'live_display_blank_check') self.mainWindow.appStartup() DelayStartThread(self.mainWindow).start() # Skip exec_() for gui tests diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index 2d4134ee3..3970794e4 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -35,193 +35,190 @@ log = logging.getLogger(__name__) class EventReceiver(QtCore.QObject): """ - Class to allow events to be passed from different parts of the - system. This is a private class and should not be used directly - but rather via the Receiver class. + Class to allow events to be passed from different parts of the system. This + is a private class and should not be used directly but rather via the + Receiver class. + + **Mainwindow related and generic signals** + + ``mainwindow_status_text`` + Changes the bottom status bar text on the maindisplay window. + + ``openlp_warning_message`` + Displays a standalone Warning Message. + + ``openlp_error_message`` + Displays a standalone Error Message. + + ``openlp_information_message`` + Displays a standalone Information Message. + + ``cursor_busy`` + Makes the cursor got to a busy form. + + ``cursor_normal`` + Resets the cursor to default. ``openlp_process_events`` - Requests the Application to flush the events queue + Requests the Application to flush the events queue. ``openlp_version_check`` Version has changed so pop up window. + ``openlp_stop_wizard`` + Stops a wizard before completion. + + **Setting related signals** + ``config_updated`` - Informs components the config has changed + Informs components that the config has changed. ``config_screen_changed`` - The display monitor has been changed + The display monitor has been changed. + + **Slidecontroller signals** ``slidecontroller_{live|preview}_next`` - Moves to the next slide + Moves to the next slide. ``slidecontroller_{live|preview}_next_noloop`` - Moves to the next slide without auto advance + Moves to the next slide without auto advance. ``slidecontroller_{live|preview}_previous`` - Moves to the previous slide + Moves to the previous slide. ``slidecontroller_{live|preview}_previous_noloop`` - Moves to the previous slide, without auto advance + Moves to the previous slide, without auto advance. ``slidecontroller_{live|preview}_set`` - Moves to a specific slide, by index + Moves to a specific slide, by index. ``slidecontroller_{live|preview}_started`` - Broadcasts that an item has been made live/previewed + Broadcasts that an item has been made live/previewed. ``slidecontroller_{live|preview}_change`` Informs the slidecontroller that a slide change has occurred and to - update itself + update itself. ``slidecontroller_{live|preview}_changed`` - Broadcasts that the slidecontroller has changed the current slide + Broadcasts that the slidecontroller has changed the current slide. ``slidecontroller_{live|preview}_blank`` - Request that the output screen is blanked + Request that the output screen is blanked. ``slidecontroller_{live|preview}_unblank`` - Request that the output screen is unblanked + Request that the output screen is unblanked. ``slidecontroller_live_spin_delay`` - Pushes out the loop delay + Pushes out the loop delay. ``slidecontroller_live_stop_loop`` - Stop the loop on the main display + Stop the loop on the main display. + + **Servicemanager related signals** ``servicemanager_previous_item`` - Display the previous item in the service + Display the previous item in the service. ``servicemanager_preview_live`` - Requests a Preview item from the Service Manager to update live and - add a new item to the preview panel + Requests a Preview item from the Service Manager to update live and add + a new item to the preview panel. ``servicemanager_next_item`` - Display the next item in the service + Display the next item in the service. ``servicemanager_set_item`` - Go live on a specific item, by index - - ``maindisplay_blank`` - Blank the maindisplay window - - ``maindisplay_hide`` - Hide the maindisplay window - - ``maindisplay_show`` - Return the maindisplay window - - ``maindisplay_active`` - The maindisplay has been made active - - ``maindisplay_status_text`` - Changes the bottom status bar text on the maindisplay window - - ``maindisplay_blank_check`` - Check to see if the blank display message is required - - ``videodisplay_start`` - Open a media item and prepare for playing - - ``videodisplay_play`` - Start playing a media item - - ``videodisplay_pause`` - Pause a media item - - ``videodisplay_stop`` - Stop playing a media item - - ``videodisplay_background`` - Replace the background video - - ``theme_update_list`` - send out message with new themes - - ``theme_update_global`` - Tell the components we have a new global theme - - ``{plugin}_start`` - Requests a plugin to start a external program - Path and file provided in message - - ``{plugin}_first`` - Requests a plugin to handle a first event - - ``{plugin}_previous`` - Requests a plugin to handle a previous event - - ``{plugin}_next`` - Requests a plugin to handle a next event - - ``{plugin}_last`` - Requests a plugin to handle a last event - - ``{plugin}_slide`` - Requests a plugin to handle a go to specific slide event - - ``{plugin}_stop`` - Requests a plugin to handle a stop event - - ``{plugin}_blank`` - Requests a plugin to handle a blank screen event - - ``{plugin}_unblank`` - Requests a plugin to handle an unblank screen event - - ``{plugin}_edit`` - Requests a plugin edit a database item with the key as the payload - - ``{plugin}_edit_clear`` - Editing has been completed - - ``{plugin}_load_list`` - Tells the the plugin to reload the media manager list - - ``{plugin}_preview`` - Tells the plugin it's item can be previewed - - ``{plugin}_add_service_item`` - Ask the plugin to push the selected items to the service item - - ``{plugin}_service_load`` - Ask the plugin to process an individual service item after it has been - loaded + Go live on a specific item, by index. ``service_item_update`` Passes back to the service manager the service item after it has been - processed by the plugin + processed by the plugin. - ``alerts_text`` - Displays an alert message - - ``bibles_nobook`` - Attempt to find book resulted in no match - - ``openlp_stop_wizard`` - Stops a wizard before completion - - ``remotes_poll_request`` - Waits for openlp to do something "interesting" and sends a - remotes_poll_response signal when it does - - ``openlp_warning_message`` - Displays a standalone Warning Message - - ``openlp_error_message`` - Displays a standalone Error Message - - ``openlp_information_message`` - Displays a standalone Information Message - - ``cursor_busy`` - Makes the cursor got to a busy form - - ``cursor_normal`` - Resets the cursor to default + **Display signals** ``update_display_css`` CSS has been updated which needs to be changed on the main display. + **Live Display signals** + + ``live_display_hide`` + Hide the live display. + + ``live_display_show`` + Return the live display. + + ``live_display_active`` + The live display has been made active. + + ``live_display_blank_check`` + Check to see if the blank display message is required. + + **Theme related singlas** + + ``theme_update_list`` + send out message with new themes. + + ``theme_update_global`` + Tell the components we have a new global theme. + + **Plugin specific signals** + + ``{plugin}_start`` + Requests a plugin to start a external program. Path and file have to + be provided in the message. + + ``{plugin}_first`` + Requests a plugin to handle a first event. + + ``{plugin}_previous`` + Requests a plugin to handle a previous event. + + ``{plugin}_next`` + Requests a plugin to handle a next event. + + ``{plugin}_last`` + Requests a plugin to handle a last event. + + ``{plugin}_slide`` + Requests a plugin to handle a go to specific slide event. + + ``{plugin}_stop`` + Requests a plugin to handle a stop event. + + ``{plugin}_blank`` + Requests a plugin to handle a blank screen event. + + ``{plugin}_unblank`` + Requests a plugin to handle an unblank screen event. + + ``{plugin}_edit`` + Requests a plugin edit a database item with the key as the payload. + + ``{plugin}_edit_clear`` + Editing has been completed. + + ``{plugin}_load_list`` + Tells the the plugin to reload the media manager list. + + ``{plugin}_preview`` + Tells the plugin it's item can be previewed. + + ``{plugin}_add_service_item`` + Ask the plugin to push the selected items to the service item. + + ``{plugin}_service_load`` + Ask the plugin to process an individual service item after it has been + loaded. + + ``alerts_text`` + Displays an alert message. + + ``bibles_nobook`` + Attempt to find book resulted in no match. + + ``remotes_poll_request`` + Waits for openlp to do something "interesting" and sends a + ``remotes_poll_response`` signal when it does. """ def __init__(self): diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index d2de599f9..aa94454b7 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -77,9 +77,9 @@ class MainDisplay(QtGui.QGraphicsView): self.setAttribute(QtCore.Qt.WA_DeleteOnClose) if self.isLive: QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'maindisplay_hide'), self.hideDisplay) + QtCore.SIGNAL(u'live_display_hide'), self.hideDisplay) QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'maindisplay_show'), self.showDisplay) + QtCore.SIGNAL(u'live_display_show'), self.showDisplay) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'openlp_phonon_creation'), self.createMediaObject) @@ -570,7 +570,7 @@ class MainDisplay(QtGui.QGraphicsView): self.hideMode = None # Trigger actions when display is active again if self.isLive: - Receiver.send_message(u'maindisplay_active') + Receiver.send_message(u'live_display_active') def __hideMouse(self): # Hide mouse cursor when moved over display if enabled in settings diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 9d58ff82a..47570cd8a 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -611,11 +611,11 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow): QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'openlp_version_check'), self.versionNotice) QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'maindisplay_blank_check'), self.blankCheck) + QtCore.SIGNAL(u'live_display_blank_check'), self.blankCheck) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'config_screen_changed'), self.screenChanged) QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'maindisplay_status_text'), self.showStatusMessage) + QtCore.SIGNAL(u'mainwindow_status_text'), self.showStatusMessage) # Media Manager QtCore.QObject.connect(self.mediaToolBox, QtCore.SIGNAL(u'currentChanged(int)'), self.onMediaToolBoxChanged) diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 7e6e0d54e..97c30436e 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -743,9 +743,9 @@ class SlideController(QtGui.QWidget): elif display_type == u'blanked': self.onBlankDisplay(True) else: - Receiver.send_message(u'maindisplay_show') + Receiver.send_message(u'live_display_show') else: - Receiver.send_message(u'maindisplay_hide', HideMode.Screen) + Receiver.send_message(u'live_display_hide', HideMode.Screen) def onSlideBlank(self): """ @@ -831,21 +831,21 @@ class SlideController(QtGui.QWidget): if self.serviceItem is not None: if hide_mode: if not self.serviceItem.is_command(): - Receiver.send_message(u'maindisplay_hide', hide_mode) + Receiver.send_message(u'live_display_hide', hide_mode) Receiver.send_message(u'%s_blank' % self.serviceItem.name.lower(), [self.serviceItem, self.isLive, hide_mode]) else: if not self.serviceItem.is_command(): - Receiver.send_message(u'maindisplay_show') + Receiver.send_message(u'live_display_show') Receiver.send_message(u'%s_unblank' % self.serviceItem.name.lower(), [self.serviceItem, self.isLive]) else: if hide_mode: - Receiver.send_message(u'maindisplay_hide', hide_mode) + Receiver.send_message(u'live_display_hide', hide_mode) else: - Receiver.send_message(u'maindisplay_show') + Receiver.send_message(u'live_display_show') def hidePlugin(self, hide): """ @@ -854,21 +854,21 @@ class SlideController(QtGui.QWidget): log.debug(u'hidePlugin %s ', hide) if self.serviceItem is not None: if hide: - Receiver.send_message(u'maindisplay_hide', HideMode.Screen) + Receiver.send_message(u'live_display_hide', HideMode.Screen) Receiver.send_message(u'%s_hide' % self.serviceItem.name.lower(), [self.serviceItem, self.isLive]) else: if not self.serviceItem.is_command(): - Receiver.send_message(u'maindisplay_show') + Receiver.send_message(u'live_display_show') Receiver.send_message(u'%s_unblank' % self.serviceItem.name.lower(), [self.serviceItem, self.isLive]) else: if hide: - Receiver.send_message(u'maindisplay_hide', HideMode.Screen) + Receiver.send_message(u'live_display_hide', HideMode.Screen) else: - Receiver.send_message(u'maindisplay_show') + Receiver.send_message(u'live_display_show') def onSlideSelected(self, start=False): """ diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index dcf3acafe..8e91aecf5 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -45,7 +45,7 @@ class AlertsManager(QtCore.QObject): self.timer_id = 0 self.alertList = [] QtCore.QObject.connect(Receiver.get_receiver(), - QtCore.SIGNAL(u'maindisplay_active'), self.generateAlert) + QtCore.SIGNAL(u'live_display_active'), self.generateAlert) QtCore.QObject.connect(Receiver.get_receiver(), QtCore.SIGNAL(u'alerts_text'), self.onAlertText) @@ -69,11 +69,11 @@ class AlertsManager(QtCore.QObject): log.debug(u'display alert called %s' % text) self.alertList.append(text) if self.timer_id != 0: - Receiver.send_message(u'maindisplay_status_text', + Receiver.send_message(u'mainwindow_status_text', translate('AlertsPlugin.AlertsManager', 'Alert message created and displayed.')) return - Receiver.send_message(u'maindisplay_status_text', u'') + Receiver.send_message(u'mainwindow_status_text', u'') self.generateAlert() def generateAlert(self): diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py index d9cc9bdf0..0f38cf02f 100644 --- a/openlp/plugins/presentations/lib/messagelistener.py +++ b/openlp/plugins/presentations/lib/messagelistener.py @@ -68,7 +68,7 @@ class Controller(object): self.doc.slidenumber = slide_no if self.is_live: if hide_mode == HideMode.Screen: - Receiver.send_message(u'maindisplay_hide', HideMode.Screen) + Receiver.send_message(u'live_display_hide', HideMode.Screen) self.stop() elif hide_mode == HideMode.Theme: self.blank(hide_mode) @@ -76,7 +76,7 @@ class Controller(object): self.blank(hide_mode) else: self.doc.start_presentation() - Receiver.send_message(u'maindisplay_hide', HideMode.Screen) + Receiver.send_message(u'live_display_hide', HideMode.Screen) self.doc.slidenumber = 0 if slide_no > 1: self.slide(slide_no) @@ -196,7 +196,7 @@ class Controller(object): if not self.doc.is_active(): return if hide_mode == HideMode.Theme: - Receiver.send_message(u'maindisplay_hide', HideMode.Theme) + Receiver.send_message(u'live_display_hide', HideMode.Theme) self.doc.blank_screen() def stop(self): @@ -224,7 +224,7 @@ class Controller(object): self.doc.slidenumber != self.doc.get_slide_number(): self.doc.goto_slide(self.doc.slidenumber) self.doc.unblank_screen() - Receiver.send_message(u'maindisplay_hide', HideMode.Screen) + Receiver.send_message(u'live_display_hide', HideMode.Screen) def poll(self): self.doc.poll_slidenumber(self.is_live) From 49569746ea8f2e9697648a287b50111455b78ca1 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 22 Oct 2011 13:16:25 +0200 Subject: [PATCH 61/72] fixed doc --- openlp/core/lib/eventreceiver.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index 3970794e4..cb84ed979 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -42,7 +42,7 @@ class EventReceiver(QtCore.QObject): **Mainwindow related and generic signals** ``mainwindow_status_text`` - Changes the bottom status bar text on the maindisplay window. + Changes the bottom status bar text on the mainwindow. ``openlp_warning_message`` Displays a standalone Warning Message. @@ -254,7 +254,7 @@ class Receiver(object): To receive a Message ``QtCore.QObject.connect( Receiver.get_receiver(), - QtCore.SIGNAL(u'<>'), + QtCore.SIGNALvideodisplay(u'<>'), <> )`` """ From acac723b09868bdf3067d104edcc7959baf8202b Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 22 Oct 2011 13:28:47 +0200 Subject: [PATCH 62/72] copy error --- openlp/core/lib/eventreceiver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/lib/eventreceiver.py b/openlp/core/lib/eventreceiver.py index cb84ed979..14b6126bc 100644 --- a/openlp/core/lib/eventreceiver.py +++ b/openlp/core/lib/eventreceiver.py @@ -254,7 +254,7 @@ class Receiver(object): To receive a Message ``QtCore.QObject.connect( Receiver.get_receiver(), - QtCore.SIGNALvideodisplay(u'<>'), + QtCore.SIGNAL(u'<>'), <> )`` """ From 5a415311a5abb89a6f3f49e77adb20668f3a89c3 Mon Sep 17 00:00:00 2001 From: M2j Date: Sat, 22 Oct 2011 14:30:21 +0200 Subject: [PATCH 63/72] Correction for Migrate version smaller than 0.7 --- openlp/core/ui/exceptionform.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openlp/core/ui/exceptionform.py b/openlp/core/ui/exceptionform.py index 18b36914d..10fee7f6f 100644 --- a/openlp/core/ui/exceptionform.py +++ b/openlp/core/ui/exceptionform.py @@ -41,7 +41,7 @@ except ImportError: PHONON_VERSION = u'-' try: import migrate - MIGRATE_VERSION = migrate.__version__ + MIGRATE_VERSION = getattr(migrate, u'__version__', u'< 0.7') except ImportError: MIGRATE_VERSION = u'-' try: From 5f9ed32bfecc35905cd45bcdd69a43db660cadae Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 23 Oct 2011 18:22:11 +0100 Subject: [PATCH 64/72] Fix assignment error --- openlp/core/ui/exceptionform.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openlp/core/ui/exceptionform.py b/openlp/core/ui/exceptionform.py index 10fee7f6f..0cda4bd60 100644 --- a/openlp/core/ui/exceptionform.py +++ b/openlp/core/ui/exceptionform.py @@ -178,6 +178,8 @@ class ExceptionForm(QtGui.QDialog, Ui_ExceptionDialog): 'Please add the information that bug reports are favoured written ' 'in English.')) content = self._createReport() + source = u'' + exception = u'' for line in content[2].split(u'\n'): if re.search(r'[/\\]openlp[/\\]', line): source = re.sub(r'.*[/\\]openlp[/\\](.*)".*', r'\1', line) From 35875b700809378f530c04a668c65bbed4102c12 Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Tue, 25 Oct 2011 20:09:35 -0400 Subject: [PATCH 65/72] Added code to point pyinstaller to the OpenLP pyinstaller hooks directory --- scripts/windows-builder.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/windows-builder.py b/scripts/windows-builder.py index b7bf70472..b94ba93cc 100644 --- a/scripts/windows-builder.py +++ b/scripts/windows-builder.py @@ -48,10 +48,10 @@ Inno Setup 5 Sphinx This is used to build the documentation. The documentation trunk must be at - the same directory level as Openlp trunk and named "documentation" + the same directory level as Openlp trunk and named "documentation". HTML Help Workshop - This is used to create the help file + This is used to create the help file. PyInstaller PyInstaller should be a checkout of revision 1470 of trunk, and in a @@ -61,14 +61,10 @@ PyInstaller To install PyInstaller, first checkout trunk from Subversion. The easiest way is to install TortoiseSVN and then checkout the following URL to a - directory called "pyinstaller":: + directory called "pyinstaller". http://svn.pyinstaller.org/trunk - Then you need to copy the two hook-*.py files from the "pyinstaller" - subdirectory in OpenLP's "resources" directory into PyInstaller's - "PyInstaller/hooks" directory. - Bazaar You need the command line "bzr" client installed. @@ -79,7 +75,7 @@ OpenLP Visual C++ 2008 Express Edition This is to build pptviewlib.dll, the library for controlling the - PowerPointViewer + PowerPointViewer. windows-builder.py This script, of course. It should be in the "scripts" directory of OpenLP. @@ -89,6 +85,8 @@ psvince.dll running on the users machine prior to the setup. If OpenLP is running, the install will fail. The dll can be obtained from here: http://www.vincenzo.net/isxkb/index.php?title=PSVince) + + The dll is presently included in .\resources\windows Mako Mako Templates for Python. This package is required for building the @@ -149,6 +147,7 @@ build_path = os.path.join(branch_path, u'build') dist_path = os.path.join(branch_path, u'dist', u'OpenLP') pptviewlib_path = os.path.join(source_path, u'plugins', u'presentations', u'lib', u'pptviewlib') +hooks_path = os.path.join(branch_path , u'resources', u'pyinstaller') def update_code(): os.chdir(branch_path) @@ -173,7 +172,8 @@ def run_pyinstaller(): pyinstaller = Popen((python_exe, pyi_build, u'--noconfirm', u'--windowed', - u'--noupx', + u'--noupx', + u'--additional-hooks-dir', hooks_path, u'-o', branch_path, u'-i', win32_icon, u'-p', branch_path, From c12a7b09013e275b3312c958b582eba98c0e710d Mon Sep 17 00:00:00 2001 From: M2j Date: Wed, 26 Oct 2011 09:40:12 +0200 Subject: [PATCH 66/72] add uno to the dependency check --- scripts/check_dependencies.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/check_dependencies.py b/scripts/check_dependencies.py index dd2907ba9..d1ec2228b 100755 --- a/scripts/check_dependencies.py +++ b/scripts/check_dependencies.py @@ -73,6 +73,7 @@ MODULES = [ 'BeautifulSoup', 'mako', 'migrate', + 'uno', ] From fe3453a7a5f2b7810dc3a3800409cab9dfe8434d Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Thu, 27 Oct 2011 17:06:40 -0400 Subject: [PATCH 67/72] Fixed the documentation section of the script --- scripts/windows-builder.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scripts/windows-builder.py b/scripts/windows-builder.py index b94ba93cc..170d15e83 100644 --- a/scripts/windows-builder.py +++ b/scripts/windows-builder.py @@ -61,7 +61,7 @@ PyInstaller To install PyInstaller, first checkout trunk from Subversion. The easiest way is to install TortoiseSVN and then checkout the following URL to a - directory called "pyinstaller". + directory called "pyinstaller":: http://svn.pyinstaller.org/trunk @@ -83,17 +83,19 @@ windows-builder.py psvince.dll This dll is used during the actual install of OpenLP to check if OpenLP is running on the users machine prior to the setup. If OpenLP is running, - the install will fail. The dll can be obtained from here: - http://www.vincenzo.net/isxkb/index.php?title=PSVince) + the install will fail. The dll can be obtained from here:: + + http://www.vincenzo.net/isxkb/index.php?title=PSVince) - The dll is presently included in .\resources\windows + The dll is presently included in .\\resources\\windows Mako Mako Templates for Python. This package is required for building the remote plugin. It can be installed by going to your python_directory\scripts\.. and running "easy_install Mako". If you do not - have easy_install, the Mako package can be obtained here: - http://www.makotemplates.org/download.html + have easy_install, the Mako package can be obtained here:: + + http://www.makotemplates.org/download.html """ From f522c79b1ea90b4d3f08d75a5d86a2baf3066e8b Mon Sep 17 00:00:00 2001 From: Stevan Pettit Date: Fri, 28 Oct 2011 09:28:57 -0400 Subject: [PATCH 68/72] Added sqlalchemy-migrate to comments section. Made some changes to comments section to preserve links. --- scripts/windows-builder.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/windows-builder.py b/scripts/windows-builder.py index 170d15e83..9076971cb 100644 --- a/scripts/windows-builder.py +++ b/scripts/windows-builder.py @@ -83,7 +83,7 @@ windows-builder.py psvince.dll This dll is used during the actual install of OpenLP to check if OpenLP is running on the users machine prior to the setup. If OpenLP is running, - the install will fail. The dll can be obtained from here:: + the install will fail. The dll can be obtained from here: http://www.vincenzo.net/isxkb/index.php?title=PSVince) @@ -93,10 +93,16 @@ Mako Mako Templates for Python. This package is required for building the remote plugin. It can be installed by going to your python_directory\scripts\.. and running "easy_install Mako". If you do not - have easy_install, the Mako package can be obtained here:: + have easy_install, the Mako package can be obtained here: http://www.makotemplates.org/download.html - + +Sqlalchemy Migrate + Required for the data-bases used in OpenLP. The package can be + obtained here: + + http://code.google.com/p/sqlalchemy-migrate/ + """ import os From 8e853f10b1d2f4b79b7b062e624069b00678eb5b Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 29 Oct 2011 10:33:48 +0100 Subject: [PATCH 69/72] Fix crash with alerts over video Change default to bottom from middle Remove unused from from previous merge Fixes: https://launchpad.net/bugs/875798, https://launchpad.net/bugs/883414 --- openlp/core/lib/htmlbuilder.py | 21 --------------------- openlp/core/ui/maindisplay.py | 6 +++--- openlp/plugins/alerts/lib/alertsmanager.py | 5 +++-- openlp/plugins/alerts/lib/alertstab.py | 2 +- 4 files changed, 7 insertions(+), 27 deletions(-) diff --git a/openlp/core/lib/htmlbuilder.py b/openlp/core/lib/htmlbuilder.py index 863943e40..5dfe00d36 100644 --- a/openlp/core/lib/htmlbuilder.py +++ b/openlp/core/lib/htmlbuilder.py @@ -610,24 +610,3 @@ def build_footer_css(item, height): theme.font_footer_size, theme.font_footer_color) return lyrics_html -def build_alert_css(alertTab, width): - """ - Build the display of the footer - - ``alertTab`` - Details from the Alert tab for fonts etc - """ - style = u""" - width: %spx; - vertical-align: %s; - font-family: %s; - font-size: %spt; - color: %s; - background-color: %s; - """ - if not alertTab: - return u'' - align = VerticalType.Names[alertTab.location] - alert = style % (width, align, alertTab.font_face, alertTab.font_size, - alertTab.font_color, alertTab.bg_color) - return alert diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index aa94454b7..4077181ab 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -213,7 +213,7 @@ class MainDisplay(QtGui.QGraphicsView): self.frame.evaluateJavaScript(u'show_text("%s")' % slide.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"')) - def alert(self, text): + def alert(self, text, location): """ Display an alert. @@ -241,10 +241,10 @@ class MainDisplay(QtGui.QGraphicsView): alert_height = int(height.toString()) shrinkItem.resize(self.width(), alert_height) shrinkItem.setVisible(True) - if self.alertTab.location == 1: + if location == 1: shrinkItem.move(self.screen[u'size'].left(), (self.screen[u'size'].height() - alert_height) / 2) - elif self.alertTab.location == 2: + elif location == 2: shrinkItem.move(self.screen[u'size'].left(), self.screen[u'size'].height() - alert_height) else: diff --git a/openlp/plugins/alerts/lib/alertsmanager.py b/openlp/plugins/alerts/lib/alertsmanager.py index 8e91aecf5..e73273fe7 100644 --- a/openlp/plugins/alerts/lib/alertsmanager.py +++ b/openlp/plugins/alerts/lib/alertsmanager.py @@ -85,7 +85,7 @@ class AlertsManager(QtCore.QObject): return text = self.alertList.pop(0) alertTab = self.parent().settings_tab - self.parent().liveController.display.alert(text) + self.parent().liveController.display.alert(text, alertTab.location) # Check to see if we have a timer running. if self.timer_id == 0: self.timer_id = self.startTimer(int(alertTab.timeout) * 1000) @@ -100,7 +100,8 @@ class AlertsManager(QtCore.QObject): """ log.debug(u'timer event') if event.timerId() == self.timer_id: - self.parent().liveController.display.alert(u'') + alertTab = self.parent().settings_tab + self.parent().liveController.display.alert(u'', alertTab.location) self.killTimer(self.timer_id) self.timer_id = 0 self.generateAlert() diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 8720c5111..8fd2cb3aa 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -159,7 +159,7 @@ class AlertsTab(SettingsTab): self.font_face = unicode(settings.value( u'font face', QtCore.QVariant(QtGui.QFont().family())).toString()) self.location = settings.value( - u'location', QtCore.QVariant(1)).toInt()[0] + u'location', QtCore.QVariant(2)).toInt()[0] settings.endGroup() self.fontSizeSpinBox.setValue(self.font_size) self.timeoutSpinBox.setValue(self.timeout) From ea4cb7f7edc99ad660f921d41a52f32918412208 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 29 Oct 2011 14:21:54 +0100 Subject: [PATCH 70/72] Add Class instead of magic numbers --- openlp/core/ui/__init__.py | 18 ++++++++++++++++++ openlp/core/ui/maindisplay.py | 6 +++--- openlp/plugins/alerts/lib/alertstab.py | 3 ++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index 7d2dfa0ba..f5fece1f0 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -52,6 +52,24 @@ class HideMode(object): Theme = 2 Screen = 3 +class Location(object): + """ + This is an enumeration class which specifies the different modes of hiding + the display. + + ``Top`` + Place the text at the top of the screen. + + ``Middle`` + Place the text in the middle of the screen. + + ``Bottom`` + Place the text at the bottom of the screen. + """ + Top = 0 + Middle = 1 + Bottom = 2 + from firsttimeform import FirstTimeForm from firsttimelanguageform import FirstTimeLanguageForm from themelayoutform import ThemeLayoutForm diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 4077181ab..90203922f 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -37,7 +37,7 @@ from PyQt4.phonon import Phonon from openlp.core.lib import Receiver, build_html, ServiceItem, image_to_byte, \ translate, PluginManager -from openlp.core.ui import HideMode, ScreenList +from openlp.core.ui import HideMode, ScreenList, Location log = logging.getLogger(__name__) @@ -241,10 +241,10 @@ class MainDisplay(QtGui.QGraphicsView): alert_height = int(height.toString()) shrinkItem.resize(self.width(), alert_height) shrinkItem.setVisible(True) - if location == 1: + if location == Location.Middle: shrinkItem.move(self.screen[u'size'].left(), (self.screen[u'size'].height() - alert_height) / 2) - elif location == 2: + elif location == Location.Bottom: shrinkItem.move(self.screen[u'size'].left(), self.screen[u'size'].height() - alert_height) else: diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 8fd2cb3aa..10bec702d 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -28,6 +28,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import SettingsTab, translate, Receiver +from openlp.core.ui import Location from openlp.core.lib.ui import UiStrings, create_valign_combo class AlertsTab(SettingsTab): @@ -159,7 +160,7 @@ class AlertsTab(SettingsTab): self.font_face = unicode(settings.value( u'font face', QtCore.QVariant(QtGui.QFont().family())).toString()) self.location = settings.value( - u'location', QtCore.QVariant(2)).toInt()[0] + u'location', QtCore.QVariant(Location.Bottom)).toInt()[0] settings.endGroup() self.fontSizeSpinBox.setValue(self.font_size) self.timeoutSpinBox.setValue(self.timeout) From c8e9496db1717692bc7ec6584f7b195f1a47919b Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 29 Oct 2011 20:13:11 +0100 Subject: [PATCH 71/72] Fix up review comments --- openlp/core/ui/__init__.py | 6 +++--- openlp/core/ui/maindisplay.py | 6 +++--- openlp/plugins/alerts/lib/alertstab.py | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index f5fece1f0..6a04a080b 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -52,10 +52,10 @@ class HideMode(object): Theme = 2 Screen = 3 -class Location(object): +class AlertLocation(object): """ - This is an enumeration class which specifies the different modes of hiding - the display. + This is an enumeration class which controls where Alerts are placed on the + screen. ``Top`` Place the text at the top of the screen. diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 90203922f..0f932c2f5 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -37,7 +37,7 @@ from PyQt4.phonon import Phonon from openlp.core.lib import Receiver, build_html, ServiceItem, image_to_byte, \ translate, PluginManager -from openlp.core.ui import HideMode, ScreenList, Location +from openlp.core.ui import HideMode, ScreenList, AlertLocation log = logging.getLogger(__name__) @@ -241,10 +241,10 @@ class MainDisplay(QtGui.QGraphicsView): alert_height = int(height.toString()) shrinkItem.resize(self.width(), alert_height) shrinkItem.setVisible(True) - if location == Location.Middle: + if location == AlertLocation.Middle: shrinkItem.move(self.screen[u'size'].left(), (self.screen[u'size'].height() - alert_height) / 2) - elif location == Location.Bottom: + elif location == AlertLocation.Bottom: shrinkItem.move(self.screen[u'size'].left(), self.screen[u'size'].height() - alert_height) else: diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 10bec702d..bd879fef3 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -28,7 +28,7 @@ from PyQt4 import QtCore, QtGui from openlp.core.lib import SettingsTab, translate, Receiver -from openlp.core.ui import Location +from openlp.core.ui import AlertLocation from openlp.core.lib.ui import UiStrings, create_valign_combo class AlertsTab(SettingsTab): @@ -160,7 +160,7 @@ class AlertsTab(SettingsTab): self.font_face = unicode(settings.value( u'font face', QtCore.QVariant(QtGui.QFont().family())).toString()) self.location = settings.value( - u'location', QtCore.QVariant(Location.Bottom)).toInt()[0] + u'location', QtCore.QVariant(AlertLocation.Bottom)).toInt()[0] settings.endGroup() self.fontSizeSpinBox.setValue(self.font_size) self.timeoutSpinBox.setValue(self.timeout) From 0ed66b6a9c488d22343c6d361b1023d712280f2d Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sun, 30 Oct 2011 21:24:04 +0100 Subject: [PATCH 72/72] fixed alert position not being recalculated properly when changing options --- openlp/plugins/alerts/alertsplugin.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 213c6814f..493f08ba0 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -71,11 +71,24 @@ JAVASCRIPT = """ function update_css(align, font, size, color, bgcolor){ var text = document.getElementById('alert'); - text.style.verticalAlign = align; text.style.fontSize = size + "pt"; text.style.fontFamily = font; text.style.color = color; text.style.backgroundColor = bgcolor; + switch(align) + { + case 'top': + text.style.top = '0px'; + break; + case 'middle': + text.style.top = ((window.innerHeight - text.clientHeight) / 2) + + 'px'; + break; + case 'bottom': + text.style.top = (window.innerHeight - text.clientHeight) + + 'px'; + break; + } } """ CSS = """