diff --git a/openlp/core/common/i18n.py b/openlp/core/common/i18n.py index 91a2a6f22..28f6a6554 100644 --- a/openlp/core/common/i18n.py +++ b/openlp/core/common/i18n.py @@ -33,7 +33,6 @@ from openlp.core.common import Singleton, is_macosx, is_win from openlp.core.common.applocation import AppLocation from openlp.core.common.settings import Settings - log = logging.getLogger(__name__) @@ -385,6 +384,7 @@ class UiStrings(metaclass=Singleton): self.Import = translate('OpenLP.Ui', 'Import') self.LayoutStyle = translate('OpenLP.Ui', 'Layout style:') self.Live = translate('OpenLP.Ui', 'Live') + self.LiveStream = translate('OpenLP.Ui', 'Live Stream') self.LiveBGError = translate('OpenLP.Ui', 'Live Background Error') self.LiveToolbar = translate('OpenLP.Ui', 'Live Toolbar') self.Load = translate('OpenLP.Ui', 'Load') diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index eee11b970..a57f87d9d 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -41,7 +41,6 @@ from openlp.core.widgets.edits import SearchEdit from openlp.core.widgets.toolbar import OpenLPToolbar from openlp.core.widgets.views import ListWidgetWithDnD - log = logging.getLogger(__name__) @@ -416,7 +415,9 @@ class MediaManagerItem(QtWidgets.QWidget, RegistryProperties): for index in range(self.list_view.count()): list_item = self.list_view.item(index) file_path = list_item.data(QtCore.Qt.UserRole) - file_paths.append(file_path) + # This is added as start of OpenLP each time + if file_path != UiStrings().LiveStream: + file_paths.append(file_path) return file_paths def load_list(self, load_list, target_group): @@ -497,7 +498,7 @@ class MediaManagerItem(QtWidgets.QWidget, RegistryProperties): translate('OpenLP.MediaManagerItem', 'You must select one or more items to preview.')) else: - log.debug('%s Preview requested' % self.plugin.name) + log.debug('{plug} Preview requested'.format(plug=self.plugin.name)) Registry().set_flag('has doubleclick added item to service', False) service_item = self.build_service_item() if service_item: @@ -635,8 +636,7 @@ class MediaManagerItem(QtWidgets.QWidget, RegistryProperties): service_item.add_icon() if self.generate_slide_data(service_item, item=item, remote=remote, context=context): return service_item - else: - return None + return None def service_load(self, item): """ diff --git a/openlp/core/ui/aboutdialog.py b/openlp/core/ui/aboutdialog.py index 2ff2cdf07..072fa6e46 100644 --- a/openlp/core/ui/aboutdialog.py +++ b/openlp/core/ui/aboutdialog.py @@ -112,7 +112,7 @@ class UiAboutDialog(object): '
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' + '
You should have received a copy of the GNU General Public License ' 'along with this program. If not, see ' 'https://www.gnu.org/licenses/.
').format(crs='\xa9', yr=datetime.date.today().year)) self.about_notebook.setTabText(self.about_notebook.indexOf(self.about_tab), UiStrings().About) diff --git a/openlp/core/ui/media/mediacontroller.py b/openlp/core/ui/media/mediacontroller.py index 588bf636e..285c4e5f4 100644 --- a/openlp/core/ui/media/mediacontroller.py +++ b/openlp/core/ui/media/mediacontroller.py @@ -54,16 +54,7 @@ TICK_TIME = 200 class MediaController(RegistryBase, LogMixin, RegistryProperties): """ - The implementation of the Media Controller. The Media Controller adds an own class for every Player. - Currently these are QtWebkit, Phonon and Vlc. display_controllers are an array of controllers keyed on the - slidecontroller or plugin which built them. - - ControllerType is the class containing the key values. - - media_players are an array of media players keyed on player name. - - current_media_players is an array of player instances keyed on ControllerType. - + The implementation of the Media Controller which manages how media is played. """ def setup(self): @@ -100,14 +91,23 @@ class MediaController(RegistryBase, LogMixin, RegistryProperties): self.vlc_player = VlcPlayer(self) State().add_service('mediacontroller', 0) State().add_service('media_live', 0) - if get_vlc() and pymediainfo_available: + getvlc = get_vlc() + if getvlc and pymediainfo_available: State().update_pre_conditions('mediacontroller', True) State().update_pre_conditions('media_live', True) else: if hasattr(self.main_window, 'splash') and self.main_window.splash.isVisible(): self.main_window.splash.hide() - State().missing_text('media_live', translate('OpenLP.SlideController', - 'VLC or pymediainfo are missing, so you are unable to play any media')) + text_vlc = translate('OpenLP.MediaController', + 'The media integration library is missing (python - vlc is not installed)') + text_info = translate('OpenLP.MediaController', + 'The media integration library is missing (python - pymediainfo is not installed)') + if not getvlc and not pymediainfo_available: + State().missing_text('media_live', "{text}\n{base}".format(text=text_vlc, base=text_info)) + if getvlc and not pymediainfo_available: + State().missing_text('media_live', "{text}".format(text=text_info)) + if not getvlc and pymediainfo_available: + State().missing_text('media_live', "{text}".format(text=text_vlc)) return True def bootstrap_post_set_up(self): @@ -120,7 +120,7 @@ class MediaController(RegistryBase, LogMixin, RegistryProperties): self.setup_display(self.live_controller.display, False) except AttributeError: State().update_pre_conditions('media_live', False) - State().missing_text('media_live', translate('OpenLP.SlideController', + State().missing_text('media_live', translate('OpenLP.MediaController', 'No Displays configure so Live Media has been disabled')) self.setup_display(self.preview_controller.preview_display, True) @@ -132,8 +132,7 @@ class MediaController(RegistryBase, LogMixin, RegistryProperties): """ if controller_type == DisplayControllerType.Live: return self.live_controller - else: - return self.preview_controller + return self.preview_controller def media_state_live(self): """ @@ -271,10 +270,8 @@ class MediaController(RegistryBase, LogMixin, RegistryProperties): critical_error_message_box(translate('MediaPlugin.MediaItem', 'Unsupported File'), translate('MediaPlugin.MediaItem', 'Unsupported File')) return False - log.debug('video media type: ' + str(controller.media_info.media_type)) + log.debug('video media type: {tpe} '.format(tpe=str(controller.media_info.media_type))) # dont care about actual theme, set a black background - # if controller.is_live and not controller.media_info.is_background: - # display.frame.runJavaScript('show_video("setBackBoard", null, null,"visible");') # now start playing - Preview is autoplay! autoplay = False if service_item.is_capable(ItemCapabilities.CanStream): @@ -294,7 +291,7 @@ class MediaController(RegistryBase, LogMixin, RegistryProperties): translate('MediaPlugin.MediaItem', 'Unsupported File')) return False self.set_controls_visible(controller, True) - log.debug('use %s controller' % self.current_media_players[controller.controller_type].display_name) + log.debug('use {nm} controller'.format(nm=self.current_media_players[controller.controller_type].display_name)) return True @staticmethod @@ -580,7 +577,7 @@ class MediaController(RegistryBase, LogMixin, RegistryProperties): :param controller: The Controller to use :param volume: The volume to be set """ - log.debug('media_volume %d' % volume) + log.debug('media_volume {vol}'.format(vol=volume)) display = self._define_display(controller) self.current_media_players[controller.controller_type].volume(display, volume) controller.volume_slider.setValue(volume) diff --git a/openlp/core/ui/media/vlcplayer.py b/openlp/core/ui/media/vlcplayer.py index eb0f3dceb..c4537457e 100644 --- a/openlp/core/ui/media/vlcplayer.py +++ b/openlp/core/ui/media/vlcplayer.py @@ -29,14 +29,14 @@ import sys import threading from datetime import datetime -from PyQt5 import QtWidgets +from PyQt5 import QtCore, QtWidgets from openlp.core.common import is_linux, is_macosx, is_win from openlp.core.common.settings import Settings +from openlp.core.display.screens import ScreenList from openlp.core.ui.media import MediaState, MediaType from openlp.core.ui.media.mediaplayer import MediaPlayer - log = logging.getLogger(__name__) # Audio and video extensions copied from 'include/vlc_interface.h' from vlc 2.2.0 source @@ -105,8 +105,14 @@ class VlcPlayer(MediaPlayer): :return: """ vlc = get_vlc() - output_display.vlc_widget = QtWidgets.QFrame(output_display) + if output_display.is_display: + output_display.vlc_widget = QtWidgets.QFrame() + output_display.vlc_widget.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.Tool | + QtCore.Qt.WindowStaysOnTopHint) + else: + output_display.vlc_widget = QtWidgets.QFrame(output_display) output_display.vlc_widget.setFrameStyle(QtWidgets.QFrame.NoFrame) + # creating a basic vlc instance command_line_options = '--no-video-title-show ' if Settings().value('advanced/hide mouse') and live_display: @@ -206,7 +212,10 @@ class VlcPlayer(MediaPlayer): :param output_display: The display where the media is :return: """ - output_display.vlc_widget.resize(output_display.size()) + if output_display.is_display: + output_display.vlc_widget.setGeometry(ScreenList().current.display_geometry) + else: + output_display.vlc_widget.resize(output_display.size()) def play(self, controller, output_display): """ diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 4b40a01fb..b4c36815e 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -47,7 +47,6 @@ from openlp.core.widgets.layouts import AspectRatioLayout from openlp.core.widgets.toolbar import OpenLPToolbar from openlp.core.widgets.views import ListPreviewWidget - # Threshold which has to be trespassed to toggle. HIDE_MENU_THRESHOLD = 27 @@ -863,6 +862,7 @@ class SlideController(QtWidgets.QWidget, LogMixin, RegistryProperties): [self.service_item, self.is_live, self.hide_mode(), slide_no]) else: # Get theme + # TODO this is wrong!!! theme_name = service_item.theme if service_item.theme else Registry().get('theme_manager').global_theme theme_data = Registry().get('theme_manager').get_theme_data(theme_name) # Set theme for preview diff --git a/openlp/plugins/media/lib/mediaitem.py b/openlp/plugins/media/lib/mediaitem.py index 4ccc55d36..f1fe70d91 100644 --- a/openlp/plugins/media/lib/mediaitem.py +++ b/openlp/plugins/media/lib/mediaitem.py @@ -25,7 +25,6 @@ import os from PyQt5 import QtCore, QtWidgets -from openlp.core.state import State from openlp.core.common.applocation import AppLocation from openlp.core.common.i18n import UiStrings, get_natural_key, translate from openlp.core.common.mixins import RegistryProperties @@ -36,11 +35,11 @@ from openlp.core.lib import MediaType, ServiceItemContext, check_item_selected from openlp.core.lib.mediamanageritem import MediaManagerItem from openlp.core.lib.serviceitem import ItemCapabilities from openlp.core.lib.ui import critical_error_message_box +from openlp.core.state import State from openlp.core.ui.icons import UiIcons from openlp.core.ui.media import parse_optical_path, format_milliseconds, AUDIO_EXT, VIDEO_EXT from openlp.core.ui.media.vlcplayer import get_vlc - if get_vlc() is not None: from openlp.plugins.media.forms.mediaclipselectorform import MediaClipSelectorForm @@ -128,36 +127,6 @@ class MediaMediaItem(MediaManagerItem, RegistryProperties): tooltip=optical_button_tooltip, triggers=self.on_load_optical) - def add_end_header_bar(self): - """ - Adds buttons to the end of the header bar. - """ - # Replace backgrounds do not work at present so remove functionality. - # self.replace_action = self.toolbar.add_toolbar_action('replace_action', icon=UiIcons().theme, - # triggers=self.on_replace_click) - # if 'webkit' not in get_media_players()[0]: - # self.replace_action.setDisabled(True) - # if hasattr(self, 'replace_action_context'): - # self.replace_action_context.setDisabled(True) - # self.reset_action = self.toolbar.add_toolbar_action('reset_action', icon=UiIcons().close, - # visible=False, triggers=self.on_reset_click) - # self.media_widget = QtWidgets.QWidget(self) - # self.media_widget.setObjectName('media_widget') - # self.display_layout = QtWidgets.QFormLayout(self.media_widget) - # self.display_layout.setContentsMargins(self.display_layout.spacing(), self.display_layout.spacing(), - # self.display_layout.spacing(), self.display_layout.spacing()) - # self.display_layout.setObjectName('display_layout') - # self.display_type_label = QtWidgets.QLabel(self.media_widget) - # self.display_type_label.setObjectName('display_type_label') - # self.display_type_combo_box = create_horizontal_adjusting_combo_box( - # self.media_widget, 'display_type_combo_box') - # self.display_type_label.setBuddy(self.display_type_combo_box) - # self.display_layout.addRow(self.display_type_label, self.display_type_combo_box) - # Add the Media widget to the page layout. - # self.page_layout.addWidget(self.media_widget) - # self.display_type_combo_box.currentIndexChanged.connect(self.override_player_changed) - pass - def generate_slide_data(self, service_item, *, item=None, remote=False, context=ServiceItemContext.Service, **kwargs): """ @@ -175,7 +144,7 @@ class MediaMediaItem(MediaManagerItem, RegistryProperties): return False filename = str(item.data(QtCore.Qt.UserRole)) # Special handling if the filename is a optical clip - if filename == 'live': + if filename == UiStrings().LiveStream: service_item.processor = 'vlc' service_item.title = filename service_item.add_capability(ItemCapabilities.CanStream) @@ -265,7 +234,7 @@ class MediaMediaItem(MediaManagerItem, RegistryProperties): file_name = translate('MediaPlugin.MediaItem', 'Live Stream') item_name = QtWidgets.QListWidgetItem(file_name) item_name.setIcon(UiIcons().video) - item_name.setData(QtCore.Qt.UserRole, 'live') + item_name.setData(QtCore.Qt.UserRole, UiStrings().LiveStream) item_name.setToolTip(translate('MediaPlugin.MediaItem', 'Show Live Stream')) self.list_view.addItem(item_name) for track in media: diff --git a/openlp/plugins/songusage/forms/auditdetaildialog.py b/openlp/plugins/songusage/forms/auditdetaildialog.py deleted file mode 100644 index 0a4ff5196..000000000 --- a/openlp/plugins/songusage/forms/auditdetaildialog.py +++ /dev/null @@ -1,181 +0,0 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'auditdetaildialog.ui' -# -# Created: Sun Oct 11 11:40:02 2009 -# by: PyQt4 UI code generator 4.5.4 -# -# WARNING! All changes made in this file will be lost! - -from PyQt4 import QtCore, QtGui - - -class Ui_AuditDetailDialog(object): - def setupUi(self, AuditDetailDialog): - AuditDetailDialog.setObjectName(u'AuditDetailDialog') - AuditDetailDialog.resize(593, 501) - self.buttonBox = QtGui.QDialogButtonBox(AuditDetailDialog) - self.buttonBox.setGeometry(QtCore.QRect(420, 470, 170, 25)) - self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok) - self.buttonBox.setObjectName(u'buttonBox') - self.FileGroupBox = QtGui.QGroupBox(AuditDetailDialog) - self.FileGroupBox.setGeometry(QtCore.QRect(10, 370, 571, 70)) - self.FileGroupBox.setObjectName(u'FileGroupBox') - self.verticalLayout_4 = QtGui.QVBoxLayout(self.FileGroupBox) - self.verticalLayout_4.setObjectName(u'verticalLayout_4') - self.horizontalLayout = QtGui.QHBoxLayout() - self.horizontalLayout.setObjectName(u'horizontalLayout') - self.FileLineEdit = QtGui.QLineEdit(self.FileGroupBox) - self.FileLineEdit.setObjectName(u'FileLineEdit') - self.horizontalLayout.addWidget(self.FileLineEdit) - self.SaveFilePushButton = QtGui.QPushButton(self.FileGroupBox) - icon = QtGui.QIcon() - icon.addPixmap(QtGui.QPixmap(u':/exports/export_load.png'), - QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.SaveFilePushButton.setIcon(icon) - self.SaveFilePushButton.setObjectName(u'SaveFilePushButton') - self.horizontalLayout.addWidget(self.SaveFilePushButton) - self.verticalLayout_4.addLayout(self.horizontalLayout) - self.layoutWidget = QtGui.QWidget(AuditDetailDialog) - self.layoutWidget.setGeometry(QtCore.QRect(10, 10, 561, 361)) - self.layoutWidget.setObjectName(u'layoutWidget') - self.verticalLayout_3 = QtGui.QVBoxLayout(self.layoutWidget) - self.verticalLayout_3.setObjectName(u'verticalLayout_3') - self.ReportTypeGroup = QtGui.QGroupBox(self.layoutWidget) - self.ReportTypeGroup.setObjectName(u'ReportTypeGroup') - self.layoutWidget1 = QtGui.QWidget(self.ReportTypeGroup) - self.layoutWidget1.setGeometry(QtCore.QRect(50, 40, 481, 23)) - self.layoutWidget1.setObjectName(u'layoutWidget1') - self.ReportHorizontalLayout = QtGui.QHBoxLayout(self.layoutWidget1) - self.ReportHorizontalLayout.setObjectName(u'ReportHorizontalLayout') - self.SummaryReport = QtGui.QRadioButton(self.layoutWidget1) - self.SummaryReport.setObjectName(u'SummaryReport') - self.ReportHorizontalLayout.addWidget(self.SummaryReport) - self.DetailedReport = QtGui.QRadioButton(self.layoutWidget1) - self.DetailedReport.setChecked(True) - self.DetailedReport.setObjectName(u'DetailedReport') - self.ReportHorizontalLayout.addWidget(self.DetailedReport) - self.verticalLayout_3.addWidget(self.ReportTypeGroup) - self.DateRangeGroupBox = QtGui.QGroupBox(self.layoutWidget) - self.DateRangeGroupBox.setObjectName(u'DateRangeGroupBox') - self.verticalLayout_2 = QtGui.QVBoxLayout(self.DateRangeGroupBox) - self.verticalLayout_2.setObjectName(u'verticalLayout_2') - self.DateHorizontalLayout = QtGui.QHBoxLayout() - self.DateHorizontalLayout.setObjectName(u'DateHorizontalLayout') - self.FromDateEdit = QtGui.QDateEdit(self.DateRangeGroupBox) - self.FromDateEdit.setCalendarPopup(True) - self.FromDateEdit.setObjectName(u'FromDateEdit') - self.DateHorizontalLayout.addWidget(self.FromDateEdit) - self.To = QtGui.QLabel(self.DateRangeGroupBox) - self.To.setObjectName(u'To') - self.DateHorizontalLayout.addWidget(self.To) - self.ToDateEdit = QtGui.QDateEdit(self.DateRangeGroupBox) - self.ToDateEdit.setCalendarPopup(True) - self.ToDateEdit.setObjectName(u'ToDateEdit') - self.DateHorizontalLayout.addWidget(self.ToDateEdit) - self.verticalLayout_2.addLayout(self.DateHorizontalLayout) - self.verticalLayout_3.addWidget(self.DateRangeGroupBox) - self.TimePeriodGroupBox = QtGui.QGroupBox(self.layoutWidget) - self.TimePeriodGroupBox.setObjectName(u'TimePeriodGroupBox') - self.verticalLayout = QtGui.QVBoxLayout(self.TimePeriodGroupBox) - self.verticalLayout.setObjectName(u'verticalLayout') - self.FirstHorizontalLayout = QtGui.QHBoxLayout() - self.FirstHorizontalLayout.setObjectName(u'FirstHorizontalLayout') - self.FirstCheckBox = QtGui.QCheckBox(self.TimePeriodGroupBox) - self.FirstCheckBox.setChecked(True) - self.FirstCheckBox.setObjectName(u'FirstCheckBox') - self.FirstHorizontalLayout.addWidget(self.FirstCheckBox) - self.FirstFromTimeEdit = QtGui.QTimeEdit(self.TimePeriodGroupBox) - self.FirstFromTimeEdit.setTime(QtCore.QTime(9, 0, 0)) - self.FirstFromTimeEdit.setObjectName(u'FirstFromTimeEdit') - self.FirstHorizontalLayout.addWidget(self.FirstFromTimeEdit) - self.FirstTo = QtGui.QLabel(self.TimePeriodGroupBox) - self.FirstTo.setObjectName(u'FirstTo') - self.FirstHorizontalLayout.addWidget(self.FirstTo) - self.FirstToTimeEdit = QtGui.QTimeEdit(self.TimePeriodGroupBox) - self.FirstToTimeEdit.setCalendarPopup(True) - self.FirstToTimeEdit.setTime(QtCore.QTime(10, 0, 0)) - self.FirstToTimeEdit.setObjectName(u'FirstToTimeEdit') - self.FirstHorizontalLayout.addWidget(self.FirstToTimeEdit) - self.verticalLayout.addLayout(self.FirstHorizontalLayout) - self.SecondHorizontalLayout = QtGui.QHBoxLayout() - self.SecondHorizontalLayout.setObjectName(u'SecondHorizontalLayout') - self.SecondCheckBox = QtGui.QCheckBox(self.TimePeriodGroupBox) - self.SecondCheckBox.setChecked(True) - self.SecondCheckBox.setObjectName(u'SecondCheckBox') - self.SecondHorizontalLayout.addWidget(self.SecondCheckBox) - self.SecondFromTimeEdit = QtGui.QTimeEdit(self.TimePeriodGroupBox) - self.SecondFromTimeEdit.setTime(QtCore.QTime(10, 45, 0)) - self.SecondFromTimeEdit.setObjectName(u'SecondFromTimeEdit') - self.SecondHorizontalLayout.addWidget(self.SecondFromTimeEdit) - self.SecondTo = QtGui.QLabel(self.TimePeriodGroupBox) - self.SecondTo.setObjectName(u'SecondTo') - self.SecondHorizontalLayout.addWidget(self.SecondTo) - self.SecondToTimeEdit = QtGui.QTimeEdit(self.TimePeriodGroupBox) - self.SecondToTimeEdit.setObjectName(u'SecondToTimeEdit') - self.SecondHorizontalLayout.addWidget(self.SecondToTimeEdit) - self.verticalLayout.addLayout(self.SecondHorizontalLayout) - self.ThirdHorizontalLayout = QtGui.QHBoxLayout() - self.ThirdHorizontalLayout.setObjectName(u'ThirdHorizontalLayout') - self.ThirdCheckBox = QtGui.QCheckBox(self.TimePeriodGroupBox) - self.ThirdCheckBox.setChecked(True) - self.ThirdCheckBox.setObjectName(u'ThirdCheckBox') - self.ThirdHorizontalLayout.addWidget(self.ThirdCheckBox) - self.ThirdFromTimeEdit = QtGui.QTimeEdit(self.TimePeriodGroupBox) - self.ThirdFromTimeEdit.setTime(QtCore.QTime(18, 30, 0)) - self.ThirdFromTimeEdit.setObjectName(u'ThirdFromTimeEdit') - self.ThirdHorizontalLayout.addWidget(self.ThirdFromTimeEdit) - self.ThirdTo = QtGui.QLabel(self.TimePeriodGroupBox) - self.ThirdTo.setObjectName(u'ThirdTo') - self.ThirdHorizontalLayout.addWidget(self.ThirdTo) - self.ThirdToTimeEdit = QtGui.QTimeEdit(self.TimePeriodGroupBox) - self.ThirdToTimeEdit.setTime(QtCore.QTime(19, 30, 0)) - self.ThirdToTimeEdit.setObjectName(u'ThirdToTimeEdit') - self.ThirdHorizontalLayout.addWidget(self.ThirdToTimeEdit) - self.verticalLayout.addLayout(self.ThirdHorizontalLayout) - self.verticalLayout_3.addWidget(self.TimePeriodGroupBox) - - self.retranslateUi(AuditDetailDialog) - QtCore.QObject.connect( - self.buttonBox, QtCore.SIGNAL(u'accepted()'), - AuditDetailDialog.accept) - QtCore.QObject.connect( - self.buttonBox, QtCore.SIGNAL(u'rejected()'), - AuditDetailDialog.close) - QtCore.QObject.connect( - self.FirstCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), - AuditDetailDialog.changeFirstService) - QtCore.QObject.connect( - self.SecondCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), - AuditDetailDialog.changeSecondService) - QtCore.QObject.connect( - self.ThirdCheckBox, QtCore.SIGNAL(u'stateChanged(int)'), - AuditDetailDialog.changeThirdService) - QtCore.QObject.connect( - self.SaveFilePushButton, QtCore.SIGNAL(u'pressed()'), - AuditDetailDialog.defineOutputLocation) - QtCore.QMetaObject.connectSlotsByName(AuditDetailDialog) - - def retranslateUi(self, AuditDetailDialog): - AuditDetailDialog.setWindowTitle(self.trUtf8(u'Audit Detail Extraction')) - self.FileGroupBox.setTitle(self.trUtf8(u'Report Location')) - self.ReportTypeGroup.setTitle(self.trUtf8(u'Report Type')) - self.SummaryReport.setText(self.trUtf8(u'Summary')) - self.DetailedReport.setText(self.trUtf8(u'Detailed')) - self.DateRangeGroupBox.setTitle(self.trUtf8(u'Select Date Range')) - self.FromDateEdit.setDisplayFormat(self.trUtf8(u'dd/MM/yyyy')) - self.To.setText(self.trUtf8(u'to')) - self.ToDateEdit.setDisplayFormat(self.trUtf8(u'dd/MM/yyyy')) - self.TimePeriodGroupBox.setTitle(self.trUtf8(u'Select Time Periods')) - self.FirstCheckBox.setText(self.trUtf8(u'First Service')) - self.FirstFromTimeEdit.setDisplayFormat(self.trUtf8(u'hh:mm AP')) - self.FirstTo.setText(self.trUtf8(u'to')) - self.FirstToTimeEdit.setDisplayFormat(self.trUtf8(u'hh:mm AP')) - self.SecondCheckBox.setText(self.trUtf8(u'Second Service')) - self.SecondFromTimeEdit.setDisplayFormat(self.trUtf8(u'hh:mm AP')) - self.SecondTo.setText(self.trUtf8(u'to')) - self.SecondToTimeEdit.setDisplayFormat(self.trUtf8(u'hh:mm AP')) - self.ThirdCheckBox.setText(self.trUtf8(u'Third Service')) - self.ThirdFromTimeEdit.setDisplayFormat(self.trUtf8(u'hh:mm AP')) - self.ThirdTo.setText(self.trUtf8(u'to')) - self.ThirdToTimeEdit.setDisplayFormat(self.trUtf8(u'hh:mm AP')) diff --git a/openlp/plugins/songusage/forms/auditdetailform.py b/openlp/plugins/songusage/forms/auditdetailform.py deleted file mode 100644 index eea300172..000000000 --- a/openlp/plugins/songusage/forms/auditdetailform.py +++ /dev/null @@ -1,121 +0,0 @@ -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 - -############################################################################### -# OpenLP - Open Source Lyrics Projection # -# --------------------------------------------------------------------------- # -# Copyright (c) 2008-2009 Raoul Snyman # -# Portions copyright (c) 2008-2009 Martin Thompson, Tim Bentley, Carsten # -# Tinggaard, Jon Tibble, Jonathan Corwin, Maikel Stuivenberg, Scott Guerrieri # -# --------------------------------------------------------------------------- # -# 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 auditdetaildialog import Ui_AuditDetailDialog - - -class AuditDetailForm(QtGui.QDialog, Ui_AuditDetailDialog): - """ - Class documentation goes here. - """ - def __init__(self, parent=None): - """ - Constructor - """ - QtGui.QDialog.__init__(self, None) - self.parent = parent - self.setupUi(self) - - def initialise(self): - self.FirstCheckBox.setCheckState( - int(self.parent.config.get_config(u'first service', QtCore.Qt.Checked))) - self.SecondCheckBox.setCheckState( - int(self.parent.config.get_config(u'second service', QtCore.Qt.Checked))) - self.ThirdCheckBox.setCheckState( - int(self.parent.config.get_config(u'third service', QtCore.Qt.Checked))) - year = QtCore.QDate().currentDate().year() - if QtCore.QDate().currentDate().month() < 9: - year -= 1 - toDate = QtCore.QDate(year, 8, 31) - fromDate = QtCore.QDate(year - 1, 9, 1) - self.FromDateEdit.setDate(fromDate) - self.ToDateEdit.setDate(toDate) - self.FileLineEdit.setText(self.parent.config.get_last_dir(1)) - self.resetWindow() - - def changeFirstService(self, value): - self.parent.config.set_config(u'first service', value) - self.resetWindow() - - def changeSecondService(self, value): - self.parent.config.set_config(u'second service', value) - self.resetWindow() - - def changeThirdService(self, value): - self.parent.config.set_config(u'third service', value) - self.resetWindow() - - def defineOutputLocation(self): - path = QtGui.QFileDialog.getExistingDirectory(self, self.trUtf8(u'Output File Location'), - self.parent.config.get_last_dir(1)) - if path != u'': - self.parent.config.set_last_dir(path, 1) - self.FileLineEdit.setText(path) - - def resetWindow(self): - if self.FirstCheckBox.checkState() == QtCore.Qt.Unchecked: - self.FirstFromTimeEdit.setEnabled(False) - self.FirstToTimeEdit.setEnabled(False) - else: - self.FirstFromTimeEdit.setEnabled(True) - self.FirstToTimeEdit.setEnabled(True) - if self.SecondCheckBox.checkState() == QtCore.Qt.Unchecked: - self.SecondFromTimeEdit.setEnabled(False) - self.SecondToTimeEdit.setEnabled(False) - else: - self.SecondFromTimeEdit.setEnabled(True) - self.SecondToTimeEdit.setEnabled(True) - if self.ThirdCheckBox.checkState() == QtCore.Qt.Unchecked: - self.ThirdFromTimeEdit.setEnabled(False) - self.ThirdToTimeEdit.setEnabled(False) - else: - self.ThirdFromTimeEdit.setEnabled(True) - self.ThirdToTimeEdit.setEnabled(True) - - def accept(self): - print(self.DetailedReport.isChecked()) - print(self.SummaryReport.isChecked()) - print(self.FromDateEdit.date()) - print(self.ToDateEdit.date()) - if self.DetailedReport.isChecked(): - self.detailedReport() - else: - self.summaryReport() - self.close() - - def detailedReport(self): - print("detailed") - filename = u'audit_det_%s_%s.txt' % \ - (self.FromDateEdit.date().toString(u'ddMMyyyy'), - self.ToDateEdit.date().toString(u'ddMMyyyy')) - print(filename) - - def summaryReport(self): - print("summary") - filename = u'audit_sum_%s_%s.txt' % \ - (self.FromDateEdit.date().toString(u'ddMMyyyy'), - self.ToDateEdit.date().toString(u'ddMMyyyy')) - print(filename) diff --git a/scripts/jenkins_script.py b/scripts/jenkins_script.py deleted file mode 100755 index 40c06df03..000000000 --- a/scripts/jenkins_script.py +++ /dev/null @@ -1,258 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4 - -########################################################################## -# OpenLP - Open Source Lyrics Projection # -# ---------------------------------------------------------------------- # -# Copyright (c) 2008-2019 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, either version 3 of the License, or # -# (at your option) any later version. # -# # -# 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, see