diff --git a/openlp/core/common/uistrings.py b/openlp/core/common/uistrings.py index eaf1ed342..50aed88c1 100644 --- a/openlp/core/common/uistrings.py +++ b/openlp/core/common/uistrings.py @@ -53,6 +53,7 @@ class UiStrings(object): self.About = translate('OpenLP.Ui', 'About') self.Add = translate('OpenLP.Ui', '&Add') self.AddGroup = translate('OpenLP.Ui', 'Add group') + self.AddGroupDot = translate('OpenLP.Ui', 'Add group.') self.Advanced = translate('OpenLP.Ui', 'Advanced') self.AllFiles = translate('OpenLP.Ui', 'All Files') self.Automatic = translate('OpenLP.Ui', 'Automatic') diff --git a/openlp/core/ui/advancedtab.py b/openlp/core/ui/advancedtab.py index 9b6169a72..8d7bd9521 100644 --- a/openlp/core/ui/advancedtab.py +++ b/openlp/core/ui/advancedtab.py @@ -255,17 +255,17 @@ class AdvancedTab(SettingsTab): self.tab_title_visible = UiStrings().Advanced self.ui_group_box.setTitle(translate('OpenLP.AdvancedTab', 'UI Settings')) self.data_directory_group_box.setTitle(translate('OpenLP.AdvancedTab', 'Data Location')) - self.recent_label.setText(translate('OpenLP.AdvancedTab', 'Number of recent files to display:')) + self.recent_label.setText(translate('OpenLP.AdvancedTab', 'Number of recent service files to display:')) self.media_plugin_check_box.setText(translate('OpenLP.AdvancedTab', - 'Remember active media manager tab on startup')) + 'Open the last used Library category on startup')) self.double_click_live_check_box.setText(translate('OpenLP.AdvancedTab', - 'Double-click to send items straight to live')) + 'Double-click to send items straight to Live')) self.single_click_preview_check_box.setText(translate('OpenLP.AdvancedTab', - 'Preview items when clicked in Media Manager')) + 'Preview items when clicked in Library')) self.single_click_service_preview_check_box.setText(translate('OpenLP.AdvancedTab', - 'Preview items when clicked in Service Manager')) + 'Preview items when clicked in Service')) self.expand_service_item_check_box.setText(translate('OpenLP.AdvancedTab', - 'Expand new service items on creation')) + 'Expand new Service items on creation')) self.slide_max_height_label.setText(translate('OpenLP.AdvancedTab', 'Max height for non-text slides\nin slide controller:')) self.slide_max_height_combo_box.setItemText(0, translate('OpenLP.AdvancedTab', 'Disabled')) diff --git a/openlp/core/ui/exceptiondialog.py b/openlp/core/ui/exceptiondialog.py index 9b835ea81..443c22bd8 100644 --- a/openlp/core/ui/exceptiondialog.py +++ b/openlp/core/ui/exceptiondialog.py @@ -43,6 +43,8 @@ class Ui_ExceptionDialog(object): self.exception_layout.setObjectName('exception_layout') self.message_layout = QtWidgets.QHBoxLayout() self.message_layout.setObjectName('messageLayout') + # Set margin to make the box a bit wider so the traceback is easier to read. (left, top, right, bottom) + self.message_layout.setContentsMargins(0, 0, 50, 0) self.message_layout.addSpacing(12) self.bug_label = QtWidgets.QLabel(exception_dialog) self.bug_label.setPixmap(QtGui.QPixmap(':/graphics/exception.png')) @@ -88,17 +90,25 @@ class Ui_ExceptionDialog(object): """ Translate the widgets on the fly. """ + # Note that bugs mail is not clicable, but it adds the blue color and underlining and makes the test copyable. exception_dialog.setWindowTitle(translate('OpenLP.ExceptionDialog', 'Error Occurred')) + # Explanation text,   adds a small space before: If possible, write in English. self.description_explanation.setText( - translate('OpenLP.ExceptionDialog', 'Please enter a description of what you were doing to cause this error.' - ' If possible, write in English.' - '\n(Minimum 20 characters)')) + translate('OpenLP.ExceptionDialog', 'Please describe what you were trying to do. ' + ' If possible, write in English.')) + exception_part1 = (translate('OpenLP.ExceptionDialog', + 'Oops, OpenLP hit a problem and couldn\'t recover!

' + 'You can help the OpenLP developers to fix this' + ' by
sending them a bug report to {email}{newlines}' + ).format(email=' bugs@openlp.org', + newlines='

')) self.message_label.setText( - translate('OpenLP.ExceptionDialog', 'Oops! OpenLP hit a problem, and couldn\'t recover. The text in the ' - 'box below contains information that might be helpful to the OpenLP ' - 'developers, so please e-mail it to bugs@openlp.org, along with a ' - 'detailed description of what you were doing when the problem ' - 'occurred. Also attach any files that triggered the problem.')) + translate('OpenLP.ExceptionDialog', '{first_part}' + 'No email app? You can save this ' + 'information to a file and
' + 'send it from your mail on browser via an attachement.

' + 'Thank you for being part of making OpenLP better!
' + ).format(first_part=exception_part1)) self.send_report_button.setText(translate('OpenLP.ExceptionDialog', 'Send E-Mail')) self.save_report_button.setText(translate('OpenLP.ExceptionDialog', 'Save to File')) self.attach_tile_button.setText(translate('OpenLP.ExceptionDialog', 'Attach File')) diff --git a/openlp/core/ui/exceptionform.py b/openlp/core/ui/exceptionform.py index 4ab235c71..a3036b960 100644 --- a/openlp/core/ui/exceptionform.py +++ b/openlp/core/ui/exceptionform.py @@ -202,7 +202,8 @@ class ExceptionForm(QtWidgets.QDialog, Ui_ExceptionDialog, RegistryProperties): else: self.__button_state(False) self.description_word_count.setText( - translate('OpenLP.ExceptionDialog', 'Description characters to enter : {count}').format(count=count)) + translate('OpenLP.ExceptionDialog', '{count} characters remaining from the minimum description.' + ).format(count=count)) def on_attach_file_button_clicked(self): """ diff --git a/openlp/core/ui/generaltab.py b/openlp/core/ui/generaltab.py index 9fdc7d297..3abe8eb7b 100644 --- a/openlp/core/ui/generaltab.py +++ b/openlp/core/ui/generaltab.py @@ -246,7 +246,7 @@ class GeneralTab(SettingsTab): self.display_on_monitor_check.setText(translate('OpenLP.GeneralTab', 'Display if a single screen')) self.startup_group_box.setTitle(translate('OpenLP.GeneralTab', 'Application Startup')) self.warning_check_box.setText(translate('OpenLP.GeneralTab', 'Show blank screen warning')) - self.auto_open_check_box.setText(translate('OpenLP.GeneralTab', 'Automatically open the last service')) + self.auto_open_check_box.setText(translate('OpenLP.GeneralTab', 'Automatically open the previous service file')) self.show_splash_check_box.setText(translate('OpenLP.GeneralTab', 'Show the splash screen')) self.logo_group_box.setTitle(translate('OpenLP.GeneralTab', 'Logo')) self.logo_color_label.setText(UiStrings().BackgroundColorColon) @@ -258,9 +258,10 @@ class GeneralTab(SettingsTab): self.settings_group_box.setTitle(translate('OpenLP.GeneralTab', 'Application Settings')) self.save_check_service_check_box.setText(translate('OpenLP.GeneralTab', 'Prompt to save before starting a new service')) - self.auto_unblank_check_box.setText(translate('OpenLP.GeneralTab', 'Unblank display when adding new live item')) + self.auto_unblank_check_box.setText(translate('OpenLP.GeneralTab', 'Unblank display when sending ' + 'items to Live')) self.auto_preview_check_box.setText(translate('OpenLP.GeneralTab', - 'Automatically preview next item in service')) + 'Automatically preview the next item in service')) self.timeout_label.setText(translate('OpenLP.GeneralTab', 'Timed slide interval:')) self.timeout_spin_box.setSuffix(translate('OpenLP.GeneralTab', ' sec')) self.ccli_group_box.setTitle(translate('OpenLP.GeneralTab', 'CCLI Details')) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index 38eba6508..57a510015 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -394,15 +394,15 @@ class Ui_MainWindow(object): self.file_export_menu.setTitle(translate('OpenLP.MainWindow', '&Export')) self.recent_files_menu.setTitle(translate('OpenLP.MainWindow', '&Recent Services')) self.view_menu.setTitle(translate('OpenLP.MainWindow', '&View')) - self.view_mode_menu.setTitle(translate('OpenLP.MainWindow', 'M&ode')) + self.view_mode_menu.setTitle(translate('OpenLP.MainWindow', '&Layout Presets')) self.tools_menu.setTitle(translate('OpenLP.MainWindow', '&Tools')) self.settings_menu.setTitle(translate('OpenLP.MainWindow', '&Settings')) self.settings_language_menu.setTitle(translate('OpenLP.MainWindow', '&Language')) self.help_menu.setTitle(translate('OpenLP.MainWindow', '&Help')) self.media_manager_dock.setWindowTitle(translate('OpenLP.MainWindow', 'Library')) - self.service_manager_dock.setWindowTitle(translate('OpenLP.MainWindow', 'Service Manager')) - self.theme_manager_dock.setWindowTitle(translate('OpenLP.MainWindow', 'Theme Manager')) - self.projector_manager_dock.setWindowTitle(translate('OpenLP.MainWindow', 'Projector Manager')) + self.service_manager_dock.setWindowTitle(translate('OpenLP.MainWindow', 'Service')) + self.theme_manager_dock.setWindowTitle(translate('OpenLP.MainWindow', 'Themes')) + self.projector_manager_dock.setWindowTitle(translate('OpenLP.MainWindow', 'Projectors')) self.file_new_item.setText(translate('OpenLP.MainWindow', '&New Service')) self.file_new_item.setToolTip(UiStrings().NewService) self.file_new_item.setStatusTip(UiStrings().CreateService) @@ -419,7 +419,7 @@ class Ui_MainWindow(object): self.print_service_order_item.setText(UiStrings().PrintService) self.print_service_order_item.setStatusTip(translate('OpenLP.MainWindow', 'Print the current service.')) self.file_exit_item.setText(translate('OpenLP.MainWindow', 'E&xit')) - self.file_exit_item.setStatusTip(translate('OpenLP.MainWindow', 'Quit OpenLP')) + self.file_exit_item.setStatusTip(translate('OpenLP.MainWindow', 'Close OpenLP - Shut down the program.')) self.import_theme_item.setText(translate('OpenLP.MainWindow', '&Theme')) self.import_language_item.setText(translate('OpenLP.MainWindow', '&Language')) self.export_theme_item.setText(translate('OpenLP.MainWindow', '&Theme')) @@ -428,41 +428,42 @@ class Ui_MainWindow(object): self.formatting_tag_item.setText(translate('OpenLP.MainWindow', 'Configure &Formatting Tags...')) self.settings_configure_item.setText(translate('OpenLP.MainWindow', '&Configure OpenLP...')) self.settings_export_item.setStatusTip( - translate('OpenLP.MainWindow', 'Export OpenLP settings to a specified *.config file')) + translate('OpenLP.MainWindow', 'Export settings to a *.config file.')) self.settings_export_item.setText(translate('OpenLP.MainWindow', 'Settings')) self.settings_import_item.setStatusTip( - translate('OpenLP.MainWindow', 'Import OpenLP settings from a specified *.config file previously ' - 'exported on this or another machine')) + translate('OpenLP.MainWindow', 'Import OpenLP settings from a *.config file previously exported from ' + 'this or an another machine.')) self.settings_import_item.setText(translate('OpenLP.MainWindow', 'Settings')) - self.view_projector_manager_item.setText(translate('OPenLP.MainWindow', '&Projector Manager')) - self.view_projector_manager_item.setToolTip(translate('OpenLP.MainWindow', 'Toggle Projector Manager')) + self.view_projector_manager_item.setText(translate('OPenLP.MainWindow', '&Projectors')) + self.view_projector_manager_item.setToolTip(translate('OpenLP.MainWindow', 'Hide or show Projectors.')) self.view_projector_manager_item.setStatusTip(translate('OpenLP.MainWindow', - 'Toggle the visibility of the Projector Manager')) - self.view_media_manager_item.setText(translate('OpenLP.MainWindow', '&Media Manager')) - self.view_media_manager_item.setToolTip(translate('OpenLP.MainWindow', 'Toggle Media Manager')) + 'Toggle the visibility of the Projectors.')) + self.view_media_manager_item.setText(translate('OpenLP.MainWindow', 'L&ibrary')) + self.view_media_manager_item.setToolTip(translate('OpenLP.MainWindow', 'Hide or show the Library.')) self.view_media_manager_item.setStatusTip(translate('OpenLP.MainWindow', - 'Toggle the visibility of the media manager.')) - self.view_theme_manager_item.setText(translate('OpenLP.MainWindow', '&Theme Manager')) - self.view_theme_manager_item.setToolTip(translate('OpenLP.MainWindow', 'Toggle Theme Manager')) + 'Toggle the visibility of the Library.')) + self.view_theme_manager_item.setText(translate('OpenLP.MainWindow', '&Themes')) + self.view_theme_manager_item.setToolTip(translate('OpenLP.MainWindow', 'Hide or show themes')) self.view_theme_manager_item.setStatusTip(translate('OpenLP.MainWindow', - 'Toggle the visibility of the theme manager.')) - self.view_service_manager_item.setText(translate('OpenLP.MainWindow', '&Service Manager')) - self.view_service_manager_item.setToolTip(translate('OpenLP.MainWindow', 'Toggle Service Manager')) + 'Toggle the visibility of the Themes.')) + self.view_service_manager_item.setText(translate('OpenLP.MainWindow', '&Service')) + self.view_service_manager_item.setToolTip(translate('OpenLP.MainWindow', 'Hide or show Service.')) self.view_service_manager_item.setStatusTip(translate('OpenLP.MainWindow', - 'Toggle the visibility of the service manager.')) - self.view_preview_panel.setText(translate('OpenLP.MainWindow', '&Preview Panel')) - self.view_preview_panel.setToolTip(translate('OpenLP.MainWindow', 'Toggle Preview Panel')) + 'Toggle the visibility of the Service.')) + self.view_preview_panel.setText(translate('OpenLP.MainWindow', '&Preview')) + self.view_preview_panel.setToolTip(translate('OpenLP.MainWindow', 'Hide or show Preview.')) self.view_preview_panel.setStatusTip( - translate('OpenLP.MainWindow', 'Toggle the visibility of the preview panel.')) - self.view_live_panel.setText(translate('OpenLP.MainWindow', '&Live Panel')) - self.view_live_panel.setToolTip(translate('OpenLP.MainWindow', 'Toggle Live Panel')) - self.lock_panel.setText(translate('OpenLP.MainWindow', 'L&ock Panels')) - self.lock_panel.setStatusTip(translate('OpenLP.MainWindow', 'Prevent the panels being moved.')) - self.view_live_panel.setStatusTip(translate('OpenLP.MainWindow', 'Toggle the visibility of the live panel.')) + translate('OpenLP.MainWindow', 'Toggle the visibility of the Preview.')) + self.view_live_panel.setText(translate('OpenLP.MainWindow', 'Li&ve')) + self.view_live_panel.setToolTip(translate('OpenLP.MainWindow', 'Hide or show Live')) + self.lock_panel.setText(translate('OpenLP.MainWindow', 'L&ock visibility of the panels')) + self.lock_panel.setStatusTip(translate('OpenLP.MainWindow', 'Lock visibility of the panels.')) + self.view_live_panel.setStatusTip(translate('OpenLP.MainWindow', 'Toggle the visibility of the Live.')) self.settings_plugin_list_item.setText(translate('OpenLP.MainWindow', '&Manage Plugins')) - self.settings_plugin_list_item.setStatusTip(translate('OpenLP.MainWindow', 'List the Plugins')) + self.settings_plugin_list_item.setStatusTip(translate('OpenLP.MainWindow', 'You can activate or disable plugins' + 'from here.')) self.about_item.setText(translate('OpenLP.MainWindow', '&About')) - self.about_item.setStatusTip(translate('OpenLP.MainWindow', 'More information about OpenLP')) + self.about_item.setStatusTip(translate('OpenLP.MainWindow', 'More information about OpenLP.')) if is_win() or is_macosx(): self.offline_help_item.setText(translate('OpenLP.MainWindow', '&User Guide')) self.on_line_help_item.setText(translate('OpenLP.MainWindow', '&Online Help')) @@ -489,11 +490,13 @@ class Ui_MainWindow(object): self.update_theme_images.setStatusTip(translate('OpenLP.MainWindow', 'Update the preview images for all themes.')) self.mode_default_item.setText(translate('OpenLP.MainWindow', '&Default')) - self.mode_default_item.setStatusTip(translate('OpenLP.MainWindow', 'Set the view mode back to the default.')) + self.mode_default_item.setStatusTip(translate('OpenLP.MainWindow', 'Reset the interface layout back to the ' + 'default settings.')) self.mode_setup_item.setText(translate('OpenLP.MainWindow', '&Setup')) - self.mode_setup_item.setStatusTip(translate('OpenLP.MainWindow', 'Set the view mode to Setup.')) + self.mode_setup_item.setStatusTip(translate('OpenLP.MainWindow', 'Use layout that focuses on setting' + ' up the Service.')) self.mode_live_item.setText(translate('OpenLP.MainWindow', '&Live')) - self.mode_live_item.setStatusTip(translate('OpenLP.MainWindow', 'Set the view mode to Live.')) + self.mode_live_item.setStatusTip(translate('OpenLP.MainWindow', 'Use layout that focuses on Live.')) class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow, RegistryProperties): @@ -862,9 +865,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow, RegistryProperties): return import_file_name, filter_used = QtWidgets.QFileDialog.getOpenFileName( self, - translate('OpenLP.MainWindow', 'Open File'), + translate('OpenLP.MainWindow', 'Import settings'), '', - translate('OpenLP.MainWindow', 'OpenLP Export Settings Files (*.conf)')) + translate('OpenLP.MainWindow', 'OpenLP Settings (*.conf)')) if not import_file_name: return setting_sections = [] @@ -954,7 +957,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow, RegistryProperties): self, translate('OpenLP.MainWindow', 'Export Settings File'), '', - translate('OpenLP.MainWindow', 'OpenLP Export Settings File (*.conf)')) + translate('OpenLP.MainWindow', 'Exported OpenLP Settings (*.conf)')) if not export_file_name: return # Make sure it's a .conf file. diff --git a/openlp/core/ui/media/playertab.py b/openlp/core/ui/media/playertab.py index c76fc3300..44944ca32 100644 --- a/openlp/core/ui/media/playertab.py +++ b/openlp/core/ui/media/playertab.py @@ -126,7 +126,7 @@ class PlayerTab(SettingsTab): self.media_player_group_box.setTitle(translate('OpenLP.PlayerTab', 'Available Media Players')) self.player_order_group_box.setTitle(translate('OpenLP.PlayerTab', 'Player Search Order')) self.background_color_group_box.setTitle(UiStrings().BackgroundColor) - self.background_color_label.setText(UiStrings().DefaultColor) + self.background_color_label.setText(UiStrings().BackgroundColorColon) self.information_label.setText(translate('OpenLP.PlayerTab', 'Visible background for videos with aspect ratio different to screen.')) self.retranslate_players() diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index fdc7f945c..df2f72765 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -289,7 +289,7 @@ class SlideController(DisplayController, RegistryProperties): self.delay_spin_box = QtWidgets.QSpinBox() self.delay_spin_box.setObjectName('delay_spin_box') self.delay_spin_box.setRange(1, 180) - self.delay_spin_box.setSuffix(UiStrings().Seconds) + self.delay_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().Seconds)) self.delay_spin_box.setToolTip(translate('OpenLP.SlideController', 'Delay between slides in seconds.')) self.receive_spin_delay() self.toolbar.add_toolbar_widget(self.delay_spin_box) diff --git a/openlp/core/ui/themewizard.py b/openlp/core/ui/themewizard.py index e1ef1dd78..427e9836b 100644 --- a/openlp/core/ui/themewizard.py +++ b/openlp/core/ui/themewizard.py @@ -444,15 +444,15 @@ class Ui_ThemeWizard(object): self.main_font_label.setText(translate('OpenLP.ThemeWizard', 'Font:')) self.main_color_label.setText(translate('OpenLP.ThemeWizard', 'color:')) self.main_size_label.setText(translate('OpenLP.ThemeWizard', 'Size:')) - self.main_size_spin_box.setSuffix(UiStrings().FontSizePtUnit) + self.main_size_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().FontSizePtUnit)) self.line_spacing_label.setText(translate('OpenLP.ThemeWizard', 'Line Spacing:')) - self.line_spacing_spin_box.setSuffix(UiStrings().FontSizePtUnit) + self.line_spacing_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().FontSizePtUnit)) self.outline_check_box.setText(translate('OpenLP.ThemeWizard', '&Outline:')) self.outline_size_label.setText(translate('OpenLP.ThemeWizard', 'Size:')) - self.outline_size_spin_box.setSuffix(UiStrings().FontSizePtUnit) + self.outline_size_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().FontSizePtUnit)) self.shadow_check_box.setText(translate('OpenLP.ThemeWizard', '&Shadow:')) self.shadow_size_label.setText(translate('OpenLP.ThemeWizard', 'Size:')) - self.shadow_size_spin_box.setSuffix(UiStrings().FontSizePtUnit) + self.shadow_size_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().FontSizePtUnit)) self.main_bold_check_box.setText(translate('OpenLP.ThemeWizard', 'Bold')) self.main_italics_check_box.setText(translate('OpenLP.ThemeWizard', 'Italic')) self.footer_area_page.setTitle(translate('OpenLP.ThemeWizard', 'Footer Area Font Details')) @@ -461,7 +461,7 @@ class Ui_ThemeWizard(object): self.footer_font_label.setText(translate('OpenLP.ThemeWizard', 'Font:')) self.footer_color_label.setText(translate('OpenLP.ThemeWizard', 'color:')) self.footer_size_label.setText(translate('OpenLP.ThemeWizard', 'Size:')) - self.footer_size_spin_box.setSuffix(UiStrings().FontSizePtUnit) + self.footer_size_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().FontSizePtUnit)) self.alignment_page.setTitle(translate('OpenLP.ThemeWizard', 'Text Formatting Details')) self.alignment_page.setSubTitle(translate('OpenLP.ThemeWizard', 'Allows additional display ' 'formatting information to be defined')) diff --git a/openlp/plugins/alerts/alertsplugin.py b/openlp/plugins/alerts/alertsplugin.py index 828b0c566..fb430ad04 100644 --- a/openlp/plugins/alerts/alertsplugin.py +++ b/openlp/plugins/alerts/alertsplugin.py @@ -24,6 +24,7 @@ import logging from PyQt5 import QtGui +from openlp.core.api.http import register_endpoint from openlp.core.common import Settings, translate from openlp.core.common.actions import ActionList from openlp.core.lib import Plugin, StringContent, build_icon @@ -31,6 +32,7 @@ from openlp.core.lib.db import Manager from openlp.core.lib.theme import VerticalType from openlp.core.lib.ui import create_action, UiStrings from openlp.core.ui import AlertLocation +from openlp.plugins.alerts.endpoint import api_alerts_endpoint, alerts_endpoint from openlp.plugins.alerts.forms import AlertForm from openlp.plugins.alerts.lib import AlertsManager, AlertsTab from openlp.plugins.alerts.lib.db import init_schema @@ -140,7 +142,9 @@ class AlertsPlugin(Plugin): self.icon = build_icon(self.icon_path) AlertsManager(self) self.manager = Manager('alerts', init_schema) - self.alert_form = AlertForm(self) + self.alert_form = AlertForm(self)# + register_endpoint(alerts_endpoint) + register_endpoint(api_alerts_endpoint) def add_tools_menu_item(self, tools_menu): """ diff --git a/openlp/plugins/alerts/lib/endpoint.py b/openlp/plugins/alerts/endpoint.py similarity index 90% rename from openlp/plugins/alerts/lib/endpoint.py rename to openlp/plugins/alerts/endpoint.py index 137c66c0d..f0f46683b 100644 --- a/openlp/plugins/alerts/lib/endpoint.py +++ b/openlp/plugins/alerts/endpoint.py @@ -25,19 +25,19 @@ import urllib from urllib.parse import urlparse from openlp.core.api.http.endpoint import Endpoint -from openlp.core.api.http import register_endpoint, requires_auth +from openlp.core.api.http import requires_auth from openlp.core.common import Registry from openlp.core.lib import PluginStatus log = logging.getLogger(__name__) -alert_endpoint = Endpoint('alert') -api_alert_endpoint = Endpoint('api') +alerts_endpoint = Endpoint('alert') +api_alerts_endpoint = Endpoint('api') -@alert_endpoint.route('') -@api_alert_endpoint.route('alert') +@alerts_endpoint.route('') +@api_alerts_endpoint.route('alert') @requires_auth def alert(request): """ @@ -58,6 +58,3 @@ def alert(request): else: success = False return {'results': {'success': success}} - -register_endpoint(alert_endpoint) -register_endpoint(api_alert_endpoint) diff --git a/openlp/plugins/alerts/lib/alertstab.py b/openlp/plugins/alerts/lib/alertstab.py index 02e5c7908..326a3040f 100644 --- a/openlp/plugins/alerts/lib/alertstab.py +++ b/openlp/plugins/alerts/lib/alertstab.py @@ -99,11 +99,11 @@ class AlertsTab(SettingsTab): self.font_group_box.setTitle(translate('AlertsPlugin.AlertsTab', 'Font')) self.font_label.setText(translate('AlertsPlugin.AlertsTab', 'Font name:')) self.font_color_label.setText(translate('AlertsPlugin.AlertsTab', 'Font color:')) - self.background_color_label.setText(translate('AlertsPlugin.AlertsTab', 'Background color:')) + self.background_color_label.setText(UiStrings().BackgroundColorColon) self.font_size_label.setText(translate('AlertsPlugin.AlertsTab', 'Font size:')) - self.font_size_spin_box.setSuffix(UiStrings().FontSizePtUnit) + self.font_size_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().FontSizePtUnit)) self.timeout_label.setText(translate('AlertsPlugin.AlertsTab', 'Alert timeout:')) - self.timeout_spin_box.setSuffix(UiStrings().Seconds) + self.timeout_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().Seconds)) self.preview_group_box.setTitle(UiStrings().Preview) self.font_preview.setText(UiStrings().OLP) diff --git a/openlp/plugins/bibles/bibleplugin.py b/openlp/plugins/bibles/bibleplugin.py index 3d27effe4..251b4bbeb 100644 --- a/openlp/plugins/bibles/bibleplugin.py +++ b/openlp/plugins/bibles/bibleplugin.py @@ -24,9 +24,11 @@ import logging from PyQt5 import QtWidgets +from openlp.core.api.http import register_endpoint from openlp.core.common.actions import ActionList from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib.ui import UiStrings, create_action +from openlp.plugins.bibles.endpoint import api_bibles_endpoint, bibles_endpoint from openlp.plugins.bibles.forms import BibleUpgradeForm from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem, LayoutStyle, DisplayStyle, \ LanguageSelection @@ -78,6 +80,8 @@ class BiblePlugin(Plugin): self.icon_path = ':/plugins/plugin_bibles.png' self.icon = build_icon(self.icon_path) self.manager = BibleManager(self) + register_endpoint(bibles_endpoint) + register_endpoint(api_bibles_endpoint) def initialise(self): """ diff --git a/openlp/plugins/bibles/lib/endpoint.py b/openlp/plugins/bibles/endpoint.py similarity index 94% rename from openlp/plugins/bibles/lib/endpoint.py rename to openlp/plugins/bibles/endpoint.py index bcb42c394..9094acc00 100644 --- a/openlp/plugins/bibles/lib/endpoint.py +++ b/openlp/plugins/bibles/endpoint.py @@ -23,7 +23,7 @@ import logging from openlp.core.api.http.endpoint import Endpoint from openlp.core.api.http.endpoint.pluginhelpers import search, live, service -from openlp.core.api.http import register_endpoint, requires_auth +from openlp.core.api.http import requires_auth log = logging.getLogger(__name__) @@ -65,6 +65,3 @@ def bibles_service(request): :param request: The http request object. """ return service(request, 'bibles', log) - -register_endpoint(bibles_endpoint) -register_endpoint(api_bibles_endpoint) diff --git a/openlp/plugins/bibles/lib/biblestab.py b/openlp/plugins/bibles/lib/biblestab.py index c087335ae..0b6641015 100644 --- a/openlp/plugins/bibles/lib/biblestab.py +++ b/openlp/plugins/bibles/lib/biblestab.py @@ -191,13 +191,13 @@ class BiblesTab(SettingsTab): self.display_style_combo_box.setItemText(DisplayStyle.Square, translate('BiblesPlugin.BiblesTab', '[ And ]')) self.change_note_label.setText(translate('BiblesPlugin.BiblesTab', - 'Note:\nChanges do not affect verses already in the service.')) + 'Note: Changes do not affect verses in the Service')) self.bible_second_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Display second Bible verses')) self.scripture_reference_group_box.setTitle(translate('BiblesPlugin.BiblesTab', 'Custom Scripture References')) - self.verse_separator_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Verse Separator:')) - self.range_separator_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Range Separator:')) - self.list_separator_check_box.setText(translate('BiblesPlugin.BiblesTab', 'List Separator:')) - self.end_separator_check_box.setText(translate('BiblesPlugin.BiblesTab', 'End Mark:')) + self.verse_separator_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Verse separator:')) + self.range_separator_check_box.setText(translate('BiblesPlugin.BiblesTab', 'Range separator:')) + self.list_separator_check_box.setText(translate('BiblesPlugin.BiblesTab', 'List separator:')) + self.end_separator_check_box.setText(translate('BiblesPlugin.BiblesTab', 'End mark:')) tip_text = translate('BiblesPlugin.BiblesTab', 'Multiple alternative verse separators may be defined.\nThey have to be separated by a ' 'vertical bar "|".\nPlease clear this edit line to use the default value.') diff --git a/openlp/plugins/bibles/lib/mediaitem.py b/openlp/plugins/bibles/lib/mediaitem.py index debf786f7..b8ff3a752 100644 --- a/openlp/plugins/bibles/lib/mediaitem.py +++ b/openlp/plugins/bibles/lib/mediaitem.py @@ -195,7 +195,7 @@ class BibleMediaItem(MediaManagerItem): self.search_tab_bar.setObjectName('search_tab_bar') self.page_layout.addWidget(self.search_tab_bar) # Add the Quick Search tab. - self.add_search_tab('quick', translate('BiblesPlugin.MediaItem', 'Quick')) + self.add_search_tab('quick', translate('BiblesPlugin.MediaItem', 'Search')) self.quick_search_label = QtWidgets.QLabel(self.quickTab) self.quick_search_label.setObjectName('quick_search_label') self.quickLayout.addWidget(self.quick_search_label, 0, 0, QtCore.Qt.AlignRight) @@ -204,10 +204,10 @@ class BibleMediaItem(MediaManagerItem): self.quick_search_edit.setObjectName('quick_search_edit') self.quick_search_label.setBuddy(self.quick_search_edit) self.quickLayout.addWidget(self.quick_search_edit, 0, 1, 1, 2) - self.add_search_fields('quick', translate('BiblesPlugin.MediaItem', 'Quick')) + self.add_search_fields('quick', translate('BiblesPlugin.MediaItem', 'Search')) self.quickTab.setVisible(True) # Add the Advanced Search tab. - self.add_search_tab('advanced', translate('BiblesPlugin.MediaItem', 'Advanced')) + self.add_search_tab('advanced', translate('BiblesPlugin.MediaItem', 'Select')) self.advanced_book_label = QtWidgets.QLabel(self.advancedTab) self.advanced_book_label.setObjectName('advanced_book_label') self.advancedLayout.addWidget(self.advanced_book_label, 0, 0, QtCore.Qt.AlignRight) diff --git a/openlp/plugins/custom/customplugin.py b/openlp/plugins/custom/customplugin.py index 5c0de049c..6a231b027 100644 --- a/openlp/plugins/custom/customplugin.py +++ b/openlp/plugins/custom/customplugin.py @@ -26,8 +26,10 @@ for the Custom Slides plugin. import logging +from openlp.core.api.http import register_endpoint from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib.db import Manager +from openlp.plugins.custom.endpoint import api_custom_endpoint, custom_endpoint from openlp.plugins.custom.lib import CustomMediaItem, CustomTab from openlp.plugins.custom.lib.db import CustomSlide, init_schema from openlp.plugins.custom.lib.mediaitem import CustomSearch @@ -61,6 +63,8 @@ class CustomPlugin(Plugin): self.db_manager = Manager('custom', init_schema) self.icon_path = ':/plugins/plugin_custom.png' self.icon = build_icon(self.icon_path) + register_endpoint(custom_endpoint) + register_endpoint(api_custom_endpoint) @staticmethod def about(): diff --git a/openlp/plugins/custom/lib/endpoint.py b/openlp/plugins/custom/endpoint.py similarity index 94% rename from openlp/plugins/custom/lib/endpoint.py rename to openlp/plugins/custom/endpoint.py index 8189f5f3b..7910da543 100644 --- a/openlp/plugins/custom/lib/endpoint.py +++ b/openlp/plugins/custom/endpoint.py @@ -23,7 +23,7 @@ import logging from openlp.core.api.http.endpoint import Endpoint from openlp.core.api.http.endpoint.pluginhelpers import search, live, service -from openlp.core.api.http import register_endpoint, requires_auth +from openlp.core.api.http import requires_auth log = logging.getLogger(__name__) @@ -65,6 +65,3 @@ def custom_service(request): :param request: The http request object. """ return service(request, 'custom', log) - -register_endpoint(custom_endpoint) -register_endpoint(api_custom_endpoint) diff --git a/openlp/plugins/images/lib/endpoint.py b/openlp/plugins/images/endpoint.py similarity index 95% rename from openlp/plugins/images/lib/endpoint.py rename to openlp/plugins/images/endpoint.py index 790c045b7..52d3d2586 100644 --- a/openlp/plugins/images/lib/endpoint.py +++ b/openlp/plugins/images/endpoint.py @@ -23,7 +23,7 @@ import logging from openlp.core.api.http.endpoint import Endpoint from openlp.core.api.http.endpoint.pluginhelpers import search, live, service, display_thumbnails -from openlp.core.api.http import register_endpoint, requires_auth +from openlp.core.api.http import requires_auth log = logging.getLogger(__name__) @@ -78,7 +78,3 @@ def images_thumbnails(request, dimensions, file_name, slide): :return: """ return display_thumbnails(request, 'images', log, dimensions, file_name, slide) - - -register_endpoint(images_endpoint) -register_endpoint(api_images_endpoint) diff --git a/openlp/plugins/images/imageplugin.py b/openlp/plugins/images/imageplugin.py index 26cba5a20..4b85ec15e 100644 --- a/openlp/plugins/images/imageplugin.py +++ b/openlp/plugins/images/imageplugin.py @@ -24,9 +24,11 @@ from PyQt5 import QtGui import logging +from openlp.core.api.http import register_endpoint from openlp.core.common import Settings, translate from openlp.core.lib import Plugin, StringContent, ImageSource, build_icon from openlp.core.lib.db import Manager +from openlp.plugins.images.endpoint import api_images_endpoint, images_endpoint from openlp.plugins.images.lib import ImageMediaItem, ImageTab from openlp.plugins.images.lib.db import init_schema @@ -51,6 +53,8 @@ class ImagePlugin(Plugin): self.weight = -7 self.icon_path = ':/plugins/plugin_images.png' self.icon = build_icon(self.icon_path) + register_endpoint(images_endpoint) + register_endpoint(api_images_endpoint) @staticmethod def about(): @@ -88,7 +92,7 @@ class ImagePlugin(Plugin): self.text_strings[StringContent.VisibleName] = {'title': translate('ImagePlugin', 'Images', 'container title')} # Middle Header Bar tooltips = { - 'load': translate('ImagePlugin', 'Load a new image.'), + 'load': translate('ImagePlugin', 'Add new image(s).'), 'import': '', 'new': translate('ImagePlugin', 'Add a new image.'), 'edit': translate('ImagePlugin', 'Edit the selected image.'), diff --git a/openlp/plugins/images/lib/imagetab.py b/openlp/plugins/images/lib/imagetab.py index 2cc6776b1..97a237367 100644 --- a/openlp/plugins/images/lib/imagetab.py +++ b/openlp/plugins/images/lib/imagetab.py @@ -62,7 +62,7 @@ class ImageTab(SettingsTab): def retranslateUi(self): self.background_color_group_box.setTitle(UiStrings().BackgroundColor) - self.background_color_label.setText(UiStrings().DefaultColor) + self.background_color_label.setText(UiStrings().BackgroundColorColon) self.information_label.setText( translate('ImagesPlugin.ImageTab', 'Visible background for images with aspect ratio different to screen.')) diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index ad13a477d..94675a140 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -75,8 +75,8 @@ class ImageMediaItem(MediaManagerItem): self.on_new_prompt = translate('ImagePlugin.MediaItem', 'Select Image(s)') file_formats = get_images_filter() self.on_new_file_masks = '{formats};;{files} (*)'.format(formats=file_formats, files=UiStrings().AllFiles) - self.add_group_action.setText(UiStrings().AddGroup) - self.add_group_action.setToolTip(UiStrings().AddGroup) + self.add_group_action.setText(UiStrings().AddGroupDot) + self.add_group_action.setToolTip(UiStrings().AddGroupDot) self.replace_action.setText(UiStrings().ReplaceBG) self.replace_action.setToolTip(UiStrings().ReplaceLiveBG) self.reset_action.setText(UiStrings().ResetBG) @@ -180,7 +180,7 @@ class ImageMediaItem(MediaManagerItem): text=UiStrings().AddGroup, icon=':/images/image_new_group.png', triggers=self.on_add_group_click) create_widget_action( self.list_view, - text=self.plugin.get_string(StringContent.Load)['tooltip'], + text=translate('ImagePlugin', 'Add new image(s)'), icon=':/general/general_open.png', triggers=self.on_file_click) def add_start_header_bar(self): diff --git a/openlp/plugins/media/lib/endpoint.py b/openlp/plugins/media/endpoint.py similarity index 94% rename from openlp/plugins/media/lib/endpoint.py rename to openlp/plugins/media/endpoint.py index 6fc0ff369..605477571 100644 --- a/openlp/plugins/media/lib/endpoint.py +++ b/openlp/plugins/media/endpoint.py @@ -23,7 +23,7 @@ import logging from openlp.core.api.http.endpoint import Endpoint from openlp.core.api.http.endpoint.pluginhelpers import search, live, service -from openlp.core.api.http import register_endpoint, requires_auth +from openlp.core.api.http import requires_auth log = logging.getLogger(__name__) @@ -65,6 +65,3 @@ def media_service(request): :param request: The http request object. """ return service(request, 'media', log) - -register_endpoint(media_endpoint) -register_endpoint(api_media_endpoint) diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index ac3636010..d65ac4432 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -133,7 +133,7 @@ class MediaMediaItem(MediaManagerItem, RegistryProperties): disable_optical_button_text = True optical_button_text = translate('MediaPlugin.MediaItem', 'Load CD/DVD') optical_button_tooltip = translate('MediaPlugin.MediaItem', - 'Load CD/DVD - only supported when VLC is installed and enabled') + 'CD/DVD Playback is only supported if VLC is installed and enabled.') self.load_optical = self.toolbar.add_toolbar_action('load_optical', icon=self.optical_icon, text=optical_button_text, tooltip=optical_button_tooltip, diff --git a/openlp/plugins/media/lib/mediatab.py b/openlp/plugins/media/lib/mediatab.py index 5b8fb7c2f..0e00ec82b 100644 --- a/openlp/plugins/media/lib/mediatab.py +++ b/openlp/plugins/media/lib/mediatab.py @@ -54,7 +54,7 @@ class MediaTab(SettingsTab): def retranslateUi(self): self.advanced_group_box.setTitle(UiStrings().Advanced) self.override_player_check_box.setText(translate('MediaPlugin.MediaTab', 'Allow media player to be overridden')) - self.auto_start_check_box.setText(translate('MediaPlugin.MediaTab', 'Start Live items automatically')) + self.auto_start_check_box.setText(translate('MediaPlugin.MediaTab', 'Start new Live media automatically')) def load(self): self.override_player_check_box.setChecked(Settings().value(self.settings_section + '/override player')) diff --git a/openlp/plugins/media/mediaplugin.py b/openlp/plugins/media/mediaplugin.py index 2efbfb595..4ab3d39d3 100644 --- a/openlp/plugins/media/mediaplugin.py +++ b/openlp/plugins/media/mediaplugin.py @@ -26,12 +26,13 @@ The Media plugin import logging import os import re -from shutil import which from PyQt5 import QtCore -from openlp.core.common import AppLocation, Settings, translate, check_binary_exists, is_win +from openlp.core.api.http import register_endpoint +from openlp.core.common import AppLocation, translate, check_binary_exists from openlp.core.lib import Plugin, StringContent, build_icon +from openlp.plugins.media.endpoint import api_media_endpoint, media_endpoint from openlp.plugins.media.lib import MediaMediaItem, MediaTab @@ -58,6 +59,8 @@ class MediaPlugin(Plugin): self.icon = build_icon(self.icon_path) # passed with drag and drop messages self.dnd_id = 'Media' + register_endpoint(media_endpoint) + register_endpoint(api_media_endpoint) def initialise(self): """ diff --git a/openlp/plugins/presentations/lib/endpoint.py b/openlp/plugins/presentations/endpoint.py similarity index 95% rename from openlp/plugins/presentations/lib/endpoint.py rename to openlp/plugins/presentations/endpoint.py index e4ca3fbf3..99ccfa270 100644 --- a/openlp/plugins/presentations/lib/endpoint.py +++ b/openlp/plugins/presentations/endpoint.py @@ -23,7 +23,7 @@ import logging from openlp.core.api.http.endpoint import Endpoint from openlp.core.api.http.endpoint.pluginhelpers import search, live, service, display_thumbnails -from openlp.core.api.http import register_endpoint, requires_auth +from openlp.core.api.http import requires_auth log = logging.getLogger(__name__) @@ -79,7 +79,3 @@ def presentations_thumbnails(request, dimensions, file_name, slide): :return: """ return display_thumbnails(request, 'presentations', log, dimensions, file_name, slide) - - -register_endpoint(presentations_endpoint) -register_endpoint(api_presentations_endpoint) diff --git a/openlp/plugins/presentations/lib/powerpointcontroller.py b/openlp/plugins/presentations/lib/powerpointcontroller.py index ccc519b68..346fb5513 100644 --- a/openlp/plugins/presentations/lib/powerpointcontroller.py +++ b/openlp/plugins/presentations/lib/powerpointcontroller.py @@ -523,7 +523,7 @@ class PowerpointDocument(PresentationDocument): log.exception('Failed to exit Powerpoint presentation after error') log.exception(e) critical_error_message_box(UiStrings().Error, translate('PresentationPlugin.PowerpointDocument', - 'An error occurred in the Powerpoint integration ' + 'An error occurred in the PowerPoint integration ' 'and the presentation will be stopped. ' 'Restart the presentation if you wish to present it.')) diff --git a/openlp/plugins/presentations/lib/presentationtab.py b/openlp/plugins/presentations/lib/presentationtab.py index 25771713d..057ac9616 100644 --- a/openlp/plugins/presentations/lib/presentationtab.py +++ b/openlp/plugins/presentations/lib/presentationtab.py @@ -125,11 +125,11 @@ class PresentationTab(SettingsTab): translate('PresentationPlugin.PresentationTab', 'Allow presentation application to be overridden')) self.ppt_slide_click_check_box.setText( translate('PresentationPlugin.PresentationTab', - 'Clicking on a selected slide in the slidecontroller advances to next effect.')) + 'Clicking on current slide advances to the next effect')) self.ppt_window_check_box.setText( translate('PresentationPlugin.PresentationTab', - 'Let PowerPoint control the size and position of the presentation window ' - '(workaround for Windows 8 scaling issue).')) + 'Let PowerPoint control the size and monitor of the presentations\n' + '(This may fixes PowerPoint scaling issues in Windows 8 and 10)')) self.pdf_program_check_box.setText( translate('PresentationPlugin.PresentationTab', 'Use given full path for mudraw or ghostscript binary:')) @@ -152,7 +152,7 @@ class PresentationTab(SettingsTab): if controller.name == 'Powerpoint' and controller.is_available(): powerpoint_available = True self.override_app_check_box.setChecked(Settings().value(self.settings_section + '/override app')) - # Load Powerpoint settings + # Load PowerPoint settings self.ppt_slide_click_check_box.setChecked(Settings().value(self.settings_section + '/powerpoint slide click advance')) self.ppt_slide_click_check_box.setEnabled(powerpoint_available) diff --git a/openlp/plugins/presentations/presentationplugin.py b/openlp/plugins/presentations/presentationplugin.py index ca0ecba82..b239dee8c 100644 --- a/openlp/plugins/presentations/presentationplugin.py +++ b/openlp/plugins/presentations/presentationplugin.py @@ -28,8 +28,10 @@ import logging from PyQt5 import QtCore +from openlp.core.api.http import register_endpoint from openlp.core.common import AppLocation, translate from openlp.core.lib import Plugin, StringContent, build_icon +from openlp.plugins.presentations.endpoint import api_presentations_endpoint, presentations_endpoint from openlp.plugins.presentations.lib import PresentationController, PresentationMediaItem, PresentationTab @@ -67,6 +69,8 @@ class PresentationPlugin(Plugin): self.weight = -8 self.icon_path = ':/plugins/plugin_presentations.png' self.icon = build_icon(self.icon_path) + register_endpoint(presentations_endpoint) + register_endpoint(api_presentations_endpoint) def create_settings_tab(self, parent): """ diff --git a/openlp/plugins/remotes/lib/endpoint.py b/openlp/plugins/remotes/endpoint.py similarity index 96% rename from openlp/plugins/remotes/lib/endpoint.py rename to openlp/plugins/remotes/endpoint.py index ff259d96e..dc4ba7b3c 100644 --- a/openlp/plugins/remotes/lib/endpoint.py +++ b/openlp/plugins/remotes/endpoint.py @@ -25,7 +25,6 @@ import os from openlp.core.api.http.endpoint import Endpoint from openlp.core.api.http.endpoint.core import TRANSLATED_STRINGS -from openlp.core.api.http import register_endpoint from openlp.core.common import AppLocation @@ -46,4 +45,3 @@ def index(request, view): """ return remote_endpoint.render_template('{view}.mako'.format(view=view), **TRANSLATED_STRINGS) -register_endpoint(remote_endpoint) diff --git a/openlp/plugins/remotes/lib/__init__.py b/openlp/plugins/remotes/lib/__init__.py deleted file mode 100644 index 02bded5b0..000000000 --- a/openlp/plugins/remotes/lib/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4 - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2016 OpenLP Developers # -# --------------------------------------------------------------------------- # -# 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 # -############################################################################### diff --git a/openlp/plugins/remotes/remoteplugin.py b/openlp/plugins/remotes/remoteplugin.py index 9fcdb5c37..39605bb8c 100644 --- a/openlp/plugins/remotes/remoteplugin.py +++ b/openlp/plugins/remotes/remoteplugin.py @@ -22,10 +22,10 @@ import logging - +from openlp.core.api.http import register_endpoint from openlp.core.common import OpenLPMixin from openlp.core.lib import Plugin, StringContent, translate, build_icon -from openlp.plugins.remotes.lib.endpoint import remote_endpoint +from openlp.plugins.remotes.endpoint import remote_endpoint log = logging.getLogger(__name__) @@ -41,6 +41,7 @@ class RemotesPlugin(Plugin, OpenLPMixin): self.icon_path = ':/plugins/plugin_remote.png' self.icon = build_icon(self.icon_path) self.weight = -1 + register_endpoint(remote_endpoint) @staticmethod def about(): diff --git a/openlp/plugins/songs/lib/songstab.py b/openlp/plugins/songs/lib/songstab.py index 61739abeb..5f1419fda 100644 --- a/openlp/plugins/songs/lib/songstab.py +++ b/openlp/plugins/songs/lib/songstab.py @@ -68,10 +68,10 @@ class SongsTab(SettingsTab): def retranslateUi(self): self.mode_group_box.setTitle(translate('SongsPlugin.SongsTab', 'Songs Mode')) self.tool_bar_active_check_box.setText(translate('SongsPlugin.SongsTab', - 'Display verses on live tool bar')) + 'Enable "Go to verse" button in Live panel')) self.update_on_edit_check_box.setText(translate('SongsPlugin.SongsTab', 'Update service from song edit')) self.add_from_service_check_box.setText(translate('SongsPlugin.SongsTab', - 'Import missing songs from service files')) + 'Import missing songs from Service files')) self.display_songbook_check_box.setText(translate('SongsPlugin.SongsTab', 'Display songbook in footer')) self.display_copyright_check_box.setText(translate('SongsPlugin.SongsTab', 'Display "{symbol}" symbol before copyright '