forked from openlp/openlp
Add new plugins - shells
Update bibles Add CheckPreConditions to plugin manager. Sort out merge problems bzr-revno: 220
This commit is contained in:
parent
508a542d6f
commit
f90cdd27be
@ -158,3 +158,26 @@ class Plugin(object):
|
|||||||
Called by the plugin Manager to initialise anything it needs.
|
Called by the plugin Manager to initialise anything it needs.
|
||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def addToMenu(self, menubar):
|
||||||
|
"""
|
||||||
|
Add menu items to the menu, given the menubar.
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
def handleEvent(self, event):
|
||||||
|
"""
|
||||||
|
Handle the event contained in the event object.
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
def getName(self):
|
||||||
|
return self.Name
|
||||||
|
|
||||||
|
def checkPreConditions(self):
|
||||||
|
"""
|
||||||
|
Provides the Plugin with a handle to check if it can be loaded.
|
||||||
|
Returns True or False.
|
||||||
|
"""
|
||||||
|
return True
|
||||||
|
|
||||||
|
@ -65,8 +65,8 @@ class PluginConfig(object):
|
|||||||
if f.find('.') != -1:
|
if f.find('.') != -1:
|
||||||
nme = f.split('.')
|
nme = f.split('.')
|
||||||
bname = nme[0]
|
bname = nme[0]
|
||||||
sfx = nme[1]
|
sfx = nme[1].lower()
|
||||||
sfx.lower()
|
sfx = sfx.lower()
|
||||||
if suffix.find(sfx) > -1 : # only load files with the correct suffix
|
if suffix.find(sfx) > -1 : # only load files with the correct suffix
|
||||||
returnfiles.append(f)
|
returnfiles.append(f)
|
||||||
return returnfiles
|
return returnfiles
|
||||||
|
@ -72,6 +72,7 @@ class PluginManager(object):
|
|||||||
plugin_objects = []
|
plugin_objects = []
|
||||||
for p in self.plugin_classes:
|
for p in self.plugin_classes:
|
||||||
plugin = p()
|
plugin = p()
|
||||||
|
if plugin.checkPreConditions() == True:
|
||||||
plugin_objects.append(plugin)
|
plugin_objects.append(plugin)
|
||||||
self.plugins = sorted(plugin_objects, self.order_by_weight)
|
self.plugins = sorted(plugin_objects, self.order_by_weight)
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Form implementation generated from reading ui file 'bibleimport.ui'
|
# Form implementation generated from reading ui file 'bibleimport.ui'
|
||||||
#
|
#
|
||||||
# Created: Wed Dec 10 20:59:43 2008
|
# Created: Sun Dec 14 08:57:40 2008
|
||||||
# by: PyQt4 UI code generator 4.4.3
|
# by: PyQt4 UI code generator 4.4.3
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING! All changes made in this file will be lost!
|
||||||
@ -71,7 +71,7 @@ class Ui_BibleImportDialog(object):
|
|||||||
self.VersesFileButton.setObjectName("VersesFileButton")
|
self.VersesFileButton.setObjectName("VersesFileButton")
|
||||||
self.gridLayout.addWidget(self.VersesFileButton, 4, 2, 1, 1)
|
self.gridLayout.addWidget(self.VersesFileButton, 4, 2, 1, 1)
|
||||||
self.BibleNameEdit = QtGui.QLineEdit(self.FileImportPage)
|
self.BibleNameEdit = QtGui.QLineEdit(self.FileImportPage)
|
||||||
self.BibleNameEdit.setGeometry(QtCore.QRect(120, 20, 271, 28))
|
self.BibleNameEdit.setGeometry(QtCore.QRect(100, 20, 280, 28))
|
||||||
self.BibleNameEdit.setObjectName("BibleNameEdit")
|
self.BibleNameEdit.setObjectName("BibleNameEdit")
|
||||||
self.BibleNameLabel = QtGui.QLabel(self.FileImportPage)
|
self.BibleNameLabel = QtGui.QLabel(self.FileImportPage)
|
||||||
self.BibleNameLabel.setGeometry(QtCore.QRect(18, 20, 98, 22))
|
self.BibleNameLabel.setGeometry(QtCore.QRect(18, 20, 98, 22))
|
||||||
@ -99,6 +99,8 @@ class Ui_BibleImportDialog(object):
|
|||||||
self.LocationComboBox = QtGui.QComboBox(self.OptionsGroupBox)
|
self.LocationComboBox = QtGui.QComboBox(self.OptionsGroupBox)
|
||||||
self.LocationComboBox.setObjectName("LocationComboBox")
|
self.LocationComboBox.setObjectName("LocationComboBox")
|
||||||
self.LocationComboBox.addItem(QtCore.QString())
|
self.LocationComboBox.addItem(QtCore.QString())
|
||||||
|
self.LocationComboBox.setItemText(0, "")
|
||||||
|
self.LocationComboBox.addItem(QtCore.QString())
|
||||||
self.LocationComboBox.addItem(QtCore.QString())
|
self.LocationComboBox.addItem(QtCore.QString())
|
||||||
self.OptionsLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.LocationComboBox)
|
self.OptionsLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.LocationComboBox)
|
||||||
self.TypeLabel = QtGui.QLabel(self.OptionsGroupBox)
|
self.TypeLabel = QtGui.QLabel(self.OptionsGroupBox)
|
||||||
@ -107,6 +109,8 @@ class Ui_BibleImportDialog(object):
|
|||||||
self.TypeComboBox = QtGui.QComboBox(self.OptionsGroupBox)
|
self.TypeComboBox = QtGui.QComboBox(self.OptionsGroupBox)
|
||||||
self.TypeComboBox.setObjectName("TypeComboBox")
|
self.TypeComboBox.setObjectName("TypeComboBox")
|
||||||
self.TypeComboBox.addItem(QtCore.QString())
|
self.TypeComboBox.addItem(QtCore.QString())
|
||||||
|
self.TypeComboBox.setItemText(0, "")
|
||||||
|
self.TypeComboBox.addItem(QtCore.QString())
|
||||||
self.TypeComboBox.addItem(QtCore.QString())
|
self.TypeComboBox.addItem(QtCore.QString())
|
||||||
self.OptionsLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.TypeComboBox)
|
self.OptionsLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.TypeComboBox)
|
||||||
self.BibleLabel = QtGui.QLabel(self.OptionsGroupBox)
|
self.BibleLabel = QtGui.QLabel(self.OptionsGroupBox)
|
||||||
@ -186,7 +190,7 @@ class Ui_BibleImportDialog(object):
|
|||||||
self.gridLayout_3.addWidget(self.ProgressBar, 0, 0, 1, 1)
|
self.gridLayout_3.addWidget(self.ProgressBar, 0, 0, 1, 1)
|
||||||
|
|
||||||
self.retranslateUi(BibleImportDialog)
|
self.retranslateUi(BibleImportDialog)
|
||||||
self.ImportToolBox.setCurrentIndex(1)
|
self.ImportToolBox.setCurrentIndex(0)
|
||||||
QtCore.QMetaObject.connectSlotsByName(BibleImportDialog)
|
QtCore.QMetaObject.connectSlotsByName(BibleImportDialog)
|
||||||
BibleImportDialog.setTabOrder(self.BibleNameEdit, self.OSISLocationEdit)
|
BibleImportDialog.setTabOrder(self.BibleNameEdit, self.OSISLocationEdit)
|
||||||
BibleImportDialog.setTabOrder(self.OSISLocationEdit, self.OsisFileButton)
|
BibleImportDialog.setTabOrder(self.OSISLocationEdit, self.OsisFileButton)
|
||||||
@ -216,11 +220,11 @@ class Ui_BibleImportDialog(object):
|
|||||||
self.ImportToolBox.setItemText(self.ImportToolBox.indexOf(self.FileImportPage), QtGui.QApplication.translate("BibleImportDialog", "File Import Page", None, QtGui.QApplication.UnicodeUTF8))
|
self.ImportToolBox.setItemText(self.ImportToolBox.indexOf(self.FileImportPage), QtGui.QApplication.translate("BibleImportDialog", "File Import Page", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.OptionsGroupBox.setTitle(QtGui.QApplication.translate("BibleImportDialog", "Download Options", None, QtGui.QApplication.UnicodeUTF8))
|
self.OptionsGroupBox.setTitle(QtGui.QApplication.translate("BibleImportDialog", "Download Options", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.LocationLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Location:", None, QtGui.QApplication.UnicodeUTF8))
|
self.LocationLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Location:", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.LocationComboBox.setItemText(0, QtGui.QApplication.translate("BibleImportDialog", "BibleGateway", None, QtGui.QApplication.UnicodeUTF8))
|
self.LocationComboBox.setItemText(1, QtGui.QApplication.translate("BibleImportDialog", "BibleGateway", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.LocationComboBox.setItemText(1, QtGui.QApplication.translate("BibleImportDialog", "CrossWire", None, QtGui.QApplication.UnicodeUTF8))
|
self.LocationComboBox.setItemText(2, QtGui.QApplication.translate("BibleImportDialog", "CrossWire", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.TypeLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Type:", None, QtGui.QApplication.UnicodeUTF8))
|
self.TypeLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Type:", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.TypeComboBox.setItemText(0, QtGui.QApplication.translate("BibleImportDialog", "Download As Needed", None, QtGui.QApplication.UnicodeUTF8))
|
self.TypeComboBox.setItemText(1, QtGui.QApplication.translate("BibleImportDialog", "Download As Needed", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.TypeComboBox.setItemText(1, QtGui.QApplication.translate("BibleImportDialog", "Download All", None, QtGui.QApplication.UnicodeUTF8))
|
self.TypeComboBox.setItemText(2, QtGui.QApplication.translate("BibleImportDialog", "Download All", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.BibleLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Bible:", None, QtGui.QApplication.UnicodeUTF8))
|
self.BibleLabel.setText(QtGui.QApplication.translate("BibleImportDialog", "Bible:", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.BibleComboBox.setItemText(0, QtGui.QApplication.translate("BibleImportDialog", "NIV", None, QtGui.QApplication.UnicodeUTF8))
|
self.BibleComboBox.setItemText(0, QtGui.QApplication.translate("BibleImportDialog", "NIV", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
self.BibleComboBox.setItemText(1, QtGui.QApplication.translate("BibleImportDialog", "KJV", None, QtGui.QApplication.UnicodeUTF8))
|
self.BibleComboBox.setItemText(1, QtGui.QApplication.translate("BibleImportDialog", "KJV", None, QtGui.QApplication.UnicodeUTF8))
|
||||||
|
@ -83,10 +83,11 @@ class BibleImportForm(QDialog, Ui_BibleImportDialog):
|
|||||||
#bipf.show()
|
#bipf.show()
|
||||||
if self.biblemanager != None:
|
if self.biblemanager != None:
|
||||||
self.MessageLabel.setText("Import Started")
|
self.MessageLabel.setText("Import Started")
|
||||||
self.ProgressBar.setValue(0)
|
self.ProgressBar.setValue(1)
|
||||||
self.progress = 0
|
self.progress = 0
|
||||||
self.biblemanager.processDialog(self)
|
self.biblemanager.processDialog(self)
|
||||||
self.biblemanager.registerOSISFileBible(str(self.BibleNameEdit.displayText()), self.OSISLocationEdit.displayText())
|
self.biblemanager.registerOSISFileBible(str(self.BibleNameEdit.displayText()), self.OSISLocationEdit.displayText())
|
||||||
|
self.biblemanager.saveMetaData(str(self.BibleNameEdit.displayText()), str(self.VersionNameEdit.displayText()), str(self.CopyrightEdit.displayText()), str(self.PermisionEdit.displayText()))
|
||||||
self.MessageLabel.setText("Import Complete")
|
self.MessageLabel.setText("Import Complete")
|
||||||
elif button.text() == "Cancel":
|
elif button.text() == "Cancel":
|
||||||
self.close()
|
self.close()
|
||||||
@ -94,7 +95,11 @@ class BibleImportForm(QDialog, Ui_BibleImportDialog):
|
|||||||
def setMax(self, max):
|
def setMax(self, max):
|
||||||
self.ProgressBar.setMaximum(max)
|
self.ProgressBar.setMaximum(max)
|
||||||
|
|
||||||
def incrementBar(self):
|
def incrementBar(self, text = None):
|
||||||
|
if text != None:
|
||||||
|
self.MessageLabel.setText("Import progressing with " + text)
|
||||||
|
else:
|
||||||
|
self.MessageLabel.setText("Import progressing")
|
||||||
self.progress +=1
|
self.progress +=1
|
||||||
self.ProgressBar.setValue(self.progress)
|
self.ProgressBar.setValue(self.progress)
|
||||||
self.update()
|
self.update()
|
||||||
|
@ -58,6 +58,7 @@ class BibleManager():
|
|||||||
self.bibleDBCache[bname] = BibleDBImpl(self.biblePath, bname, self.bibleSuffix)
|
self.bibleDBCache[bname] = BibleDBImpl(self.biblePath, bname, self.bibleSuffix)
|
||||||
biblesource = self.bibleDBCache[bname].getMeta("WEB") # look to see if lazy load bible exists and get create getter.
|
biblesource = self.bibleDBCache[bname].getMeta("WEB") # look to see if lazy load bible exists and get create getter.
|
||||||
if biblesource:
|
if biblesource:
|
||||||
|
print biblesource
|
||||||
nhttp = BibleHTTPImpl()
|
nhttp = BibleHTTPImpl()
|
||||||
nhttp.setBibleSource(biblesource) # tell The Server where to get the verses from.
|
nhttp.setBibleSource(biblesource) # tell The Server where to get the verses from.
|
||||||
self.bibleHTTPCache[bname] = nhttp
|
self.bibleHTTPCache[bname] = nhttp
|
||||||
@ -141,7 +142,7 @@ class BibleManager():
|
|||||||
self._loadBook(biblename,bookid, bookname, bookabbrev)
|
self._loadBook(biblename,bookid, bookname, bookabbrev)
|
||||||
self._loadChapter(biblename,bookid, bookname, chptr)
|
self._loadChapter(biblename,bookid, bookname, chptr)
|
||||||
|
|
||||||
def getBibles(self):
|
def getBibles(self, mode="full"):
|
||||||
"""
|
"""
|
||||||
Returns a list of Books of the bible
|
Returns a list of Books of the bible
|
||||||
"""
|
"""
|
||||||
@ -180,6 +181,22 @@ class BibleManager():
|
|||||||
log.debug( "getVersesFromText %s,%s", bible, versetext)
|
log.debug( "getVersesFromText %s,%s", bible, versetext)
|
||||||
return self.bibleDBCache[bible].getVersesFromText(versetext)
|
return self.bibleDBCache[bible].getVersesFromText(versetext)
|
||||||
|
|
||||||
|
def saveMetaData(self, bible, version, copyright, permissions):
|
||||||
|
"""
|
||||||
|
Saves the bibles meta data
|
||||||
|
"""
|
||||||
|
log.debug( "saveMetaData %s,%s, %s,%s", bible, version, copyright, permissions)
|
||||||
|
self.bibleDBCache[bible].saveMeta("Version", version)
|
||||||
|
self.bibleDBCache[bible].saveMeta("Copyright", copyright)
|
||||||
|
self.bibleDBCache[bible].saveMeta("Permissins", permissions)
|
||||||
|
|
||||||
|
def getMetaData(self, bible, key):
|
||||||
|
"""
|
||||||
|
Returns the meta data for a given key
|
||||||
|
"""
|
||||||
|
log.debug( "getMetaData %s,%s", bible, key)
|
||||||
|
self.bibleDBCache[bible].getMeta(key)
|
||||||
|
|
||||||
def getVerseText(self, bible, bookname, chapter, sverse, everse = 0 ):
|
def getVerseText(self, bible, bookname, chapter, sverse, everse = 0 ):
|
||||||
"""
|
"""
|
||||||
Returns a list of verses for a given Book, Chapter and ranges of verses.
|
Returns a list of verses for a given Book, Chapter and ranges of verses.
|
||||||
|
0
openlp/plugins/images/__init__.py
Normal file
0
openlp/plugins/images/__init__.py
Normal file
95
openlp/plugins/images/imageplugin.py
Normal file
95
openlp/plugins/images/imageplugin.py
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||||
|
"""
|
||||||
|
OpenLP - Open Source Lyrics Projection
|
||||||
|
Copyright (c) 2008 Raoul Snyman
|
||||||
|
Portions copyright (c) 2008 Martin Thompson, Tim Bentley,
|
||||||
|
|
||||||
|
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.resources import *
|
||||||
|
from openlp.core.lib import Plugin, MediaManagerItem
|
||||||
|
#from forms import EditSongForm
|
||||||
|
|
||||||
|
class ImagePlugin(Plugin):
|
||||||
|
def __init__(self):
|
||||||
|
# Call the parent constructor
|
||||||
|
Plugin.__init__(self, 'Images', '1.9.0')
|
||||||
|
self.Weight = -7
|
||||||
|
|
||||||
|
|
||||||
|
def getMediaManagerItem(self):
|
||||||
|
# Create the plugin icon
|
||||||
|
self.Icon = QtGui.QIcon()
|
||||||
|
self.Icon.addPixmap(QtGui.QPixmap(':/media/media_song.png'),
|
||||||
|
QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
|
# Create the MediaManagerItem object
|
||||||
|
self.MediaManagerItem = MediaManagerItem(self.Icon, 'Images')
|
||||||
|
# Add a toolbar
|
||||||
|
self.MediaManagerItem.addToolbar()
|
||||||
|
# Create buttons for the toolbar
|
||||||
|
## New Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Update', 'Update Images',
|
||||||
|
':/songs/song_new.png', self.onImagesNewClick, 'ImageNewItem')
|
||||||
|
## Edit Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Edit Song', 'Edit the selected song',
|
||||||
|
':/songs/song_edit.png', self.onSongEditClick, 'PresentationEditItem')
|
||||||
|
## Delete Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Delete Song', 'Delete the selected song',
|
||||||
|
':/songs/song_delete.png', self.onSongDeleteClick, 'SongDeleteItem')
|
||||||
|
## Separator Line ##
|
||||||
|
self.MediaManagerItem.addToolbarSeparator()
|
||||||
|
## Preview Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Preview Song', 'Preview the selected song',
|
||||||
|
':/system/system_preview.png', self.onSongPreviewClick, 'SongPreviewItem')
|
||||||
|
## Live Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Go Live', 'Send the selected song live',
|
||||||
|
':/system/system_live.png', self.onSongLiveClick, 'SongLiveItem')
|
||||||
|
## Add Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Add Song To Service',
|
||||||
|
'Add the selected song(s) to the service', ':/system/system_add.png',
|
||||||
|
self.onSongAddClick, 'SongAddItem')
|
||||||
|
## Add the songlist widget ##
|
||||||
|
|
||||||
|
self.listView = QtGui.QListWidget()
|
||||||
|
self.listView.setGeometry(QtCore.QRect(10, 100, 256, 591))
|
||||||
|
self.listView.setObjectName("listView")
|
||||||
|
self.MediaManagerItem.PageLayout.addWidget(self.listView)
|
||||||
|
|
||||||
|
return self.MediaManagerItem
|
||||||
|
|
||||||
|
def initalise_ui(self):
|
||||||
|
self.onImagesNewClick()
|
||||||
|
|
||||||
|
def onImagesNewClick(self):
|
||||||
|
files = self.config.get_files()
|
||||||
|
self.listView.clear()
|
||||||
|
for f in files:
|
||||||
|
self.listView.addItem(f)
|
||||||
|
|
||||||
|
def onSongEditClick(self):
|
||||||
|
self.edit_song_form.show()
|
||||||
|
|
||||||
|
def onSongDeleteClick(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def onSongPreviewClick(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def onSongLiveClick(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def onSongAddClick(self):
|
||||||
|
pass
|
0
openlp/plugins/videos/__init__.py
Normal file
0
openlp/plugins/videos/__init__.py
Normal file
95
openlp/plugins/videos/videoplugin.py
Normal file
95
openlp/plugins/videos/videoplugin.py
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4
|
||||||
|
"""
|
||||||
|
OpenLP - Open Source Lyrics Projection
|
||||||
|
Copyright (c) 2008 Raoul Snyman
|
||||||
|
Portions copyright (c) 2008 Martin Thompson, Tim Bentley,
|
||||||
|
|
||||||
|
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.resources import *
|
||||||
|
from openlp.core.lib import Plugin, MediaManagerItem
|
||||||
|
#from forms import EditSongForm
|
||||||
|
|
||||||
|
class VideoPlugin(Plugin):
|
||||||
|
def __init__(self):
|
||||||
|
# Call the parent constructor
|
||||||
|
Plugin.__init__(self, 'Videos', '1.9.0')
|
||||||
|
self.Weight = -6
|
||||||
|
|
||||||
|
|
||||||
|
def getMediaManagerItem(self):
|
||||||
|
# Create the plugin icon
|
||||||
|
self.Icon = QtGui.QIcon()
|
||||||
|
self.Icon.addPixmap(QtGui.QPixmap(':/media/media_song.png'),
|
||||||
|
QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
|
# Create the MediaManagerItem object
|
||||||
|
self.MediaManagerItem = MediaManagerItem(self.Icon, 'Videos')
|
||||||
|
# Add a toolbar
|
||||||
|
self.MediaManagerItem.addToolbar()
|
||||||
|
# Create buttons for the toolbar
|
||||||
|
## New Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Update', 'Update Videos',
|
||||||
|
':/songs/song_new.png', self.onVideosNewClick, 'VideoNewItem')
|
||||||
|
## Edit Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Edit Song', 'Edit the selected song',
|
||||||
|
':/songs/song_edit.png', self.onSongEditClick, 'PresentationEditItem')
|
||||||
|
## Delete Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Delete Song', 'Delete the selected song',
|
||||||
|
':/songs/song_delete.png', self.onSongDeleteClick, 'SongDeleteItem')
|
||||||
|
## Separator Line ##
|
||||||
|
self.MediaManagerItem.addToolbarSeparator()
|
||||||
|
## Preview Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Preview Song', 'Preview the selected song',
|
||||||
|
':/system/system_preview.png', self.onSongPreviewClick, 'SongPreviewItem')
|
||||||
|
## Live Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Go Live', 'Send the selected song live',
|
||||||
|
':/system/system_live.png', self.onSongLiveClick, 'SongLiveItem')
|
||||||
|
## Add Song Button ##
|
||||||
|
self.MediaManagerItem.addToolbarButton('Add Song To Service',
|
||||||
|
'Add the selected song(s) to the service', ':/system/system_add.png',
|
||||||
|
self.onSongAddClick, 'SongAddItem')
|
||||||
|
## Add the songlist widget ##
|
||||||
|
|
||||||
|
self.listView = QtGui.QListWidget()
|
||||||
|
self.listView.setGeometry(QtCore.QRect(10, 100, 256, 591))
|
||||||
|
self.listView.setObjectName("listView")
|
||||||
|
self.MediaManagerItem.PageLayout.addWidget(self.listView)
|
||||||
|
|
||||||
|
return self.MediaManagerItem
|
||||||
|
|
||||||
|
def initalise(self):
|
||||||
|
self.onVideosNewClick()
|
||||||
|
|
||||||
|
def onVideosNewClick(self):
|
||||||
|
files = self.config.get_files()
|
||||||
|
self.listView.clear()
|
||||||
|
for f in files:
|
||||||
|
self.listView.addItem(f)
|
||||||
|
|
||||||
|
def onSongEditClick(self):
|
||||||
|
self.edit_song_form.show()
|
||||||
|
|
||||||
|
def onSongDeleteClick(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def onSongPreviewClick(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def onSongLiveClick(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def onSongAddClick(self):
|
||||||
|
pass
|
@ -11,3 +11,9 @@ data path = songs
|
|||||||
|
|
||||||
[presentations]
|
[presentations]
|
||||||
suffix name = ppt,pps,odi
|
suffix name = ppt,pps,odi
|
||||||
|
|
||||||
|
[images]
|
||||||
|
suffix name = jpg,gif,png,bmp
|
||||||
|
|
||||||
|
[videos]
|
||||||
|
suffix name = avi,mpeg
|
@ -11,3 +11,10 @@ data path = songs
|
|||||||
|
|
||||||
[presentations]
|
[presentations]
|
||||||
suffix name = ppt,pps,odi
|
suffix name = ppt,pps,odi
|
||||||
|
|
||||||
|
|
||||||
|
[images]
|
||||||
|
suffix name = jpg,gif,png,bmp
|
||||||
|
|
||||||
|
[videos]
|
||||||
|
suffix name = avi,mpeg
|
@ -11,3 +11,9 @@ data path = songs
|
|||||||
|
|
||||||
[presentations]
|
[presentations]
|
||||||
suffix name = ppt,pps,odi
|
suffix name = ppt,pps,odi
|
||||||
|
|
||||||
|
[images]
|
||||||
|
suffix name = jpg,gif,png,bmp
|
||||||
|
|
||||||
|
[videos]
|
||||||
|
suffix name = avi,mpeg
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex" >
|
<property name="currentIndex" >
|
||||||
<number>1</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="FileImportPage" >
|
<widget class="QWidget" name="FileImportPage" >
|
||||||
<property name="geometry" >
|
<property name="geometry" >
|
||||||
@ -160,9 +160,9 @@
|
|||||||
<widget class="QLineEdit" name="BibleNameEdit" >
|
<widget class="QLineEdit" name="BibleNameEdit" >
|
||||||
<property name="geometry" >
|
<property name="geometry" >
|
||||||
<rect>
|
<rect>
|
||||||
<x>120</x>
|
<x>100</x>
|
||||||
<y>20</y>
|
<y>20</y>
|
||||||
<width>271</width>
|
<width>280</width>
|
||||||
<height>28</height>
|
<height>28</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -233,6 +233,11 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="0" column="1" >
|
<item row="0" column="1" >
|
||||||
<widget class="QComboBox" name="LocationComboBox" >
|
<widget class="QComboBox" name="LocationComboBox" >
|
||||||
|
<item>
|
||||||
|
<property name="text" >
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text" >
|
<property name="text" >
|
||||||
<string>BibleGateway</string>
|
<string>BibleGateway</string>
|
||||||
@ -254,6 +259,11 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="1" column="1" >
|
<item row="1" column="1" >
|
||||||
<widget class="QComboBox" name="TypeComboBox" >
|
<widget class="QComboBox" name="TypeComboBox" >
|
||||||
|
<item>
|
||||||
|
<property name="text" >
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text" >
|
<property name="text" >
|
||||||
<string>Download As Needed</string>
|
<string>Download As Needed</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user