forked from openlp/openlp
Add ServiceItemNoteForm and handling
This commit is contained in:
parent
b949ab0054
commit
6bff7936eb
@ -32,13 +32,13 @@ from logging import FileHandler
|
|||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
|
log = logging.getLogger()
|
||||||
|
|
||||||
from openlp.core.lib import Receiver, str_to_bool
|
from openlp.core.lib import Receiver, str_to_bool
|
||||||
from openlp.core.resources import qInitResources
|
from openlp.core.resources import qInitResources
|
||||||
from openlp.core.ui import MainWindow, SplashScreen, ScreenList
|
from openlp.core.ui import MainWindow, SplashScreen, ScreenList
|
||||||
from openlp.core.utils import get_config_directory, ConfigHelper
|
from openlp.core.utils import get_config_directory, ConfigHelper
|
||||||
|
|
||||||
log = logging.getLogger()
|
|
||||||
|
|
||||||
application_stylesheet = u"""
|
application_stylesheet = u"""
|
||||||
QMainWindow::separator
|
QMainWindow::separator
|
||||||
{
|
{
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
from serviceitemform import ServiceItemNoteForm
|
||||||
from screen import ScreenList
|
from screen import ScreenList
|
||||||
from maindisplay import MainDisplay
|
from maindisplay import MainDisplay
|
||||||
from amendthemeform import AmendThemeForm
|
from amendthemeform import AmendThemeForm
|
||||||
@ -40,4 +41,4 @@ from mainwindow import MainWindow
|
|||||||
|
|
||||||
__all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'MainWindow',
|
__all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'MainWindow',
|
||||||
'MainDisplay', 'SlideController', 'ServiceManager', 'ThemeManager',
|
'MainDisplay', 'SlideController', 'ServiceManager', 'ThemeManager',
|
||||||
'AmendThemeForm', 'MediaDockManager']
|
'AmendThemeForm', 'MediaDockManager', 'ServiceItemNoteForm']
|
||||||
|
34
openlp/core/ui/serviceitemdialog.py
Normal file
34
openlp/core/ui/serviceitemdialog.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Form implementation generated from reading ui file 'serviceitemdialog.ui'
|
||||||
|
#
|
||||||
|
# Created: Tue Mar 2 20:17:21 2010
|
||||||
|
# by: PyQt4 UI code generator 4.7
|
||||||
|
#
|
||||||
|
# WARNING! All changes made in this file will be lost!
|
||||||
|
|
||||||
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
|
class Ui_ServiceNoteEdit(object):
|
||||||
|
def setupUi(self, ServiceNoteEdit):
|
||||||
|
ServiceNoteEdit.setObjectName("ServiceNoteEdit")
|
||||||
|
ServiceNoteEdit.resize(400, 243)
|
||||||
|
self.widget = QtGui.QWidget(ServiceNoteEdit)
|
||||||
|
self.widget.setGeometry(QtCore.QRect(20, 10, 361, 223))
|
||||||
|
self.widget.setObjectName("widget")
|
||||||
|
self.verticalLayout = QtGui.QVBoxLayout(self.widget)
|
||||||
|
self.verticalLayout.setObjectName("verticalLayout")
|
||||||
|
self.textEdit = QtGui.QTextEdit(self.widget)
|
||||||
|
self.textEdit.setObjectName("textEdit")
|
||||||
|
self.verticalLayout.addWidget(self.textEdit)
|
||||||
|
self.buttonBox = QtGui.QDialogButtonBox(self.widget)
|
||||||
|
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Save)
|
||||||
|
self.buttonBox.setObjectName("buttonBox")
|
||||||
|
self.verticalLayout.addWidget(self.buttonBox)
|
||||||
|
|
||||||
|
self.retranslateUi(ServiceNoteEdit)
|
||||||
|
QtCore.QMetaObject.connectSlotsByName(ServiceNoteEdit)
|
||||||
|
|
||||||
|
def retranslateUi(self, ServiceNoteEdit):
|
||||||
|
ServiceNoteEdit.setWindowTitle(QtGui.QApplication.translate("ServiceNoteEdit", "Service Item Notes", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
|
44
openlp/core/ui/serviceitemform.py
Normal file
44
openlp/core/ui/serviceitemform.py
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# OpenLP - Open Source Lyrics Projection #
|
||||||
|
# --------------------------------------------------------------------------- #
|
||||||
|
# Copyright (c) 2008-2010 Raoul Snyman #
|
||||||
|
# Portions copyright (c) 2008-2010 Tim Bentley, Jonathan Corwin, Michael #
|
||||||
|
# Gorven, Scott Guerrieri, Maikel Stuivenberg, Martin Thompson, Jon Tibble, #
|
||||||
|
# Carsten Tinggaard #
|
||||||
|
# --------------------------------------------------------------------------- #
|
||||||
|
# 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 serviceitemdialog import Ui_ServiceNoteEdit
|
||||||
|
|
||||||
|
class ServiceItemNoteForm(QtGui.QDialog, Ui_ServiceNoteEdit):
|
||||||
|
"""
|
||||||
|
This is the form that is used to edit the verses of the song.
|
||||||
|
"""
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
"""
|
||||||
|
Constructor
|
||||||
|
"""
|
||||||
|
QtGui.QDialog.__init__(self, parent)
|
||||||
|
self.setupUi(self)
|
||||||
|
QtCore.QObject.connect(self.buttonBox,
|
||||||
|
QtCore.SIGNAL(u'accepted()'),
|
||||||
|
self.accept)
|
||||||
|
QtCore.QObject.connect(self.buttonBox,
|
||||||
|
QtCore.SIGNAL(u'rejected()'),
|
||||||
|
self.reject)
|
@ -31,9 +31,11 @@ import zipfile
|
|||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
|
|
||||||
from openlp.core.lib import PluginConfig, OpenLPToolbar, ServiceItem, \
|
from openlp.core.lib import PluginConfig, OpenLPToolbar, ServiceItem, \
|
||||||
contextMenuAction, contextMenuSeparator, contextMenu, Receiver, \
|
contextMenuAction, contextMenuSeparator, contextMenu, Receiver, \
|
||||||
contextMenu, str_to_bool
|
contextMenu, str_to_bool
|
||||||
|
from openlp.core.ui import ServiceItemNoteForm
|
||||||
|
|
||||||
class ServiceManagerList(QtGui.QTreeWidget):
|
class ServiceManagerList(QtGui.QTreeWidget):
|
||||||
|
|
||||||
@ -56,6 +58,11 @@ class ServiceManagerList(QtGui.QTreeWidget):
|
|||||||
else:
|
else:
|
||||||
pos = parentitem.data(0, QtCore.Qt.UserRole).toInt()[0]
|
pos = parentitem.data(0, QtCore.Qt.UserRole).toInt()[0]
|
||||||
serviceItem = self.parent.serviceItems[pos - 1]
|
serviceItem = self.parent.serviceItems[pos - 1]
|
||||||
|
self.parent.menuServiceItem = serviceItem
|
||||||
|
if serviceItem[u'service_item'].is_text():
|
||||||
|
self.parent.themeMenu.menuAction().setVisible(True)
|
||||||
|
else:
|
||||||
|
self.parent.themeMenu.menuAction().setVisible(False)
|
||||||
if serviceItem[u'service_item'].edit_enabled:
|
if serviceItem[u'service_item'].edit_enabled:
|
||||||
self.parent.editAction.setVisible(True)
|
self.parent.editAction.setVisible(True)
|
||||||
else:
|
else:
|
||||||
@ -128,6 +135,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
#Indicates if remoteTriggering is active. If it is the next addServiceItem call
|
#Indicates if remoteTriggering is active. If it is the next addServiceItem call
|
||||||
#will replace the currently selected one.
|
#will replace the currently selected one.
|
||||||
self.remoteEditTriggered = False
|
self.remoteEditTriggered = False
|
||||||
|
self.serviceItemNoteForm = ServiceItemNoteForm()
|
||||||
#start with the layout
|
#start with the layout
|
||||||
self.Layout = QtGui.QVBoxLayout(self)
|
self.Layout = QtGui.QVBoxLayout(self)
|
||||||
self.Layout.setSpacing(0)
|
self.Layout.setSpacing(0)
|
||||||
@ -180,8 +188,8 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
self.ServiceManagerList, ':/services/service_edit.png',
|
self.ServiceManagerList, ':/services/service_edit.png',
|
||||||
self.trUtf8('&Edit Item'), self.remoteEdit)
|
self.trUtf8('&Edit Item'), self.remoteEdit)
|
||||||
self.noteAction = contextMenuAction(
|
self.noteAction = contextMenuAction(
|
||||||
self.ServiceManagerList, ':/system/system_live.png',
|
self.ServiceManagerList, ':/services/service_notes.png',
|
||||||
self.trUtf8('&Notes'), self.remoteEdit)
|
self.trUtf8('&Notes'), self.onServiceItemNoteForm)
|
||||||
self.ServiceManagerList.addAction(self.editAction)
|
self.ServiceManagerList.addAction(self.editAction)
|
||||||
self.ServiceManagerList.addAction(self.noteAction)
|
self.ServiceManagerList.addAction(self.noteAction)
|
||||||
self.ServiceManagerList.addAction(contextMenuSeparator(
|
self.ServiceManagerList.addAction(contextMenuSeparator(
|
||||||
@ -199,10 +207,10 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
self.trUtf8('&Remove from Service'), self.onDeleteFromService))
|
self.trUtf8('&Remove from Service'), self.onDeleteFromService))
|
||||||
self.ServiceManagerList.addAction(contextMenuSeparator(
|
self.ServiceManagerList.addAction(contextMenuSeparator(
|
||||||
self.ServiceManagerList))
|
self.ServiceManagerList))
|
||||||
self.ThemeMenu = contextMenu(
|
self.themeMenu = contextMenu(
|
||||||
self.ServiceManagerList, '',
|
self.ServiceManagerList, '',
|
||||||
self.trUtf8('&Change Item Theme'))
|
self.trUtf8('&Change Item Theme'))
|
||||||
self.ServiceManagerList.addAction(self.ThemeMenu.menuAction())
|
self.ServiceManagerList.addAction(self.themeMenu.menuAction())
|
||||||
self.Layout.addWidget(self.ServiceManagerList)
|
self.Layout.addWidget(self.ServiceManagerList)
|
||||||
# Add the bottom toolbar
|
# Add the bottom toolbar
|
||||||
self.OrderToolbar = OpenLPToolbar(self)
|
self.OrderToolbar = OpenLPToolbar(self)
|
||||||
@ -226,8 +234,6 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
# Connect up our signals and slots
|
# Connect up our signals and slots
|
||||||
QtCore.QObject.connect(self.ThemeComboBox,
|
QtCore.QObject.connect(self.ThemeComboBox,
|
||||||
QtCore.SIGNAL(u'activated(int)'), self.onThemeComboBoxSelected)
|
QtCore.SIGNAL(u'activated(int)'), self.onThemeComboBoxSelected)
|
||||||
QtCore.QObject.connect(self.ServiceManagerList,
|
|
||||||
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.makeLive)
|
|
||||||
QtCore.QObject.connect(self.ServiceManagerList,
|
QtCore.QObject.connect(self.ServiceManagerList,
|
||||||
QtCore.SIGNAL(u'itemCollapsed(QTreeWidgetItem*)'), self.collapsed)
|
QtCore.SIGNAL(u'itemCollapsed(QTreeWidgetItem*)'), self.collapsed)
|
||||||
QtCore.QObject.connect(self.ServiceManagerList,
|
QtCore.QObject.connect(self.ServiceManagerList,
|
||||||
@ -249,6 +255,14 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
def onPresentationTypes(self, presentation_types):
|
def onPresentationTypes(self, presentation_types):
|
||||||
self.presentation_types = presentation_types
|
self.presentation_types = presentation_types
|
||||||
|
|
||||||
|
def onServiceItemNoteForm(self):
|
||||||
|
item, count = self.findServiceItem()
|
||||||
|
self.serviceItemNoteForm.textEdit.setPlainText(
|
||||||
|
self.menuServiceItem[u'service_item'].notes)
|
||||||
|
if self.serviceItemNoteForm.exec_():
|
||||||
|
self.menuServiceItem[u'service_item'].notes = \
|
||||||
|
self.serviceItemNoteForm.textEdit.toPlainText()
|
||||||
|
|
||||||
def nextItem(self):
|
def nextItem(self):
|
||||||
"""
|
"""
|
||||||
Called by the SlideController to select the
|
Called by the SlideController to select the
|
||||||
@ -734,7 +748,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
A list of current themes to be displayed
|
A list of current themes to be displayed
|
||||||
"""
|
"""
|
||||||
self.ThemeComboBox.clear()
|
self.ThemeComboBox.clear()
|
||||||
self.ThemeMenu.clear()
|
self.themeMenu.clear()
|
||||||
self.ThemeComboBox.addItem(u'')
|
self.ThemeComboBox.addItem(u'')
|
||||||
for theme in theme_list:
|
for theme in theme_list:
|
||||||
self.ThemeComboBox.addItem(theme)
|
self.ThemeComboBox.addItem(theme)
|
||||||
@ -742,7 +756,7 @@ class ServiceManager(QtGui.QWidget):
|
|||||||
self.ServiceManagerList,
|
self.ServiceManagerList,
|
||||||
None,
|
None,
|
||||||
theme , self.onThemeChangeAction)
|
theme , self.onThemeChangeAction)
|
||||||
self.ThemeMenu.addAction(action)
|
self.themeMenu.addAction(action)
|
||||||
id = self.ThemeComboBox.findText(self.service_theme,
|
id = self.ThemeComboBox.findText(self.service_theme,
|
||||||
QtCore.Qt.MatchExactly)
|
QtCore.Qt.MatchExactly)
|
||||||
# Not Found
|
# Not Found
|
||||||
|
@ -182,7 +182,7 @@ class SlideController(QtGui.QWidget):
|
|||||||
self.trUtf8('Move to live'), self.onGoLive)
|
self.trUtf8('Move to live'), self.onGoLive)
|
||||||
self.Toolbar.addToolbarSeparator(u'Close Separator')
|
self.Toolbar.addToolbarSeparator(u'Close Separator')
|
||||||
self.Toolbar.addToolbarButton(
|
self.Toolbar.addToolbarButton(
|
||||||
u'Edit Song', u':/songs/song_edit.png',
|
u'Edit Song', u':/services/service_edit.png',
|
||||||
self.trUtf8('Edit and re-preview Song'), self.onEditSong)
|
self.trUtf8('Edit and re-preview Song'), self.onEditSong)
|
||||||
if isLive:
|
if isLive:
|
||||||
self.Toolbar.addToolbarSeparator(u'Loop Separator')
|
self.Toolbar.addToolbarSeparator(u'Loop Separator')
|
||||||
|
41
resources/forms/serviceitemdialog.ui
Normal file
41
resources/forms/serviceitemdialog.ui
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>ServiceNoteEdit</class>
|
||||||
|
<widget class="QWidget" name="ServiceNoteEdit">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>400</width>
|
||||||
|
<height>243</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Service Item Notes</string>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>20</x>
|
||||||
|
<y>10</y>
|
||||||
|
<width>361</width>
|
||||||
|
<height>223</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="textEdit"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
Loading…
Reference in New Issue
Block a user