This commit is contained in:
Philip Ridout 2017-08-04 19:02:23 +01:00
commit 46b42c24e5
13 changed files with 81 additions and 36 deletions

View File

@ -120,9 +120,8 @@ class UiStrings(object):
self.NISs = translate('OpenLP.Ui', 'No Item Selected', 'Singular') self.NISs = translate('OpenLP.Ui', 'No Item Selected', 'Singular')
self.NISp = translate('OpenLP.Ui', 'No Items Selected', 'Plural') self.NISp = translate('OpenLP.Ui', 'No Items Selected', 'Plural')
self.NoResults = translate('OpenLP.Ui', 'No Search Results') self.NoResults = translate('OpenLP.Ui', 'No Search Results')
self.OLP = translate('OpenLP.Ui', 'OpenLP') self.OpenLP = translate('OpenLP.Ui', 'OpenLP')
self.OLPV2 = "{name} {version}".format(name=self.OLP, version="2") self.OpenLPv2AndUp = translate('OpenLP.Ui', 'OpenLP 2.0 and up')
self.OLPV2x = "{name} {version}".format(name=self.OLP, version="2.4")
self.OpenLPStart = translate('OpenLP.Ui', 'OpenLP is already running. Do you wish to continue?') self.OpenLPStart = translate('OpenLP.Ui', 'OpenLP is already running. Do you wish to continue?')
self.OpenService = translate('OpenLP.Ui', 'Open service.') self.OpenService = translate('OpenLP.Ui', 'Open service.')
self.OptionalShowInFooter = translate('OpenLP.Ui', 'Optional, this will be displayed in footer.') self.OptionalShowInFooter = translate('OpenLP.Ui', 'Optional, this will be displayed in footer.')

0
openlp/core/ui/lib/pathedit.py Executable file → Normal file
View File

View File

@ -34,12 +34,12 @@ from tempfile import gettempdir
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
from openlp.core.common import Registry, RegistryProperties, AppLocation, LanguageManager, Settings, \ from openlp.core.common import Registry, RegistryProperties, AppLocation, LanguageManager, Settings, UiStrings, \
check_directory_exists, translate, is_win, is_macosx, add_actions check_directory_exists, translate, is_win, is_macosx, add_actions
from openlp.core.common.actions import ActionList, CategoryOrder from openlp.core.common.actions import ActionList, CategoryOrder
from openlp.core.common.versionchecker import get_application_version from openlp.core.common.versionchecker import get_application_version
from openlp.core.lib import Renderer, PluginManager, ImageManager, PluginStatus, ScreenList, build_icon from openlp.core.lib import Renderer, PluginManager, ImageManager, PluginStatus, ScreenList, build_icon
from openlp.core.lib.ui import UiStrings, create_action from openlp.core.lib.ui import create_action
from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, ThemeManager, LiveController, PluginForm, \ from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, ThemeManager, LiveController, PluginForm, \
ShortcutListForm, FormattingTagForm, PreviewController ShortcutListForm, FormattingTagForm, PreviewController
from openlp.core.ui.firsttimeform import FirstTimeForm from openlp.core.ui.firsttimeform import FirstTimeForm
@ -370,7 +370,7 @@ class Ui_MainWindow(object):
""" """
Set up the translation system Set up the translation system
""" """
main_window.setWindowTitle(UiStrings().OLP) main_window.setWindowTitle(UiStrings().OpenLP)
self.file_menu.setTitle(translate('OpenLP.MainWindow', '&File')) self.file_menu.setTitle(translate('OpenLP.MainWindow', '&File'))
self.file_import_menu.setTitle(translate('OpenLP.MainWindow', '&Import')) self.file_import_menu.setTitle(translate('OpenLP.MainWindow', '&Import'))
self.file_export_menu.setTitle(translate('OpenLP.MainWindow', '&Export')) self.file_export_menu.setTitle(translate('OpenLP.MainWindow', '&Export'))
@ -1150,9 +1150,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow, RegistryProperties):
:param file_name: The file name of the service file. :param file_name: The file name of the service file.
""" """
if modified: if modified:
title = '{title} - {name}*'.format(title=UiStrings().OLP, name=file_name) title = '{title} - {name}*'.format(title=UiStrings().OpenLP, name=file_name)
else: else:
title = '{title} - {name}'.format(title=UiStrings().OLP, name=file_name) title = '{title} - {name}'.format(title=UiStrings().OpenLP, name=file_name)
self.setWindowTitle(title) self.setWindowTitle(title)
def show_status_message(self, message): def show_status_message(self, message):

View File

@ -31,7 +31,7 @@ from xml.etree.ElementTree import ElementTree, XML
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
from openlp.core.common import Registry, RegistryProperties, AppLocation, Settings, OpenLPMixin, RegistryMixin, \ from openlp.core.common import Registry, RegistryProperties, AppLocation, Settings, OpenLPMixin, RegistryMixin, \
check_directory_exists, UiStrings, translate, is_win, get_filesystem_encoding, delete_file UiStrings, check_directory_exists, translate, is_win, get_filesystem_encoding, delete_file
from openlp.core.lib import FileDialog, ImageSource, ValidationError, get_text_file_string, build_icon, \ from openlp.core.lib import FileDialog, ImageSource, ValidationError, get_text_file_string, build_icon, \
check_item_selected, create_thumb, validate_thumb check_item_selected, create_thumb, validate_thumb
from openlp.core.lib.theme import Theme, BackgroundType from openlp.core.lib.theme import Theme, BackgroundType

View File

@ -24,12 +24,12 @@ import logging
from PyQt5 import QtGui from PyQt5 import QtGui
from openlp.core.common import Settings, translate from openlp.core.common import Settings, UiStrings, translate
from openlp.core.common.actions import ActionList from openlp.core.common.actions import ActionList
from openlp.core.lib import Plugin, StringContent, build_icon from openlp.core.lib import Plugin, StringContent, build_icon
from openlp.core.lib.db import Manager from openlp.core.lib.db import Manager
from openlp.core.lib.theme import VerticalType from openlp.core.lib.theme import VerticalType
from openlp.core.lib.ui import create_action, UiStrings from openlp.core.lib.ui import create_action
from openlp.core.ui import AlertLocation from openlp.core.ui import AlertLocation
from openlp.plugins.alerts.forms import AlertForm from openlp.plugins.alerts.forms import AlertForm
from openlp.plugins.alerts.lib import AlertsManager, AlertsTab from openlp.plugins.alerts.lib import AlertsManager, AlertsTab

View File

@ -105,7 +105,7 @@ class AlertsTab(SettingsTab):
self.timeout_label.setText(translate('AlertsPlugin.AlertsTab', 'Alert timeout:')) self.timeout_label.setText(translate('AlertsPlugin.AlertsTab', 'Alert timeout:'))
self.timeout_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().Seconds)) self.timeout_spin_box.setSuffix(' {unit}'.format(unit=UiStrings().Seconds))
self.preview_group_box.setTitle(UiStrings().Preview) self.preview_group_box.setTitle(UiStrings().Preview)
self.font_preview.setText(UiStrings().OLPV2x) self.font_preview.setText(UiStrings().OpenLP)
def on_background_color_changed(self, color): def on_background_color_changed(self, color):
""" """

View File

@ -22,9 +22,10 @@
import logging import logging
from openlp.core.common import UiStrings
from openlp.core.common.actions import ActionList from openlp.core.common.actions import ActionList
from openlp.core.lib import Plugin, StringContent, build_icon, translate from openlp.core.lib import Plugin, StringContent, build_icon, translate
from openlp.core.lib.ui import UiStrings, create_action from openlp.core.lib.ui import create_action
from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem, LayoutStyle, DisplayStyle, \ from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem, LayoutStyle, DisplayStyle, \
LanguageSelection LanguageSelection
from openlp.plugins.bibles.lib.mediaitem import BibleSearch from openlp.plugins.bibles.lib.mediaitem import BibleSearch

View File

@ -34,15 +34,15 @@ from openlp.core.common import is_win, Settings
if is_win(): if is_win():
from win32com.client import Dispatch from win32com.client import Dispatch
import win32con import win32con
import winreg
import win32ui
import win32gui import win32gui
import win32ui
import winreg
import pywintypes import pywintypes
from openlp.core.common import Registry, UiStrings, trace_error_handler
from openlp.core.lib import ScreenList from openlp.core.lib import ScreenList
from openlp.core.lib.ui import UiStrings, critical_error_message_box, translate from openlp.core.lib.ui import critical_error_message_box, translate
from openlp.core.common import trace_error_handler, Registry
from openlp.plugins.presentations.lib.presentationcontroller import PresentationController, PresentationDocument from openlp.plugins.presentations.lib.presentationcontroller import PresentationController, PresentationDocument
log = logging.getLogger(__name__) log = logging.getLogger(__name__)

View File

@ -277,7 +277,7 @@ class HttpRouter(RegistryProperties):
Create a needs authorisation http header. Create a needs authorisation http header.
""" """
self.send_response(401) self.send_response(401)
header = 'Basic realm=\"{}\"'.format(UiStrings().OLPV2) header = 'Basic realm=\"{}\"'.format(UiStrings().OpenLP)
self.send_header('WWW-Authenticate', header) self.send_header('WWW-Authenticate', header)
self.send_header('Content-type', 'text/html') self.send_header('Content-type', 'text/html')
self.set_cache_headers() self.set_cache_headers()
@ -322,10 +322,10 @@ class HttpRouter(RegistryProperties):
chords = translate('RemotePlugin.Mobile', 'Chords View') chords = translate('RemotePlugin.Mobile', 'Chords View')
live = translate('RemotePlugin.Mobile', 'Live View') live = translate('RemotePlugin.Mobile', 'Live View')
self.template_vars = { self.template_vars = {
'app_title': "{main} {remote}".format(main=UiStrings().OLPV2x, remote=remote), 'app_title': "{main} {remote}".format(main=UiStrings().OpenLP, remote=remote),
'stage_title': "{main} {stage}".format(main=UiStrings().OLPV2x, stage=stage), 'stage_title': "{main} {stage}".format(main=UiStrings().OpenLP, stage=stage),
'chords_title': "{main} {chords}".format(main=UiStrings().OLPV2x, chords=chords), 'chords_title': "{main} {chords}".format(main=UiStrings().OpenLP, chords=chords),
'live_title': "{main} {live}".format(main=UiStrings().OLPV2x, live=live), 'live_title': "{main} {live}".format(main=UiStrings().OpenLP, live=live),
'service_manager': translate('RemotePlugin.Mobile', 'Service Manager'), 'service_manager': translate('RemotePlugin.Mobile', 'Service Manager'),
'slide_controller': translate('RemotePlugin.Mobile', 'Slide Controller'), 'slide_controller': translate('RemotePlugin.Mobile', 'Slide Controller'),
'alerts': translate('RemotePlugin.Mobile', 'Alerts'), 'alerts': translate('RemotePlugin.Mobile', 'Alerts'),

View File

@ -22,10 +22,10 @@
from PyQt5 import QtWidgets from PyQt5 import QtWidgets
from openlp.core.ui.lib import SpellTextEdit from openlp.core.common import Settings, UiStrings
from openlp.core.lib import build_icon, translate from openlp.core.lib import build_icon, translate
from openlp.core.lib.ui import UiStrings, create_button_box from openlp.core.lib.ui import create_button_box
from openlp.core.common import Settings from openlp.core.ui.lib import SpellTextEdit
from openlp.plugins.songs.lib import VerseType from openlp.plugins.songs.lib import VerseType

View File

@ -206,7 +206,7 @@ class SongFormat(object):
}, },
OpenLP2: { OpenLP2: {
'class': OpenLPSongImport, 'class': OpenLPSongImport,
'name': UiStrings().OLPV2, 'name': UiStrings().OpenLPv2AndUp,
'prefix': 'openLP2', 'prefix': 'openLP2',
'selectMode': SongFormatSelect.SingleFile, 'selectMode': SongFormatSelect.SingleFile,
'filter': '{text} (*.sqlite)'.format(text=translate('SongsPlugin.ImportWizardForm', 'OpenLP 2 Databases')) 'filter': '{text} (*.sqlite)'.format(text=translate('SongsPlugin.ImportWizardForm', 'OpenLP 2 Databases'))

View File

@ -23,7 +23,7 @@ import sys
from unittest import TestCase, skip from unittest import TestCase, skip
from unittest.mock import MagicMock, patch from unittest.mock import MagicMock, patch
from PyQt5 import QtWidgets from PyQt5 import QtCore, QtWidgets
from openlp.core import OpenLP, parse_options from openlp.core import OpenLP, parse_options
@ -225,3 +225,49 @@ class TestOpenLP(TestCase):
MockedStandardButtons.assert_called_once_with(QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No) MockedStandardButtons.assert_called_once_with(QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No)
mocked_critical.assert_called_once_with(None, 'Error', 'OpenLP is already running. Do you wish to continue?', 0) mocked_critical.assert_called_once_with(None, 'Error', 'OpenLP is already running. Do you wish to continue?', 0)
assert result is True assert result is True
def test_process_events(self):
"""
Test that the app.process_events() method simply calls the Qt method
"""
# GIVEN: An app
app = OpenLP([])
# WHEN: process_events() is called
with patch.object(app, 'processEvents') as mocked_processEvents:
app.process_events()
# THEN: processEvents was called
mocked_processEvents.assert_called_once_with()
def test_set_busy_cursor(self):
"""
Test that the set_busy_cursor() method sets the cursor
"""
# GIVEN: An app
app = OpenLP([])
# WHEN: set_busy_cursor() is called
with patch.object(app, 'setOverrideCursor') as mocked_setOverrideCursor, \
patch.object(app, 'processEvents') as mocked_processEvents:
app.set_busy_cursor()
# THEN: The cursor should have been set
mocked_setOverrideCursor.assert_called_once_with(QtCore.Qt.BusyCursor)
mocked_processEvents.assert_called_once_with()
def test_set_normal_cursor(self):
"""
Test that the set_normal_cursor() method resets the cursor
"""
# GIVEN: An app
app = OpenLP([])
# WHEN: set_normal_cursor() is called
with patch.object(app, 'restoreOverrideCursor') as mocked_restoreOverrideCursor, \
patch.object(app, 'processEvents') as mocked_processEvents:
app.set_normal_cursor()
# THEN: The cursor should have been set
mocked_restoreOverrideCursor.assert_called_once_with()
mocked_processEvents.assert_called_once_with()

View File

@ -28,9 +28,8 @@ from unittest.mock import MagicMock, patch
from PyQt5 import QtWidgets from PyQt5 import QtWidgets
from openlp.core.common import Registry, UiStrings
from openlp.core.ui.mainwindow import MainWindow from openlp.core.ui.mainwindow import MainWindow
from openlp.core.lib.ui import UiStrings
from openlp.core.common.registry import Registry
from tests.helpers.testmixin import TestMixin from tests.helpers.testmixin import TestMixin
from tests.utils.constants import TEST_RESOURCES_PATH from tests.utils.constants import TEST_RESOURCES_PATH
@ -109,9 +108,9 @@ class TestMainWindow(TestCase, TestMixin):
# WHEN no changes are made to the service # WHEN no changes are made to the service
# THEN the main window's title shoud be the same as the OLP string in the UiStrings class # THEN the main window's title shoud be the same as the OpenLP string in the UiStrings class
self.assertEqual(self.main_window.windowTitle(), UiStrings().OLP, self.assertEqual(self.main_window.windowTitle(), UiStrings().OpenLP,
'The main window\'s title should be the same as the OLP string in UiStrings class') 'The main window\'s title should be the same as the OpenLP string in UiStrings class')
def test_set_service_modifed(self): def test_set_service_modifed(self):
""" """
@ -123,8 +122,8 @@ class TestMainWindow(TestCase, TestMixin):
self.main_window.set_service_modified(True, 'test.osz') self.main_window.set_service_modified(True, 'test.osz')
# THEN the main window's title should be set to the # THEN the main window's title should be set to the
self.assertEqual(self.main_window.windowTitle(), '%s - %s*' % (UiStrings().OLP, 'test.osz'), self.assertEqual(self.main_window.windowTitle(), '%s - %s*' % (UiStrings().OpenLP, 'test.osz'),
'The main window\'s title should be set to "<the contents of UiStrings().OLP> - test.osz*"') 'The main window\'s title should be set to "<the contents of UiStrings().OpenLP> - test.osz*"')
def test_set_service_unmodified(self): def test_set_service_unmodified(self):
""" """
@ -136,8 +135,8 @@ class TestMainWindow(TestCase, TestMixin):
self.main_window.set_service_modified(False, 'test.osz') self.main_window.set_service_modified(False, 'test.osz')
# THEN the main window's title should be set to the # THEN the main window's title should be set to the
self.assertEqual(self.main_window.windowTitle(), '%s - %s' % (UiStrings().OLP, 'test.osz'), self.assertEqual(self.main_window.windowTitle(), '%s - %s' % (UiStrings().OpenLP, 'test.osz'),
'The main window\'s title should be set to "<the contents of UiStrings().OLP> - test.osz"') 'The main window\'s title should be set to "<the contents of UiStrings().OpenLP> - test.osz"')
def test_mainwindow_configuration(self): def test_mainwindow_configuration(self):
""" """