forked from openlp/openlp
Updates to Presentations etc
bzr-revno: 538
This commit is contained in:
commit
e17b12839f
@ -178,6 +178,8 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
"""
|
||||
# Add a toolbar
|
||||
self.addToolbar()
|
||||
#Allow the plugin to define it's own header
|
||||
self.addStartHeaderBar()
|
||||
# Create buttons for the toolbar
|
||||
## File Button ##
|
||||
if self.hasFileIcon:
|
||||
@ -190,13 +192,13 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
self.addToolbarButton(
|
||||
translate(self.TranslationContext, u'New '+self.PluginTextShort),
|
||||
translate(self.TranslationContext, u'Add a new '+self.PluginTextShort),
|
||||
u':'+self.IconPath+ u'_load.png', self.onNewClick, self.PluginTextShort+u'NewItem')
|
||||
u':'+self.IconPath+ u'_new.png', self.onNewClick, self.PluginTextShort+u'NewItem')
|
||||
## Edit Button ##
|
||||
if self.hasEditIcon:
|
||||
self.addToolbarButton(
|
||||
translate(self.TranslationContext, u'Edit '+self.PluginTextShort),
|
||||
translate(self.TranslationContext, u'Edit the selected '+self.PluginTextShort),
|
||||
u':'+self.IconPath+ u'_load.png', self.onEditClick, self.PluginTextShort+u'EditItem')
|
||||
u':'+self.IconPath+ u'_edit.png', self.onEditClick, self.PluginTextShort+u'EditItem')
|
||||
## Delete Button ##
|
||||
self.addToolbarButton(
|
||||
translate(self.TranslationContext, u'Delete '+self.PluginTextShort),
|
||||
@ -220,7 +222,7 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
translate(self.TranslationContext, u'Add the selected item(s) to the service'),
|
||||
u':/system/system_add.png', self.onAddClick, self.PluginTextShort+u'AddItem')
|
||||
#Allow the plugin to define it's own header
|
||||
self.addHeaderBar()
|
||||
self.addEndHeaderBar()
|
||||
#Add the List widget
|
||||
self.ListView = self.ListViewWithDnD_class()
|
||||
self.ListView.uniformItemSizes = True
|
||||
@ -239,7 +241,7 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
':' +self.IconPath+u'_new.png',
|
||||
translate(self.TranslationContext, u'&Edit '+self.PluginTextShort),
|
||||
self.onEditClick))
|
||||
self.ListView.addAction(self.contextMenuSeparator(self.SongListWidget))
|
||||
self.ListView.addAction(contextMenuSeparator(self.ListView))
|
||||
self.ListView.addAction(contextMenuAction(
|
||||
self.ListView, ':/system/system_preview.png',
|
||||
translate(self.TranslationContext, u'&Preview '+self.PluginTextShort),
|
||||
@ -263,7 +265,16 @@ class MediaManagerItem(QtGui.QWidget):
|
||||
"""
|
||||
pass
|
||||
|
||||
def addHeaderBar(self):
|
||||
def addStartHeaderBar(self):
|
||||
"""
|
||||
Slot at start of toolbar for plugin to addwidgets
|
||||
"""
|
||||
pass
|
||||
|
||||
def addEndHeaderBar(self):
|
||||
"""
|
||||
Slot at end of toolbar for plugin to add widgets
|
||||
"""
|
||||
pass
|
||||
|
||||
def onFileClick(self):
|
||||
|
@ -519,7 +519,7 @@ class Renderer(object):
|
||||
self.footerFont = QtGui.QFont(self._theme.font_footer_name,
|
||||
int(self._theme.font_footer_proportion), # size
|
||||
int(footer_weight), # weight
|
||||
self._theme.font_footer_italics)# italic
|
||||
self._theme.font_footer_italics) # italic
|
||||
self.footerFont.setPixelSize(int(self._theme.font_footer_proportion))
|
||||
main_weight = 50
|
||||
if self._theme.font_main_weight == u'Bold':
|
||||
|
@ -88,13 +88,13 @@ class ServiceItem(object):
|
||||
The render method is what renders the frames for the screen.
|
||||
"""
|
||||
log.debug(u'Render called')
|
||||
self.frames = []
|
||||
if self.service_item_type == ServiceType.Text:
|
||||
log.debug(u'Formatting slides')
|
||||
if self.theme == None:
|
||||
self.RenderManager.set_override_theme(None)
|
||||
else:
|
||||
self.RenderManager.set_override_theme(self.theme)
|
||||
log.debug(u'Formatting slides')
|
||||
self.frames = []
|
||||
if self.service_item_type == ServiceType.Text:
|
||||
for slide in self.service_frames:
|
||||
formated = self.RenderManager.format_slide(slide[u'raw_slide'])
|
||||
for format in formated:
|
||||
|
@ -34,13 +34,22 @@ class SettingsManager(object):
|
||||
self.width = self.screen[u'size'].width()
|
||||
self.height = self.screen[u'size'].height()
|
||||
self.mainwindow_height = self.height * 0.8
|
||||
self.mainwindow_docbars = self.width / 5
|
||||
if self.mainwindow_docbars > 300:
|
||||
self.mainwindow_docbars > 300
|
||||
self.mainwindow_slidecontroller = self.width / 6
|
||||
self.slidecontroller = ((self.width - (self.mainwindow_docbars * 3 ) / 2 ) / 2 ) -100
|
||||
mainwindow_docbars = self.width / 5
|
||||
self.mainwindow_left = 0
|
||||
self.mainwindow_right = 0
|
||||
if mainwindow_docbars > 300:
|
||||
self.mainwindow_left = 300
|
||||
self.mainwindow_right = 300
|
||||
|
||||
self.mainwindow_left = int( ConfigHelper.get_config(
|
||||
u'user interface', u'mediamanager left', self.mainwindow_left))
|
||||
self.mainwindow_right = int( ConfigHelper.get_config(
|
||||
u'user interface', u'mediamanager right', self.mainwindow_right))
|
||||
print self.mainwindow_left, self.mainwindow_right
|
||||
|
||||
self.slidecontroller = (self.width - (self.mainwindow_left + self.mainwindow_right) - 100 ) / 2
|
||||
self.slidecontroller_image = self.slidecontroller - 50
|
||||
print self.width, self.mainwindow_docbars, self.slidecontroller, self.slidecontroller_image
|
||||
print self.width, mainwindow_docbars, self.slidecontroller, self.slidecontroller_image
|
||||
|
||||
self.showMediaManager = str_to_bool( ConfigHelper.get_config(
|
||||
u'user interface', u'display mediamanager', True))
|
||||
@ -67,3 +76,7 @@ class SettingsManager(object):
|
||||
ConfigHelper.set_config(u'user interface', u'display previewpanel',
|
||||
isVisible)
|
||||
|
||||
def setDockbarLeft(self, value):
|
||||
#ConfigHelper.set_config(u'user interface', u'mediamanager left', value)
|
||||
pass
|
||||
|
||||
|
@ -36,6 +36,15 @@ from openlp.core.lib import translate, Plugin, MediaManagerItem, \
|
||||
|
||||
from openlp.core.utils import ConfigHelper
|
||||
|
||||
class mediaDock(QtGui.QDockWidget):
|
||||
def __init__(self, parent=None, name=None):
|
||||
QtGui.QDockWidget.__init__(self, parent)
|
||||
self.parent = parent
|
||||
|
||||
def resizeEvent(self, resizeEvent):
|
||||
if resizeEvent.size().width() != resizeEvent.oldSize().width():
|
||||
self.parent.settingsmanager.setDockbarLeft(resizeEvent.size().width())
|
||||
|
||||
class Ui_MainWindow(object):
|
||||
def setupUi(self, MainWindow):
|
||||
"""
|
||||
@ -107,7 +116,7 @@ class Ui_MainWindow(object):
|
||||
self.DefaultThemeLabel.setObjectName(u'DefaultThemeLabel')
|
||||
self.StatusBar.addPermanentWidget(self.DefaultThemeLabel)
|
||||
# Create the MediaManager
|
||||
self.MediaManagerDock = QtGui.QDockWidget(MainWindow)
|
||||
self.MediaManagerDock = mediaDock(MainWindow)
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(u':/system/system_mediamanager.png'),
|
||||
QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
@ -115,7 +124,15 @@ class Ui_MainWindow(object):
|
||||
self.MediaManagerDock.setFloating(False)
|
||||
self.MediaManagerDock.setObjectName(u'MediaManagerDock')
|
||||
self.MediaManagerDock.setMinimumWidth(
|
||||
self.settingsmanager.mainwindow_docbars)
|
||||
self.settingsmanager.mainwindow_left)
|
||||
|
||||
# self.MediaManagerDock.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored,
|
||||
# QtGui.QSizePolicy.Maximum))
|
||||
# geometry = self.MediaManagerDock.geometry()
|
||||
# geometry.setWidth(self.settingsmanager.mainwindow_left)
|
||||
# self.MediaManagerDock.setGeometry(geometry)
|
||||
# self.MediaManagerDock.setMinimumWidth(10)
|
||||
|
||||
self.MediaManagerContents = QtGui.QWidget()
|
||||
self.MediaManagerContents.setObjectName(u'MediaManagerContents')
|
||||
self.MediaManagerLayout = QtGui.QHBoxLayout(self.MediaManagerContents)
|
||||
@ -139,7 +156,7 @@ class Ui_MainWindow(object):
|
||||
QtGui.QDockWidget.AllDockWidgetFeatures)
|
||||
self.ServiceManagerDock.setObjectName(u'ServiceManagerDock')
|
||||
self.ServiceManagerDock.setMinimumWidth(
|
||||
self.settingsmanager.mainwindow_docbars)
|
||||
self.settingsmanager.mainwindow_right)
|
||||
self.ServiceManagerContents = ServiceManager(self)
|
||||
self.ServiceManagerDock.setWidget(self.ServiceManagerContents)
|
||||
MainWindow.addDockWidget(
|
||||
|
@ -75,7 +75,7 @@ class SlideController(QtGui.QWidget):
|
||||
self.parent = parent
|
||||
self.image_list = [u'Start Loop', u'Stop Loop', u'Loop Separator', u'Image SpinBox']
|
||||
self.timer_id = 0
|
||||
self.item = None
|
||||
self.commandItem = None
|
||||
self.Panel = QtGui.QWidget(parent.ControlSplitter)
|
||||
self.Splitter = QtGui.QSplitter(self.Panel)
|
||||
self.Splitter.setOrientation(QtCore.Qt.Vertical)
|
||||
@ -238,9 +238,9 @@ class SlideController(QtGui.QWidget):
|
||||
"""
|
||||
log.debug(u'addServiceItem')
|
||||
#If old item was a command tell it to stop
|
||||
if self.item is not None and self.item.service_item_type == ServiceType.Command:
|
||||
Receiver().send_message(u'%s_stop'% self.item.name.lower())
|
||||
self.item = item
|
||||
if self.commandItem is not None and self.commandItem.service_item_type == ServiceType.Command:
|
||||
Receiver().send_message(u'%s_stop'% self.commandItem.name.lower())
|
||||
self.commandItem = item
|
||||
item.render()
|
||||
self.enableToolBar(item)
|
||||
if item.service_item_type == ServiceType.Command:
|
||||
@ -257,9 +257,9 @@ class SlideController(QtGui.QWidget):
|
||||
"""
|
||||
log.debug(u'addServiceItem')
|
||||
#If old item was a command tell it to stop
|
||||
if self.item is not None and self.item.service_item_type == ServiceType.Command:
|
||||
Receiver().send_message(u'%s_stop'% self.item.name.lower())
|
||||
self.item = item
|
||||
if self.commandItem is not None and self.commandItem.service_item_type == ServiceType.Command:
|
||||
Receiver().send_message(u'%s_stop'% self.commandItem.name.lower())
|
||||
self.commandItem = item
|
||||
self.enableToolBar(item)
|
||||
if item.service_item_type == ServiceType.Command:
|
||||
Receiver().send_message(u'%s_start'%item.name.lower(), \
|
||||
@ -334,8 +334,8 @@ class SlideController(QtGui.QWidget):
|
||||
"""
|
||||
Go to the next slide.
|
||||
"""
|
||||
if self.item.service_item_type == ServiceType.Command:
|
||||
Receiver().send_message(u'%s_next'% self.item.name.lower())
|
||||
if self.commandItem.service_item_type == ServiceType.Command:
|
||||
Receiver().send_message(u'%s_next'% self.commandItem.name.lower())
|
||||
else:
|
||||
row = self.PreviewListWidget.currentRow() + 1
|
||||
if row == self.PreviewListWidget.rowCount():
|
||||
@ -347,8 +347,8 @@ class SlideController(QtGui.QWidget):
|
||||
"""
|
||||
Go to the previous slide.
|
||||
"""
|
||||
if self.item.service_item_type == ServiceType.Command:
|
||||
Receiver().send_message(u'%s_previous'% self.item.name.lower())
|
||||
if self.commandItem.service_item_type == ServiceType.Command:
|
||||
Receiver().send_message(u'%s_previous'% self.commandItem.name.lower())
|
||||
else:
|
||||
row = self.PreviewListWidget.currentRow() - 1
|
||||
if row == -1:
|
||||
@ -379,6 +379,3 @@ class SlideController(QtGui.QWidget):
|
||||
def timerEvent(self, event):
|
||||
if event.timerId() == self.timer_id:
|
||||
self.onSlideSelectedNext()
|
||||
|
||||
|
||||
|
||||
|
@ -184,14 +184,14 @@ class BiblesTab(SettingsTab):
|
||||
check_state = self.NewChaptersCheckBox.checkState()
|
||||
self.show_new_chapters = False
|
||||
# we have a set value convert to True/False
|
||||
if check_state == 2:
|
||||
if check_state == QtCore.Qt.Checked:
|
||||
self.show_new_chapters = True
|
||||
|
||||
def onBibleSearchCheckBoxChanged(self):
|
||||
check_state = self.BibleSearchCheckBox.checkState()
|
||||
self.bible_search = False
|
||||
# we have a set value convert to True/False
|
||||
if check_state == 2:
|
||||
if check_state == QtCore.Qt.Checked:
|
||||
self.bible_search = True
|
||||
|
||||
def load(self):
|
||||
|
@ -28,10 +28,18 @@ from PyQt4 import QtCore, QtGui
|
||||
|
||||
from forms import EditCustomForm
|
||||
from openlp.core.lib import Plugin
|
||||
from openlp.plugins.custom.lib import CustomManager, CustomTab, CustomMediaItem
|
||||
from openlp.plugins.custom.lib import CustomManager, CustomMediaItem
|
||||
|
||||
|
||||
class CustomPlugin(Plugin):
|
||||
"""
|
||||
This plugin enables the user to create, edit and display
|
||||
custom slide shows. Custom shows are divided into slides.
|
||||
Each show is able to have it's own theme.
|
||||
Custom shows are designed to replace the use of songs where
|
||||
the songs plugin has become restrictive. Examples could be
|
||||
Welcome slides, Bible Reading information, Orders of service.
|
||||
"""
|
||||
|
||||
global log
|
||||
log=logging.getLogger(u'CustomPlugin')
|
||||
|
@ -1,6 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||
|
||||
###############################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# --------------------------------------------------------------------------- #
|
||||
@ -30,7 +29,7 @@ class Ui_customEditDialog(object):
|
||||
customEditDialog.setObjectName(u'customEditDialog')
|
||||
customEditDialog.resize(590, 541)
|
||||
icon = QtGui.QIcon()
|
||||
icon.addPixmap(QtGui.QPixmap(u':/icon/openlp-logo-16x16.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
icon.addPixmap(QtGui.QPixmap(u':/icon/openlp.org-icon-32.bmp'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||
customEditDialog.setWindowIcon(icon)
|
||||
self.gridLayout = QtGui.QGridLayout(customEditDialog)
|
||||
self.gridLayout.setObjectName(u'gridLayout')
|
||||
@ -46,8 +45,8 @@ class Ui_customEditDialog(object):
|
||||
self.horizontalLayout_4 = QtGui.QHBoxLayout()
|
||||
self.horizontalLayout_4.setObjectName(u'horizontalLayout_4')
|
||||
self.VerseListView = QtGui.QListWidget(customEditDialog)
|
||||
self.VerseListView.setObjectName(u'VerseListView')
|
||||
self.VerseListView.setAlternatingRowColors(True)
|
||||
self.VerseListView.setObjectName(u'VerseListView')
|
||||
self.horizontalLayout_4.addWidget(self.VerseListView)
|
||||
self.verticalLayout = QtGui.QVBoxLayout()
|
||||
self.verticalLayout.setObjectName(u'verticalLayout')
|
||||
@ -69,47 +68,49 @@ class Ui_customEditDialog(object):
|
||||
self.gridLayout.addLayout(self.horizontalLayout_4, 1, 0, 1, 1)
|
||||
self.EditWidget = QtGui.QWidget(customEditDialog)
|
||||
self.EditWidget.setObjectName(u'EditWidget')
|
||||
self.EditLayout = QtGui.QHBoxLayout(self.EditWidget)
|
||||
self.EditLayout.setSpacing(8)
|
||||
self.EditLayout.setMargin(0)
|
||||
self.EditLayout.setObjectName(u'EditLayout')
|
||||
self.EditLayout_3 = QtGui.QHBoxLayout(self.EditWidget)
|
||||
self.EditLayout_3.setSpacing(8)
|
||||
self.EditLayout_3.setMargin(0)
|
||||
self.EditLayout_3.setObjectName(u'EditLayout_3')
|
||||
self.VerseTextEdit = QtGui.QTextEdit(self.EditWidget)
|
||||
self.VerseTextEdit.setObjectName(u'VerseTextEdit')
|
||||
self.EditLayout.addWidget(self.VerseTextEdit)
|
||||
self.ButtonWidget = QtGui.QWidget(self.EditWidget)
|
||||
self.ButtonWidget.setObjectName(u'ButtonWidget')
|
||||
self.ButtonLayout = QtGui.QVBoxLayout(self.ButtonWidget)
|
||||
self.ButtonLayout.setSpacing(8)
|
||||
self.ButtonLayout.setMargin(0)
|
||||
self.ButtonLayout.setObjectName(u'ButtonLayout')
|
||||
self.AddButton = QtGui.QPushButton(self.ButtonWidget)
|
||||
self.EditLayout_3.addWidget(self.VerseTextEdit)
|
||||
self.ButtonWidge = QtGui.QWidget(self.EditWidget)
|
||||
self.ButtonWidge.setObjectName(u'ButtonWidge')
|
||||
self.verticalLayout_2 = QtGui.QVBoxLayout(self.ButtonWidge)
|
||||
self.verticalLayout_2.setObjectName(u'verticalLayout_2')
|
||||
self.AddButton = QtGui.QPushButton(self.ButtonWidge)
|
||||
self.AddButton.setObjectName(u'AddButton')
|
||||
self.ButtonLayout.addWidget(self.AddButton)
|
||||
self.EditButton = QtGui.QPushButton(self.ButtonWidget)
|
||||
self.AddButton.setToolTip(translate(u'customEditDialog', u'Add new slide at bottom'))
|
||||
self.verticalLayout_2.addWidget(self.AddButton)
|
||||
self.EditButton = QtGui.QPushButton(self.ButtonWidge)
|
||||
self.EditButton.setObjectName(u'EditButton')
|
||||
self.ButtonLayout.addWidget(self.EditButton)
|
||||
self.SaveButton = QtGui.QPushButton(self.ButtonWidget)
|
||||
self.verticalLayout_2.addWidget(self.EditButton)
|
||||
self.EditAllButton = QtGui.QPushButton(self.ButtonWidge)
|
||||
self.EditAllButton.setObjectName(u'EditAllButton')
|
||||
self.verticalLayout_2.addWidget(self.EditAllButton)
|
||||
self.SaveButton = QtGui.QPushButton(self.ButtonWidge)
|
||||
self.SaveButton.setObjectName(u'SaveButton')
|
||||
self.ButtonLayout.addWidget(self.SaveButton)
|
||||
self.DeleteButton = QtGui.QPushButton(self.ButtonWidget)
|
||||
self.verticalLayout_2.addWidget(self.SaveButton)
|
||||
self.DeleteButton = QtGui.QPushButton(self.ButtonWidge)
|
||||
self.DeleteButton.setObjectName(u'DeleteButton')
|
||||
self.ButtonLayout.addWidget(self.DeleteButton)
|
||||
self.ClearButton = QtGui.QPushButton(self.ButtonWidget)
|
||||
self.verticalLayout_2.addWidget(self.DeleteButton)
|
||||
self.ClearButton = QtGui.QPushButton(self.ButtonWidge)
|
||||
self.ClearButton.setObjectName(u'ClearButton')
|
||||
self.ButtonLayout.addWidget(self.ClearButton)
|
||||
self.verticalLayout_2.addWidget(self.ClearButton)
|
||||
spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
|
||||
self.ButtonLayout.addItem(spacerItem1)
|
||||
self.EditLayout.addWidget(self.ButtonWidget)
|
||||
self.verticalLayout_2.addItem(spacerItem1)
|
||||
self.EditLayout_3.addWidget(self.ButtonWidge)
|
||||
self.gridLayout.addWidget(self.EditWidget, 2, 0, 1, 1)
|
||||
self.horizontalLayout = QtGui.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName(u'horizontalLayout')
|
||||
self.horizontalLayout_3 = QtGui.QHBoxLayout()
|
||||
self.horizontalLayout_3.setObjectName(u'horizontalLayout_3')
|
||||
self.ThemeLabel = QtGui.QLabel(customEditDialog)
|
||||
self.ThemeLabel.setObjectName(u'ThemeLabel')
|
||||
self.horizontalLayout.addWidget(self.ThemeLabel)
|
||||
self.ThemecomboBox = QtGui.QComboBox(customEditDialog)
|
||||
self.ThemecomboBox.setObjectName(u'ThemecomboBox')
|
||||
self.horizontalLayout.addWidget(self.ThemecomboBox)
|
||||
self.gridLayout.addLayout(self.horizontalLayout, 3, 0, 1, 1)
|
||||
self.horizontalLayout_3.addWidget(self.ThemeLabel)
|
||||
self.ThemeComboBox = QtGui.QComboBox(customEditDialog)
|
||||
self.ThemeComboBox.setObjectName(u'ThemeComboBox')
|
||||
self.horizontalLayout_3.addWidget(self.ThemeComboBox)
|
||||
self.gridLayout.addLayout(self.horizontalLayout_3, 3, 0, 1, 1)
|
||||
self.horizontalLayout_2 = QtGui.QHBoxLayout()
|
||||
self.horizontalLayout_2.setObjectName(u'horizontalLayout_2')
|
||||
self.CreditLabel = QtGui.QLabel(customEditDialog)
|
||||
@ -123,24 +124,39 @@ class Ui_customEditDialog(object):
|
||||
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
|
||||
self.buttonBox.setObjectName(u'buttonBox')
|
||||
self.gridLayout.addWidget(self.buttonBox, 5, 0, 1, 1)
|
||||
|
||||
self.retranslateUi(customEditDialog)
|
||||
QtCore.QMetaObject.connectSlotsByName(customEditDialog)
|
||||
customEditDialog.setTabOrder(self.TitleEdit, self.VerseTextEdit)
|
||||
customEditDialog.setTabOrder(self.VerseTextEdit, self.EditButton)
|
||||
customEditDialog.setTabOrder(self.EditButton, self.SaveButton)
|
||||
customEditDialog.setTabOrder(self.SaveButton, self.CreditEdit)
|
||||
customEditDialog.setTabOrder(self.CreditEdit, self.VerseListView)
|
||||
customEditDialog.setTabOrder(self.VerseListView, self.AddButton)
|
||||
customEditDialog.setTabOrder(self.AddButton, self.DeleteButton)
|
||||
customEditDialog.setTabOrder(self.DeleteButton, self.buttonBox)
|
||||
customEditDialog.setTabOrder(self.VerseTextEdit, self.AddButton)
|
||||
customEditDialog.setTabOrder(self.AddButton, self.VerseListView)
|
||||
customEditDialog.setTabOrder(self.VerseListView, self.EditButton)
|
||||
customEditDialog.setTabOrder(self.EditButton, self.EditAllButton)
|
||||
customEditDialog.setTabOrder(self.EditAllButton, self.SaveButton)
|
||||
customEditDialog.setTabOrder(self.SaveButton, self.DeleteButton)
|
||||
customEditDialog.setTabOrder(self.DeleteButton, self.CreditEdit)
|
||||
customEditDialog.setTabOrder(self.CreditEdit, self.UpButton)
|
||||
customEditDialog.setTabOrder(self.UpButton, self.DownButton)
|
||||
customEditDialog.setTabOrder(self.DownButton, self.ThemeComboBox)
|
||||
customEditDialog.setTabOrder(self.ThemeComboBox, self.buttonBox)
|
||||
|
||||
def retranslateUi(self, customEditDialog):
|
||||
customEditDialog.setWindowTitle(translate(u'customEditDialog', u'Edit Custom Slides'))
|
||||
self.TitleLabel.setText(translate(u'customEditDialog', u'Title:'))
|
||||
self.AddButton.setText(translate(u'customEditDialog', u'Add'))
|
||||
self.EditButton.setText(translate(u'customEditDialog', u'Edit'))
|
||||
self.SaveButton.setText(translate(u'customEditDialog', u'Save'))
|
||||
self.DeleteButton.setText(translate(u'customEditDialog', u'Delete'))
|
||||
self.ClearButton.setText(translate(u'customEditDialog', u'Clear'))
|
||||
self.ThemeLabel.setText(translate(u'customEditDialog', u'Theme:'))
|
||||
self.CreditLabel.setText(translate(u'customEditDialog', u'Credits:'))
|
||||
self.UpButton.setToolTip(translate(u'customEditDialog', u'Move slide Up 1'))
|
||||
self.DownButton.setToolTip(translate(u'customEditDialog', u'Move slide down 1'))
|
||||
customEditDialog.setWindowTitle(translate(u'customEditDialog', 'Edit Custom Slides'))
|
||||
self.TitleLabel.setText(translate(u'customEditDialog', 'Title:'))
|
||||
self.AddButton.setText(translate(u'customEditDialog', 'Add New'))
|
||||
self.AddButton.setToolTip(translate(u'customEditDialog', u'Add new slide at bottom'))
|
||||
self.EditButton.setText(translate(u'customEditDialog', 'Edit'))
|
||||
self.EditButton.setToolTip(translate(u'customEditDialog', u'Edit selected slide'))
|
||||
self.EditAllButton.setText(translate(u'customEditDialog', 'Edit All'))
|
||||
self.EditAllButton.setToolTip(translate(u'customEditDialog', u'Edit all slides'))
|
||||
self.SaveButton.setText(translate(u'customEditDialog', 'Save'))
|
||||
self.SaveButton.setToolTip(translate(u'customEditDialog', u'Replace edited slide'))
|
||||
self.DeleteButton.setText(translate(u'customEditDialog', 'Delete'))
|
||||
self.DeleteButton.setToolTip(translate(u'customEditDialog', u'Delete selected slide'))
|
||||
self.ClearButton.setText(translate(u'customEditDialog', 'Clear'))
|
||||
self.ClearButton.setToolTip(translate(u'customEditDialog', u'Clear edit area'))
|
||||
self.ThemeLabel.setText(translate(u'customEditDialog', 'Theme:'))
|
||||
self.ThemeComboBox.setToolTip(translate(u'customEditDialog', u'Set Theme for Slides'))
|
||||
self.CreditLabel.setText(translate(u'customEditDialog', 'Credits:'))
|
||||
|
@ -40,20 +40,33 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
|
||||
#self.parent = parent
|
||||
self.setupUi(self)
|
||||
# Connecting signals and slots
|
||||
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'rejected()'), self.rejected)
|
||||
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(u'accepted()'), self.accept)
|
||||
QtCore.QObject.connect(self.AddButton, QtCore.SIGNAL(u'pressed()'), self.onAddButtonPressed)
|
||||
QtCore.QObject.connect(self.EditButton, QtCore.SIGNAL(u'pressed()'), self.onEditButtonPressed)
|
||||
QtCore.QObject.connect(self.SaveButton, QtCore.SIGNAL(u'pressed()'), self.onSaveButtonPressed)
|
||||
QtCore.QObject.connect(self.DeleteButton, QtCore.SIGNAL(u'pressed()'), self.onDeleteButtonPressed)
|
||||
QtCore.QObject.connect(self.ClearButton, QtCore.SIGNAL(u'pressed()'), self.onClearButtonPressed)
|
||||
QtCore.QObject.connect(self.UpButton, QtCore.SIGNAL(u'pressed()'), self.onUpButtonPressed)
|
||||
QtCore.QObject.connect(self.DownButton, QtCore.SIGNAL(u'pressed()'), self.onDownButtonPressed)
|
||||
QtCore.QObject.connect(self.buttonBox,
|
||||
QtCore.SIGNAL(u'rejected()'), self.rejected)
|
||||
QtCore.QObject.connect(self.buttonBox,
|
||||
QtCore.SIGNAL(u'accepted()'), self.accept)
|
||||
QtCore.QObject.connect(self.AddButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onAddButtonPressed)
|
||||
QtCore.QObject.connect(self.EditButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onEditButtonPressed)
|
||||
QtCore.QObject.connect(self.EditAllButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onEditAllButtonPressed)
|
||||
QtCore.QObject.connect(self.SaveButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onSaveButtonPressed)
|
||||
QtCore.QObject.connect(self.DeleteButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onDeleteButtonPressed)
|
||||
QtCore.QObject.connect(self.ClearButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onClearButtonPressed)
|
||||
QtCore.QObject.connect(self.UpButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onUpButtonPressed)
|
||||
QtCore.QObject.connect(self.DownButton,
|
||||
QtCore.SIGNAL(u'pressed()'), self.onDownButtonPressed)
|
||||
|
||||
QtCore.QObject.connect(self.VerseListView,
|
||||
QtCore.SIGNAL(u'itemDoubleClicked(QListWidgetItem*)'), self.onVerseListViewSelected)
|
||||
QtCore.SIGNAL(u'itemDoubleClicked(QListWidgetItem*)'),
|
||||
self.onVerseListViewSelected)
|
||||
QtCore.QObject.connect(self.VerseListView,
|
||||
QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'), self.onVerseListViewPressed)
|
||||
QtCore.SIGNAL(u'itemClicked(QListWidgetItem*)'),
|
||||
self.onVerseListViewPressed)
|
||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||
QtCore.SIGNAL(u'update_themes'), self.loadThemes)
|
||||
# Create other objects and forms
|
||||
@ -61,23 +74,25 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
|
||||
self.initialise()
|
||||
|
||||
def initialise(self):
|
||||
self.valid = True
|
||||
self.editAll = False
|
||||
self.DeleteButton.setEnabled(False)
|
||||
self.EditButton.setEnabled(False)
|
||||
self.EditAllButton.setEnabled(True)
|
||||
self.SaveButton.setEnabled(False)
|
||||
self.ClearButton.setEnabled(False)
|
||||
self.TitleEdit.setText(u'')
|
||||
self.CreditEdit.setText(u'')
|
||||
self.VerseTextEdit.clear()
|
||||
self.VerseListView.clear()
|
||||
#make sure we have a new item
|
||||
self.customSlide = CustomSlide()
|
||||
self.ThemecomboBox.addItem(u'')
|
||||
self.ThemeComboBox.addItem(u'')
|
||||
|
||||
def loadThemes(self, themelist):
|
||||
self.ThemecomboBox.clear()
|
||||
self.ThemecomboBox.addItem(u'')
|
||||
self.ThemeComboBox.clear()
|
||||
self.ThemeComboBox.addItem(u'')
|
||||
for themename in themelist:
|
||||
self.ThemecomboBox.addItem(themename)
|
||||
self.ThemeComboBox.addItem(themename)
|
||||
|
||||
def loadCustom(self, id):
|
||||
self.customSlide = CustomSlide()
|
||||
@ -92,12 +107,12 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
|
||||
for verse in verseList:
|
||||
self.VerseListView.addItem(verse[1])
|
||||
theme = unicode(self.customSlide.theme_name)
|
||||
id = self.ThemecomboBox.findText(theme, QtCore.Qt.MatchExactly)
|
||||
id = self.ThemeComboBox.findText(theme, QtCore.Qt.MatchExactly)
|
||||
if id == -1:
|
||||
id = 0 # Not Found
|
||||
self.ThemecomboBox.setCurrentIndex(id)
|
||||
self.ThemeComboBox.setCurrentIndex(id)
|
||||
else:
|
||||
self.ThemecomboBox.setCurrentIndex(0)
|
||||
self.ThemeComboBox.setCurrentIndex(0)
|
||||
|
||||
def accept(self):
|
||||
valid , message = self._validate()
|
||||
@ -116,7 +131,7 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
|
||||
self.customSlide.title = unicode(self.TitleEdit.displayText())
|
||||
self.customSlide.text = unicode(sxml.extract_xml())
|
||||
self.customSlide.credits = unicode(self.CreditEdit.displayText())
|
||||
self.customSlide.theme_name = unicode(self.ThemecomboBox.currentText())
|
||||
self.customSlide.theme_name = unicode(self.ThemeComboBox.currentText())
|
||||
self.custommanager.save_slide(self.customSlide)
|
||||
self.close()
|
||||
|
||||
@ -140,6 +155,10 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
|
||||
|
||||
def onClearButtonPressed(self):
|
||||
self.VerseTextEdit.clear()
|
||||
self.editAll = False
|
||||
self.AddButton.setEnabled(True)
|
||||
self.EditAllButton.setEnabled(True)
|
||||
self.SaveButton.setEnabled(False)
|
||||
|
||||
def onVerseListViewPressed(self, item):
|
||||
self.DeleteButton.setEnabled(True)
|
||||
@ -156,14 +175,32 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
|
||||
def onEditButtonPressed(self):
|
||||
self.editText(self.VerseListView.currentItem().text())
|
||||
|
||||
def onEditAllButtonPressed(self):
|
||||
self.editAll = True
|
||||
self.AddButton.setEnabled(False)
|
||||
if self.VerseListView.count() > 0:
|
||||
verse_list = u''
|
||||
for row in range(0, self.VerseListView.count()):
|
||||
item = self.VerseListView.item(row)
|
||||
verse_list += item.text()
|
||||
verse_list += u'\n---\n'
|
||||
self.editText(verse_list)
|
||||
|
||||
def editText(self, text):
|
||||
self.beforeText = text
|
||||
self.VerseTextEdit.setPlainText(text)
|
||||
self.DeleteButton.setEnabled(False)
|
||||
self.EditButton.setEnabled(False)
|
||||
self.EditAllButton.setEnabled(False)
|
||||
self.SaveButton.setEnabled(True)
|
||||
self.ClearButton.setEnabled(True)
|
||||
|
||||
def onSaveButtonPressed(self):
|
||||
if self.editAll:
|
||||
self.VerseListView.clear()
|
||||
for row in unicode(self.VerseTextEdit.toPlainText()).split(u'---'):
|
||||
self.VerseListView.addItem(row)
|
||||
else:
|
||||
self.VerseListView.currentItem().setText(self.VerseTextEdit.toPlainText())
|
||||
#number of lines has change
|
||||
if len(self.beforeText.split(u'\n')) != len(self.VerseTextEdit.toPlainText().split(u'\n')):
|
||||
@ -174,12 +211,16 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
|
||||
for row in range (0, len(tempList)):
|
||||
self.VerseListView.addItem(tempList[row])
|
||||
self.VerseListView.repaint()
|
||||
self.AddButton.setEnabled(True)
|
||||
self.SaveButton.setEnabled(False)
|
||||
self.EditButton.setEnabled(False)
|
||||
self.EditAllButton.setEnabled(True)
|
||||
self.VerseTextEdit.clear()
|
||||
|
||||
def onDeleteButtonPressed(self):
|
||||
self.VerseListView.takeItem(self.VerseListView.currentRow())
|
||||
self.EditButton.setEnabled(False)
|
||||
self.EditAllButton.setEnabled(True)
|
||||
|
||||
def _validate(self):
|
||||
valid = True
|
||||
|
@ -23,5 +23,4 @@
|
||||
###############################################################################
|
||||
|
||||
from manager import CustomManager
|
||||
from customtab import CustomTab
|
||||
from mediaitem import CustomMediaItem
|
||||
|
@ -1,37 +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 openlp.core.lib import SettingsTab, translate
|
||||
|
||||
class CustomTab(SettingsTab):
|
||||
"""
|
||||
SongsTab is the songs settings tab in the settings dialog.
|
||||
"""
|
||||
def __init__(self):
|
||||
SettingsTab.__init__(self, translate(u'CustomTab', u'Custom'), u'Custom')
|
||||
|
||||
def setupUi(self):
|
||||
self.setObjectName(u'CustomTab')
|
@ -26,7 +26,8 @@ import logging
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import MediaManagerItem, SongXMLParser, ServiceItem, translate, contextMenuAction, contextMenuSeparator, BaseListWithDnD
|
||||
from openlp.core.lib import MediaManagerItem, SongXMLParser, ServiceItem, \
|
||||
translate, contextMenuAction, contextMenuSeparator, BaseListWithDnD
|
||||
|
||||
class CustomListView(BaseListWithDnD):
|
||||
def __init__(self, parent=None):
|
||||
@ -45,78 +46,18 @@ class CustomMediaItem(MediaManagerItem):
|
||||
self.TranslationContext = u'CustomPlugin'
|
||||
self.PluginTextShort = u'Custom'
|
||||
self.ConfigSection = u'custom'
|
||||
self.IconPath = u'custom/custom'
|
||||
self.hasFileIcon = False
|
||||
self.hasNewIcon = True
|
||||
self.hasEditIcon = True
|
||||
# this next is a class, not an instance of a class - it will
|
||||
# be instanced by the base MediaManagerItem
|
||||
self.ListViewWithDnD_class = CustomListView
|
||||
self.ServiceItemIconName = u':/custom/custom_image.png'
|
||||
self.servicePath = None
|
||||
MediaManagerItem.__init__(self, parent, icon, title)
|
||||
self.parent = parent
|
||||
|
||||
def setupUi(self):
|
||||
# Add a toolbar
|
||||
self.addToolbar()
|
||||
# Create buttons for the toolbar
|
||||
## New Custom Button ##
|
||||
self.addToolbarButton(
|
||||
translate(u'CustomMediaItem',u'New Custom Item'),
|
||||
translate(u'CustomMediaItem',u'Add a new Custom Item'),
|
||||
u':/custom/custom_new.png', self.onCustomNewClick, u'CustomNewItem')
|
||||
## Edit Custom Button ##
|
||||
self.addToolbarButton(
|
||||
translate(u'CustomMediaItem',u'Edit Custom Item'),
|
||||
translate(u'CustomMediaItem',u'Edit the selected Custom Item'),
|
||||
u':/custom/custom_edit.png', self.onCustomEditClick, u'CustomEditItem')
|
||||
## Delete Custom Button ##
|
||||
self.addToolbarButton(
|
||||
translate(u'CustomMediaItem',u'Delete Custom Item'),
|
||||
translate(u'CustomMediaItem',u'Delete the selected Custom Item'),
|
||||
u':/custom/custom_delete.png', self.onCustomDeleteClick, u'CustomDeleteItem')
|
||||
## Separator Line ##
|
||||
self.addToolbarSeparator()
|
||||
## Preview Custom Button ##
|
||||
self.addToolbarButton(
|
||||
translate(u'CustomMediaItem',u'Preview Custom Item'),
|
||||
translate(u'CustomMediaItem',u'Preview the selected Custom Item'),
|
||||
u':/system/system_preview.png', self.onPreviewClick, u'CustomPreviewItem')
|
||||
## Live Custom Button ##
|
||||
self.addToolbarButton(
|
||||
translate(u'CustomMediaItem',u'Go Live'),
|
||||
translate(u'CustomMediaItem', u'Send the selected Custom live'),
|
||||
u':/system/system_live.png', self.onLiveClick, u'CustomLiveItem')
|
||||
## Add Custom Button ##
|
||||
self.addToolbarButton(
|
||||
translate(u'CustomMediaItem',u'Add Custom To Service'),
|
||||
translate(u'CustomMediaItem',u'Add the selected Custom(s) to the service'),
|
||||
u':/system/system_add.png', self.onAddClick, u'CustomAddItem')
|
||||
# Add the CustomListView widget
|
||||
self.CustomWidget = QtGui.QWidget(self)
|
||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.CustomWidget.sizePolicy().hasHeightForWidth())
|
||||
self.CustomWidget.setSizePolicy(sizePolicy)
|
||||
self.CustomWidget.setObjectName(u'CustomWidget')
|
||||
# Add the Custom widget to the page layout
|
||||
self.PageLayout.addWidget(self.CustomWidget)
|
||||
self.ListView = CustomListView()
|
||||
self.ListView.setAlternatingRowColors(True)
|
||||
self.ListView.setDragEnabled(True)
|
||||
self.PageLayout.addWidget(self.ListView)
|
||||
# Signals
|
||||
QtCore.QObject.connect(self.ListView,
|
||||
QtCore.SIGNAL(u'doubleClicked(QModelIndex)'), self.onPreviewClick)
|
||||
#define and add the context menu
|
||||
self.ListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
|
||||
self.ListView.addAction(contextMenuAction(self.ListView,
|
||||
':/custom/custom_edit.png', translate(u'CustomMediaItem', u'&Edit Custom'),
|
||||
self.onCustomEditClick))
|
||||
self.ListView.addAction(contextMenuSeparator(self.ListView))
|
||||
self.ListView.addAction(contextMenuAction(
|
||||
self.ListView, ':/system/system_preview.png',
|
||||
translate(u'CustomMediaItem',u'&Preview Custom'), self.onPreviewClick))
|
||||
self.ListView.addAction(contextMenuAction(
|
||||
self.ListView, ':/system/system_live.png',
|
||||
translate(u'CustomMediaItem',u'&Show Live'), self.onLiveClick))
|
||||
self.ListView.addAction(contextMenuAction(
|
||||
self.ListView, ':/system/system_add.png',
|
||||
translate(u'CustomMediaItem',u'&Add to Service'), self.onAddClick))
|
||||
|
||||
def initialise(self):
|
||||
self.loadCustomListView(self.parent.custommanager.get_all_slides())
|
||||
|
||||
@ -127,12 +68,12 @@ class CustomMediaItem(MediaManagerItem):
|
||||
custom_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(CustomSlide.id))
|
||||
self.ListView.addItem(custom_name)
|
||||
|
||||
def onCustomNewClick(self):
|
||||
def onNewClick(self):
|
||||
self.parent.edit_custom_form.loadCustom(0)
|
||||
self.parent.edit_custom_form.exec_()
|
||||
self.initialise()
|
||||
|
||||
def onCustomEditClick(self):
|
||||
def onEditClick(self):
|
||||
item = self.ListView.currentItem()
|
||||
if item is not None:
|
||||
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
|
||||
@ -140,7 +81,7 @@ class CustomMediaItem(MediaManagerItem):
|
||||
self.parent.edit_custom_form.exec_()
|
||||
self.initialise()
|
||||
|
||||
def onCustomDeleteClick(self):
|
||||
def onDeleteClick(self):
|
||||
item = self.ListView.currentItem()
|
||||
if item is not None:
|
||||
item_id = (item.data(QtCore.Qt.UserRole)).toInt()[0]
|
||||
|
@ -53,7 +53,6 @@ class ImageMediaItem(MediaManagerItem):
|
||||
self.hasEditIcon = False
|
||||
self.OnNewPrompt = u'Select Image(s)'
|
||||
self.OnNewFileMasks = u'Images (*.jpg *jpeg *.gif *.png *.bmp)'
|
||||
self.slidecontroller = u'image'
|
||||
# this next is a class, not an instance of a class - it will
|
||||
# be instanced by the base MediaManagerItem
|
||||
self.ListViewWithDnD_class = ImageListView
|
||||
|
@ -23,7 +23,7 @@
|
||||
###############################################################################
|
||||
|
||||
from impresscontroller import ImpressController
|
||||
from powerpointcontroller import PowerpointController
|
||||
#from powerpointcontroller import PowerpointController
|
||||
from messagelistener import MessageListener
|
||||
from mediaitem import PresentationMediaItem
|
||||
from presentationtab import PresentationTab
|
||||
|
@ -57,7 +57,8 @@ class ImpressController(object):
|
||||
when required.
|
||||
"""
|
||||
log.debug(u'start Openoffice')
|
||||
cmd = u'openoffice.org -nologo -norestore -minimized -headless ' + u'"' + u'-accept=socket,host=localhost,port=2002;urp;'+ u'"'
|
||||
# -headless
|
||||
cmd = u'openoffice.org -nologo -norestore -minimized -invisible ' + u'"' + u'-accept=socket,host=localhost,port=2002;urp;'+ u'"'
|
||||
self.process = QtCore.QProcess()
|
||||
self.process.startDetached(cmd)
|
||||
self.process.waitForStarted()
|
||||
|
@ -62,7 +62,7 @@ class PresentationMediaItem(MediaManagerItem):
|
||||
MediaManagerItem.__init__(self, parent, icon, title)
|
||||
self.message_listener = MessageListener(controllers)
|
||||
|
||||
def addHeaderBar(self):
|
||||
def addEndHeaderBar(self):
|
||||
self.PresentationWidget = QtGui.QWidget(self)
|
||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
|
@ -21,8 +21,10 @@
|
||||
# with this program; if not, write to the Free Software Foundation, Inc., 59 #
|
||||
# Temple Place, Suite 330, Boston, MA 02111-1307 USA #
|
||||
###############################################################################
|
||||
|
||||
from win32com.client import Dispatch
|
||||
try:
|
||||
from win32com.client import Dispatch
|
||||
except:
|
||||
pass
|
||||
|
||||
# PPT API documentation:
|
||||
# http://msdn.microsoft.com/en-us/library/aa269321(office.10).aspx
|
||||
|
@ -30,7 +30,12 @@ from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import Plugin, MediaManagerItem
|
||||
from openlp.plugins.presentations.lib import PresentationMediaItem, PresentationTab, \
|
||||
ImpressController, PowerpointController
|
||||
ImpressController
|
||||
try:
|
||||
from openlp.plugins.presentations.lib import PowerpointController
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
class PresentationPlugin(Plugin):
|
||||
|
||||
@ -72,7 +77,7 @@ class PresentationPlugin(Plugin):
|
||||
"""
|
||||
log.debug('check_pre_conditions')
|
||||
#Lets see if Impress is required (Default is Not wanted)
|
||||
if int(self.config.get_config(u'Impress', 0)) == 2:
|
||||
if int(self.config.get_config(u'Impress', QtCore.Qt.Unchecked)) == QtCore.Qt.Checked:
|
||||
try:
|
||||
#Check to see if we have uno installed
|
||||
import uno
|
||||
@ -80,8 +85,8 @@ class PresentationPlugin(Plugin):
|
||||
self.registerControllers(u'Impress', openoffice)
|
||||
except:
|
||||
log.error(u'Reason : %s', sys.exc_info())
|
||||
#Lets see if Impress is required (Default is Not wanted)
|
||||
if int(self.config.get_config(u'Powerpoint', 0)) == 2:
|
||||
#Lets see if Powerpoint is required (Default is Not wanted)
|
||||
if int(self.config.get_config(u'Powerpoint', QtCore.Qt.Unchecked)) == QtCore.Qt.Checked:
|
||||
try:
|
||||
#Check to see if we are Win32
|
||||
from win32com.client import Dispatch
|
||||
@ -89,8 +94,8 @@ class PresentationPlugin(Plugin):
|
||||
self.registerControllers(u'Powerpoint', powerpoint)
|
||||
except:
|
||||
log.error(u'Reason : %s', sys.exc_info())
|
||||
#Lets see if Impress is required (Default is Not wanted)
|
||||
if int(self.config.get_config(u'Powerpoint Viewer', 0)) == 2:
|
||||
#Lets see if Powerpoint Viewer is required (Default is Not wanted)
|
||||
if int(self.config.get_config(u'Powerpoint Viewer', QtCore.Qt.Unchecked)) == QtCore.Qt.Checked:
|
||||
try:
|
||||
#Check to see if we are Win32
|
||||
from win32com.client import Dispatch
|
||||
@ -108,5 +113,4 @@ class PresentationPlugin(Plugin):
|
||||
log.debug(u'Finalise')
|
||||
#Ask each controller to tidy up
|
||||
for controller in self.controllers:
|
||||
print controller
|
||||
self.controllers[controller].kill()
|
||||
|
@ -42,7 +42,7 @@ class RemotesPlugin(Plugin):
|
||||
"""
|
||||
log.debug('check_pre_conditions')
|
||||
#Lets see if Remote is required
|
||||
if int(self.config.get_config(u'startup', 0)) == 2:
|
||||
if int(self.config.get_config(u'startup', 0)) == QtCore.Qt.Checked:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
@ -14,7 +14,7 @@
|
||||
<string>Edit Custom Slides</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="../images/openlp-2.qrc">
|
||||
<iconset>
|
||||
<normaloff>:/icon/openlp.org-icon-32.bmp</normaloff>:/icon/openlp.org-icon-32.bmp</iconset>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
@ -35,12 +35,19 @@
|
||||
<item row="1" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QListWidget" name="VerseListView"/>
|
||||
<widget class="QListWidget" name="VerseListView">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="UpButton">
|
||||
<property name="toolTip">
|
||||
<string extracomment="Move selected slide up one"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
@ -65,6 +72,9 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="DownButton">
|
||||
<property name="toolTip">
|
||||
<string extracomment="Move selected slide down one"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
@ -88,33 +98,46 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="VerseTextEdit_3"/>
|
||||
<widget class="QTextEdit" name="VerseTextEdit"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="ButtonWidge" native="true">
|
||||
<layout class="QVBoxLayout" name="ButtonLayout_3">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="AddButton_3">
|
||||
<widget class="QPushButton" name="AddButton">
|
||||
<property name="toolTip">
|
||||
<string extracomment="Adds a new slide at bottom of list"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Add</string>
|
||||
<string>Add New</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="EditButton_3">
|
||||
<widget class="QPushButton" name="EditButton">
|
||||
<property name="toolTip">
|
||||
<string extracomment="Edit selected slide"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Edit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="SaveButton_3">
|
||||
<widget class="QPushButton" name="EditAllButton">
|
||||
<property name="toolTip">
|
||||
<string extracomment="Edit all slides"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Edit All</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="SaveButton">
|
||||
<property name="toolTip">
|
||||
<string extracomment="Save changed slide"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
@ -122,11 +145,24 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="DeleteButton">
|
||||
<property name="toolTip">
|
||||
<string extracomment="Delete selected slide"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Delete</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="ClearButton">
|
||||
<property name="toolTip">
|
||||
<string extracomment="Clear selection"/>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Clear</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="ButtonSpacer">
|
||||
<property name="orientation">
|
||||
@ -156,7 +192,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="ThemecomboBox"/>
|
||||
<widget class="QComboBox" name="ThemeComboBox">
|
||||
<property name="toolTip">
|
||||
<string extracomment="Select custom theme for slide"/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
@ -185,13 +225,17 @@
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>TitleEdit</tabstop>
|
||||
<tabstop>VerseTextEdit_3</tabstop>
|
||||
<tabstop>EditButton_3</tabstop>
|
||||
<tabstop>SaveButton_3</tabstop>
|
||||
<tabstop>CreditEdit</tabstop>
|
||||
<tabstop>VerseTextEdit</tabstop>
|
||||
<tabstop>AddButton</tabstop>
|
||||
<tabstop>VerseListView</tabstop>
|
||||
<tabstop>AddButton_3</tabstop>
|
||||
<tabstop>EditButton</tabstop>
|
||||
<tabstop>EditAllButton</tabstop>
|
||||
<tabstop>SaveButton</tabstop>
|
||||
<tabstop>DeleteButton</tabstop>
|
||||
<tabstop>CreditEdit</tabstop>
|
||||
<tabstop>UpButton</tabstop>
|
||||
<tabstop>DownButton</tabstop>
|
||||
<tabstop>ThemeComboBox</tabstop>
|
||||
<tabstop>buttonBox</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
|
Loading…
Reference in New Issue
Block a user