forked from openlp/openlp
Plugin cleanups and more i18n
This commit is contained in:
parent
779724c92d
commit
7eb86b1580
@ -58,18 +58,13 @@ class MediaManagerItem(QtGui.QWidget):
|
|||||||
When creating a descendant class from this class for your plugin,
|
When creating a descendant class from this class for your plugin,
|
||||||
the following member variables should be set.
|
the following member variables should be set.
|
||||||
|
|
||||||
``self.TranslationContext``
|
|
||||||
This sets the translation context of all the text in the
|
|
||||||
Media Manager item.
|
|
||||||
|
|
||||||
``self.PluginNameShort``
|
``self.PluginNameShort``
|
||||||
The shortened (usually singular) name for the plugin e.g. *'Song'*
|
The shortened (usually singular) name for the plugin e.g. *'Song'*
|
||||||
for the Songs plugin.
|
for the Songs plugin.
|
||||||
|
|
||||||
``self.PluginNameVisible``
|
``self.PluginNameVisible``
|
||||||
The user visible name for a plugin which should use a suitable
|
The user visible name for a plugin which should use a suitable
|
||||||
translation function. This should normally be
|
translation function.
|
||||||
``self.trUtf8(self.PluginNameShort)``.
|
|
||||||
|
|
||||||
``self.ConfigSection``
|
``self.ConfigSection``
|
||||||
The section in the configuration where the items in the media
|
The section in the configuration where the items in the media
|
||||||
@ -117,6 +112,7 @@ class MediaManagerItem(QtGui.QWidget):
|
|||||||
if title is not None:
|
if title is not None:
|
||||||
self.title = title
|
self.title = title
|
||||||
self.Toolbar = None
|
self.Toolbar = None
|
||||||
|
self.ServiceItemIconName = None
|
||||||
self.PageLayout = QtGui.QVBoxLayout(self)
|
self.PageLayout = QtGui.QVBoxLayout(self)
|
||||||
self.PageLayout.setSpacing(0)
|
self.PageLayout.setSpacing(0)
|
||||||
self.PageLayout.setContentsMargins(4, 0, 4, 0)
|
self.PageLayout.setContentsMargins(4, 0, 4, 0)
|
||||||
@ -228,7 +224,8 @@ class MediaManagerItem(QtGui.QWidget):
|
|||||||
if self.hasEditIcon:
|
if self.hasEditIcon:
|
||||||
self.addToolbarButton(
|
self.addToolbarButton(
|
||||||
u'Edit %s' % self.PluginNameShort,
|
u'Edit %s' % self.PluginNameShort,
|
||||||
u'%s %s' % (self.trUtf8(u'Edit the selected'), self.PluginNameVisible),
|
u'%s %s' % (self.trUtf8(u'Edit the selected'),
|
||||||
|
self.PluginNameVisible),
|
||||||
u':%s_edit.png' % self.IconPath, self.onEditClick,
|
u':%s_edit.png' % self.IconPath, self.onEditClick,
|
||||||
u'%sEditItem' % self.PluginNameShort)
|
u'%sEditItem' % self.PluginNameShort)
|
||||||
## Delete Button ##
|
## Delete Button ##
|
||||||
@ -320,7 +317,7 @@ class MediaManagerItem(QtGui.QWidget):
|
|||||||
|
|
||||||
def onFileClick(self):
|
def onFileClick(self):
|
||||||
files = QtGui.QFileDialog.getOpenFileNames(
|
files = QtGui.QFileDialog.getOpenFileNames(
|
||||||
self, self.trUtf8(self.OnNewPrompt),
|
self, self.OnNewPrompt,
|
||||||
self.parent.config.get_last_dir(), self.OnNewFileMasks)
|
self.parent.config.get_last_dir(), self.OnNewFileMasks)
|
||||||
log.info(u'New files(s)%s', unicode(files))
|
log.info(u'New files(s)%s', unicode(files))
|
||||||
if len(files) > 0:
|
if len(files) > 0:
|
||||||
@ -382,8 +379,10 @@ class MediaManagerItem(QtGui.QWidget):
|
|||||||
Common method for generating a service item
|
Common method for generating a service item
|
||||||
"""
|
"""
|
||||||
service_item = ServiceItem(self.parent)
|
service_item = ServiceItem(self.parent)
|
||||||
service_item.addIcon(
|
if self.ServiceItemIconName is not None:
|
||||||
u':/media/media_' + self.PluginNameShort.lower() + u'.png')
|
service_item.addIcon(self.ServiceItemIconName)
|
||||||
|
else:
|
||||||
|
service_item.addIcon(self.icon)
|
||||||
if self.generateSlideData(service_item):
|
if self.generateSlideData(service_item):
|
||||||
self.ListView.clearSelection()
|
self.ListView.clearSelection()
|
||||||
return service_item
|
return service_item
|
||||||
|
@ -35,7 +35,7 @@ class PluginStatus(object):
|
|||||||
Inactive = 1
|
Inactive = 1
|
||||||
Disabled = 2
|
Disabled = 2
|
||||||
|
|
||||||
class Plugin(object):
|
class Plugin(QtCore.QObject):
|
||||||
"""
|
"""
|
||||||
Base class for openlp plugins to inherit from.
|
Base class for openlp plugins to inherit from.
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ class Plugin(object):
|
|||||||
log = logging.getLogger(u'Plugin')
|
log = logging.getLogger(u'Plugin')
|
||||||
log.info(u'loaded')
|
log.info(u'loaded')
|
||||||
|
|
||||||
def __init__(self, name=None, version=None, plugin_helpers=None):
|
def __init__(self, name, version=None, plugin_helpers=None):
|
||||||
"""
|
"""
|
||||||
This is the constructor for the plugin object. This provides an easy
|
This is the constructor for the plugin object. This provides an easy
|
||||||
way for descendent plugins to populate common data. This method *must*
|
way for descendent plugins to populate common data. This method *must*
|
||||||
@ -110,10 +110,8 @@ class Plugin(object):
|
|||||||
``plugin_helpers``
|
``plugin_helpers``
|
||||||
Defaults to *None*. A list of helper objects.
|
Defaults to *None*. A list of helper objects.
|
||||||
"""
|
"""
|
||||||
if name is not None:
|
QtCore.QObject.__init__(self)
|
||||||
self.name = name
|
self.name = name
|
||||||
else:
|
|
||||||
self.name = u'Plugin'
|
|
||||||
if version is not None:
|
if version is not None:
|
||||||
self.version = version
|
self.version = version
|
||||||
self.icon = None
|
self.icon = None
|
||||||
@ -129,7 +127,7 @@ class Plugin(object):
|
|||||||
self.settings = plugin_helpers[u'settings']
|
self.settings = plugin_helpers[u'settings']
|
||||||
self.mediadock = plugin_helpers[u'toolbox']
|
self.mediadock = plugin_helpers[u'toolbox']
|
||||||
QtCore.QObject.connect(Receiver.get_receiver(),
|
QtCore.QObject.connect(Receiver.get_receiver(),
|
||||||
QtCore.SIGNAL(u'%s_add_service_item'% self.name),
|
QtCore.SIGNAL(u'%s_add_service_item' % self.name),
|
||||||
self.process_add_service_event)
|
self.process_add_service_event)
|
||||||
|
|
||||||
def check_pre_conditions(self):
|
def check_pre_conditions(self):
|
||||||
@ -258,6 +256,7 @@ class Plugin(object):
|
|||||||
"""
|
"""
|
||||||
Called by plugin to replace toolbar
|
Called by plugin to replace toolbar
|
||||||
"""
|
"""
|
||||||
|
# Not sure self.media_item is being set properly
|
||||||
if self.media_item is not None:
|
if self.media_item is not None:
|
||||||
self.mediadock.insert_dock(self.media_item, self.icon, self.weight)
|
self.mediadock.insert_dock(self.media_item, self.icon, self.weight)
|
||||||
if self.settings_tab is not None:
|
if self.settings_tab is not None:
|
||||||
|
@ -93,7 +93,6 @@ class PluginManager(object):
|
|||||||
log.exception(u'Failed to import module %s on path %s for reason %s',
|
log.exception(u'Failed to import module %s on path %s for reason %s',
|
||||||
modulename, path, e.args[0])
|
modulename, path, e.args[0])
|
||||||
plugin_classes = Plugin.__subclasses__()
|
plugin_classes = Plugin.__subclasses__()
|
||||||
self.plugins = []
|
|
||||||
plugin_objects = []
|
plugin_objects = []
|
||||||
for p in plugin_classes:
|
for p in plugin_classes:
|
||||||
try:
|
try:
|
||||||
|
@ -31,7 +31,7 @@ class SettingsTab(QtGui.QWidget):
|
|||||||
SettingsTab is a helper widget for plugins to define Tabs for the settings
|
SettingsTab is a helper widget for plugins to define Tabs for the settings
|
||||||
dialog.
|
dialog.
|
||||||
"""
|
"""
|
||||||
def __init__(self, title=None, section=None):
|
def __init__(self, title, section=None):
|
||||||
"""
|
"""
|
||||||
Constructor to create the Settings tab item.
|
Constructor to create the Settings tab item.
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ class AlertsTab(SettingsTab):
|
|||||||
AlertsTab is the alerts settings tab in the settings dialog.
|
AlertsTab is the alerts settings tab in the settings dialog.
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
SettingsTab.__init__(self, u'Alerts', u'Alerts')
|
SettingsTab.__init__(self, u'Alerts')
|
||||||
self.font_color = '#ffffff'
|
self.font_color = '#ffffff'
|
||||||
self.bg_color = '#660000'
|
self.bg_color = '#660000'
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ class GeneralTab(SettingsTab):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, screen_list):
|
def __init__(self, screen_list):
|
||||||
self.screen_list = screen_list
|
self.screen_list = screen_list
|
||||||
SettingsTab.__init__(self, u'General', u'General')
|
SettingsTab.__init__(self, u'General')
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setObjectName(u'GeneralTab')
|
self.setObjectName(u'GeneralTab')
|
||||||
|
@ -33,8 +33,7 @@ class MediaDockManager(object):
|
|||||||
|
|
||||||
def add_dock(self, media_item, icon, weight):
|
def add_dock(self, media_item, icon, weight):
|
||||||
log.info(u'Adding %s dock' % media_item.title)
|
log.info(u'Adding %s dock' % media_item.title)
|
||||||
id = self.media_dock.addItem(
|
self.media_dock.addItem(media_item, icon, media_item.title)
|
||||||
media_item, icon, media_item.title)
|
|
||||||
|
|
||||||
def insert_dock(self, media_item, icon, weight):
|
def insert_dock(self, media_item, icon, weight):
|
||||||
"""
|
"""
|
||||||
|
@ -32,7 +32,7 @@ class ThemesTab(SettingsTab):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, parent):
|
def __init__(self, parent):
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
SettingsTab.__init__(self, u'Themes', u'Themes')
|
SettingsTab.__init__(self, u'Themes')
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setObjectName(u'ThemesTab')
|
self.setObjectName(u'ThemesTab')
|
||||||
|
@ -35,10 +35,8 @@ class BiblePlugin(Plugin):
|
|||||||
log.info(u'Bible Plugin loaded')
|
log.info(u'Bible Plugin loaded')
|
||||||
|
|
||||||
def __init__(self, plugin_helpers):
|
def __init__(self, plugin_helpers):
|
||||||
# Call the parent constructor
|
|
||||||
Plugin.__init__(self, u'Bibles', u'1.9.0', plugin_helpers)
|
Plugin.__init__(self, u'Bibles', u'1.9.0', plugin_helpers)
|
||||||
self.weight = -9
|
self.weight = -9
|
||||||
# Create the plugin icon
|
|
||||||
self.icon = buildIcon(u':/media/media_bible.png')
|
self.icon = buildIcon(u':/media/media_bible.png')
|
||||||
#Register the bible Manager
|
#Register the bible Manager
|
||||||
self.biblemanager = None
|
self.biblemanager = None
|
||||||
@ -51,7 +49,6 @@ class BiblePlugin(Plugin):
|
|||||||
if self.biblemanager is None:
|
if self.biblemanager is None:
|
||||||
self.biblemanager = BibleManager(self.config)
|
self.biblemanager = BibleManager(self.config)
|
||||||
Plugin.initialise(self)
|
Plugin.initialise(self)
|
||||||
self.insert_toolbox_item()
|
|
||||||
self.ImportBibleItem.setVisible(True)
|
self.ImportBibleItem.setVisible(True)
|
||||||
self.ExportBibleItem.setVisible(True)
|
self.ExportBibleItem.setVisible(True)
|
||||||
|
|
||||||
@ -63,11 +60,11 @@ class BiblePlugin(Plugin):
|
|||||||
self.ExportBibleItem.setVisible(False)
|
self.ExportBibleItem.setVisible(False)
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
return BiblesTab()
|
return BiblesTab(self.name)
|
||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
# Create the BibleManagerItem object
|
# Create the BibleManagerItem object
|
||||||
return BibleMediaItem(self, self.icon, u'Bibles')
|
return BibleMediaItem(self, self.icon, self.name)
|
||||||
|
|
||||||
def add_import_menu_item(self, import_menu):
|
def add_import_menu_item(self, import_menu):
|
||||||
self.ImportBibleItem = QtGui.QAction(import_menu)
|
self.ImportBibleItem = QtGui.QAction(import_menu)
|
||||||
@ -91,8 +88,7 @@ class BiblePlugin(Plugin):
|
|||||||
self.media_item.onNewClick()
|
self.media_item.onNewClick()
|
||||||
|
|
||||||
def about(self):
|
def about(self):
|
||||||
about_text = u'<strong>Bible Plugin</strong><br />This plugin allows '\
|
about_text = self.trUtf8(u'<strong>Bible Plugin</strong><br />This '
|
||||||
u'bible verse from different sources to be displayed on the '\
|
u'plugin allows bible verses from different sources to be '
|
||||||
u'screen during the service.<br /><br /><strong>This is a core '\
|
u'displayed on the screen during the service.')
|
||||||
u'plugin and cannot be made inactive</strong>'
|
|
||||||
return about_text
|
return about_text
|
||||||
|
@ -37,11 +37,11 @@ class BiblesTab(SettingsTab):
|
|||||||
log = logging.getLogger(u'BibleTab')
|
log = logging.getLogger(u'BibleTab')
|
||||||
log.info(u'Bible Tab loaded')
|
log.info(u'Bible Tab loaded')
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, title, section=None):
|
||||||
self.paragraph_style = True
|
self.paragraph_style = True
|
||||||
self.show_new_chapters = False
|
self.show_new_chapters = False
|
||||||
self.display_style = 0
|
self.display_style = 0
|
||||||
SettingsTab.__init__(self, u'Bibles', u'Bibles')
|
SettingsTab.__init__(self, title, section)
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setObjectName(u'BiblesTab')
|
self.setObjectName(u'BiblesTab')
|
||||||
|
@ -283,7 +283,7 @@ class BibleManager(object):
|
|||||||
count = self.bible_db_cache[bible].get_max_bible_book_verses(
|
count = self.bible_db_cache[bible].get_max_bible_book_verses(
|
||||||
book, chapter)
|
book, chapter)
|
||||||
if count == 0:
|
if count == 0:
|
||||||
text = self.get_verse_text(bible, book, chapter, chapter, 1, 1)
|
#text = self.get_verse_text(bible, book, chapter, chapter, 1, 1)
|
||||||
count = self.bible_db_cache[bible].get_max_bible_book_verses(
|
count = self.bible_db_cache[bible].get_max_bible_book_verses(
|
||||||
book, chapter)
|
book, chapter)
|
||||||
return count
|
return count
|
||||||
|
@ -46,12 +46,10 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
log.info(u'Bible Media Item loaded')
|
log.info(u'Bible Media Item loaded')
|
||||||
|
|
||||||
def __init__(self, parent, icon, title):
|
def __init__(self, parent, icon, title):
|
||||||
self.TranslationContext = u'BiblePlugin'
|
|
||||||
self.PluginNameShort = u'Bible'
|
self.PluginNameShort = u'Bible'
|
||||||
self.ConfigSection = u'bibles'
|
self.ConfigSection = title
|
||||||
self.IconPath = u'songs/song'
|
self.IconPath = u'songs/song'
|
||||||
self.ListViewWithDnD_class = BibleListView
|
self.ListViewWithDnD_class = BibleListView
|
||||||
self.ServiceItemIconName = u':/media/bible_image.png'
|
|
||||||
self.servicePath = None
|
self.servicePath = None
|
||||||
MediaManagerItem.__init__(self, parent, icon, title)
|
MediaManagerItem.__init__(self, parent, icon, title)
|
||||||
# place to store the search results
|
# place to store the search results
|
||||||
@ -60,7 +58,7 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
QtCore.SIGNAL(u'openlpreloadbibles'), self.reloadBibles)
|
QtCore.SIGNAL(u'openlpreloadbibles'), self.reloadBibles)
|
||||||
|
|
||||||
def initPluginNameVisible(self):
|
def initPluginNameVisible(self):
|
||||||
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
|
self.PluginNameVisible = self.trUtf8(u'Bible')
|
||||||
|
|
||||||
def requiredIcons(self):
|
def requiredIcons(self):
|
||||||
MediaManagerItem.requiredIcons(self)
|
MediaManagerItem.requiredIcons(self)
|
||||||
@ -89,14 +87,16 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
self.QuickVersionLabel.setObjectName(u'QuickVersionLabel')
|
self.QuickVersionLabel.setObjectName(u'QuickVersionLabel')
|
||||||
self.QuickLayout.addWidget(self.QuickVersionLabel, 0, 0, 1, 1)
|
self.QuickLayout.addWidget(self.QuickVersionLabel, 0, 0, 1, 1)
|
||||||
self.QuickVersionComboBox = QtGui.QComboBox(self.QuickTab)
|
self.QuickVersionComboBox = QtGui.QComboBox(self.QuickTab)
|
||||||
self.QuickVersionComboBox.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToMinimumContentsLength)
|
self.QuickVersionComboBox.setSizeAdjustPolicy(
|
||||||
|
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
||||||
self.QuickVersionComboBox.setObjectName(u'VersionComboBox')
|
self.QuickVersionComboBox.setObjectName(u'VersionComboBox')
|
||||||
self.QuickLayout.addWidget(self.QuickVersionComboBox, 0, 1, 1, 2)
|
self.QuickLayout.addWidget(self.QuickVersionComboBox, 0, 1, 1, 2)
|
||||||
self.QuickSecondVersionLabel = QtGui.QLabel(self.QuickTab)
|
self.QuickSecondVersionLabel = QtGui.QLabel(self.QuickTab)
|
||||||
self.QuickSecondVersionLabel.setObjectName(u'QuickSecondVersionLabel')
|
self.QuickSecondVersionLabel.setObjectName(u'QuickSecondVersionLabel')
|
||||||
self.QuickLayout.addWidget(self.QuickSecondVersionLabel, 1, 0, 1, 1)
|
self.QuickLayout.addWidget(self.QuickSecondVersionLabel, 1, 0, 1, 1)
|
||||||
self.QuickSecondBibleComboBox = QtGui.QComboBox(self.QuickTab)
|
self.QuickSecondBibleComboBox = QtGui.QComboBox(self.QuickTab)
|
||||||
self.QuickSecondBibleComboBox.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToMinimumContentsLength)
|
self.QuickSecondBibleComboBox.setSizeAdjustPolicy(
|
||||||
|
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
||||||
self.QuickSecondBibleComboBox.setObjectName(u'SecondBible')
|
self.QuickSecondBibleComboBox.setObjectName(u'SecondBible')
|
||||||
self.QuickLayout.addWidget(self.QuickSecondBibleComboBox, 1, 1, 1, 2)
|
self.QuickLayout.addWidget(self.QuickSecondBibleComboBox, 1, 1, 1, 2)
|
||||||
self.QuickSearchLabel = QtGui.QLabel(self.QuickTab)
|
self.QuickSearchLabel = QtGui.QLabel(self.QuickTab)
|
||||||
@ -147,16 +147,20 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
self.AdvancedVersionLabel.setObjectName(u'AdvancedVersionLabel')
|
self.AdvancedVersionLabel.setObjectName(u'AdvancedVersionLabel')
|
||||||
self.AdvancedLayout.addWidget(self.AdvancedVersionLabel, 0, 0, 1, 1)
|
self.AdvancedLayout.addWidget(self.AdvancedVersionLabel, 0, 0, 1, 1)
|
||||||
self.AdvancedVersionComboBox = QtGui.QComboBox(self.AdvancedTab)
|
self.AdvancedVersionComboBox = QtGui.QComboBox(self.AdvancedTab)
|
||||||
self.AdvancedVersionComboBox.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToMinimumContentsLength)
|
self.AdvancedVersionComboBox.setSizeAdjustPolicy(
|
||||||
|
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
||||||
self.AdvancedVersionComboBox.setObjectName(u'AdvancedVersionComboBox')
|
self.AdvancedVersionComboBox.setObjectName(u'AdvancedVersionComboBox')
|
||||||
self.AdvancedLayout.addWidget(self.AdvancedVersionComboBox, 0, 1, 1, 2)
|
self.AdvancedLayout.addWidget(self.AdvancedVersionComboBox, 0, 1, 1, 2)
|
||||||
self.AdvancedSecondBibleLabel = QtGui.QLabel(self.AdvancedTab)
|
self.AdvancedSecondBibleLabel = QtGui.QLabel(self.AdvancedTab)
|
||||||
self.AdvancedSecondBibleLabel.setObjectName(u'AdvancedSecondBibleLabel')
|
self.AdvancedSecondBibleLabel.setObjectName(u'AdvancedSecondBibleLabel')
|
||||||
self.AdvancedLayout.addWidget(self.AdvancedSecondBibleLabel, 1, 0, 1, 1)
|
self.AdvancedLayout.addWidget(self.AdvancedSecondBibleLabel, 1, 0, 1, 1)
|
||||||
self.AdvancedSecondBibleComboBox = QtGui.QComboBox(self.AdvancedTab)
|
self.AdvancedSecondBibleComboBox = QtGui.QComboBox(self.AdvancedTab)
|
||||||
self.AdvancedSecondBibleComboBox.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToMinimumContentsLength)
|
self.AdvancedSecondBibleComboBox.setSizeAdjustPolicy(
|
||||||
self.AdvancedSecondBibleComboBox.setObjectName(u'AdvancedSecondBibleComboBox')
|
QtGui.QComboBox.AdjustToMinimumContentsLength)
|
||||||
self.AdvancedLayout.addWidget(self.AdvancedSecondBibleComboBox, 1, 1, 1, 2)
|
self.AdvancedSecondBibleComboBox.setObjectName(
|
||||||
|
u'AdvancedSecondBibleComboBox')
|
||||||
|
self.AdvancedLayout.addWidget(
|
||||||
|
self.AdvancedSecondBibleComboBox, 1, 1, 1, 2)
|
||||||
self.AdvancedBookLabel = QtGui.QLabel(self.AdvancedTab)
|
self.AdvancedBookLabel = QtGui.QLabel(self.AdvancedTab)
|
||||||
self.AdvancedBookLabel.setObjectName(u'AdvancedBookLabel')
|
self.AdvancedBookLabel.setObjectName(u'AdvancedBookLabel')
|
||||||
self.AdvancedLayout.addWidget(self.AdvancedBookLabel, 2, 0, 1, 1)
|
self.AdvancedLayout.addWidget(self.AdvancedBookLabel, 2, 0, 1, 1)
|
||||||
@ -198,14 +202,16 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
self.AdvancedSearchButtonLayout = QtGui.QHBoxLayout()
|
self.AdvancedSearchButtonLayout = QtGui.QHBoxLayout()
|
||||||
self.AdvancedSearchButtonLayout.setMargin(0)
|
self.AdvancedSearchButtonLayout.setMargin(0)
|
||||||
self.AdvancedSearchButtonLayout.setSpacing(0)
|
self.AdvancedSearchButtonLayout.setSpacing(0)
|
||||||
self.AdvancedSearchButtonLayout.setObjectName(u'AdvancedSearchButtonLayout')
|
self.AdvancedSearchButtonLayout.setObjectName(
|
||||||
|
u'AdvancedSearchButtonLayout')
|
||||||
self.AdvancedSearchButtonSpacer = QtGui.QSpacerItem(40, 20,
|
self.AdvancedSearchButtonSpacer = QtGui.QSpacerItem(40, 20,
|
||||||
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||||
self.AdvancedSearchButtonLayout.addItem(self.AdvancedSearchButtonSpacer)
|
self.AdvancedSearchButtonLayout.addItem(self.AdvancedSearchButtonSpacer)
|
||||||
self.AdvancedSearchButton = QtGui.QPushButton(self.AdvancedTab)
|
self.AdvancedSearchButton = QtGui.QPushButton(self.AdvancedTab)
|
||||||
self.AdvancedSearchButton.setObjectName(u'AdvancedSearchButton')
|
self.AdvancedSearchButton.setObjectName(u'AdvancedSearchButton')
|
||||||
self.AdvancedSearchButtonLayout.addWidget(self.AdvancedSearchButton)
|
self.AdvancedSearchButtonLayout.addWidget(self.AdvancedSearchButton)
|
||||||
self.AdvancedLayout.addLayout(self.AdvancedSearchButtonLayout, 7, 0, 1, 3)
|
self.AdvancedLayout.addLayout(
|
||||||
|
self.AdvancedSearchButtonLayout, 7, 0, 1, 3)
|
||||||
self.AdvancedMessage = QtGui.QLabel(self.AdvancedTab)
|
self.AdvancedMessage = QtGui.QLabel(self.AdvancedTab)
|
||||||
self.AdvancedMessage.setObjectName(u'AdvancedMessage')
|
self.AdvancedMessage.setObjectName(u'AdvancedMessage')
|
||||||
self.AdvancedLayout.addWidget(self.AdvancedMessage, 8, 0, 1, 3)
|
self.AdvancedLayout.addWidget(self.AdvancedMessage, 8, 0, 1, 3)
|
||||||
@ -475,10 +481,12 @@ class BibleMediaItem(MediaManagerItem):
|
|||||||
for book in book_data:
|
for book in book_data:
|
||||||
row = self.AdvancedBookComboBox.count()
|
row = self.AdvancedBookComboBox.count()
|
||||||
self.AdvancedBookComboBox.addItem(book[u'book'])
|
self.AdvancedBookComboBox.addItem(book[u'book'])
|
||||||
self.AdvancedBookComboBox.setItemData(row, QtCore.QVariant(book[u'total']))
|
self.AdvancedBookComboBox.setItemData(
|
||||||
|
row, QtCore.QVariant(book[u'total']))
|
||||||
if first:
|
if first:
|
||||||
first = False
|
first = False
|
||||||
self.initialiseChapterVerse(bible, book[u'book'], book[u'total'])
|
self.initialiseChapterVerse(
|
||||||
|
bible, book[u'book'], book[u'total'])
|
||||||
|
|
||||||
def initialiseChapterVerse(self, bible, book, chapters):
|
def initialiseChapterVerse(self, bible, book, chapters):
|
||||||
log.debug(u'initialiseChapterVerse %s, %s', bible, book)
|
log.debug(u'initialiseChapterVerse %s, %s', bible, book)
|
||||||
|
@ -44,17 +44,15 @@ class CustomPlugin(Plugin):
|
|||||||
log.info(u'Custom Plugin loaded')
|
log.info(u'Custom Plugin loaded')
|
||||||
|
|
||||||
def __init__(self, plugin_helpers):
|
def __init__(self, plugin_helpers):
|
||||||
# Call the parent constructor
|
|
||||||
Plugin.__init__(self, u'Custom', u'1.9.0', plugin_helpers)
|
Plugin.__init__(self, u'Custom', u'1.9.0', plugin_helpers)
|
||||||
self.weight = -5
|
self.weight = -5
|
||||||
self.custommanager = CustomManager(self.config)
|
self.custommanager = CustomManager(self.config)
|
||||||
self.edit_custom_form = EditCustomForm(self.custommanager)
|
self.edit_custom_form = EditCustomForm(self.custommanager)
|
||||||
# Create the plugin icon
|
|
||||||
self.icon = buildIcon(u':/media/media_custom.png')
|
self.icon = buildIcon(u':/media/media_custom.png')
|
||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
# Create the CustomManagerItem object
|
# Create the CustomManagerItem object
|
||||||
return CustomMediaItem(self, self.icon, u'Custom')
|
return CustomMediaItem(self, self.icon, self.name)
|
||||||
|
|
||||||
def can_be_disabled(self):
|
def can_be_disabled(self):
|
||||||
return True
|
return True
|
||||||
@ -62,11 +60,14 @@ class CustomPlugin(Plugin):
|
|||||||
def initialise(self):
|
def initialise(self):
|
||||||
log.info(u'Plugin Initialising')
|
log.info(u'Plugin Initialising')
|
||||||
Plugin.initialise(self)
|
Plugin.initialise(self)
|
||||||
self.insert_toolbox_item()
|
|
||||||
|
|
||||||
def finalise(self):
|
def finalise(self):
|
||||||
log.info(u'Plugin Finalise')
|
log.info(u'Plugin Finalise')
|
||||||
self.remove_toolbox_item()
|
self.remove_toolbox_item()
|
||||||
|
|
||||||
def about(self):
|
def about(self):
|
||||||
return u'<b>Custom Plugin</b> <br>This plugin allows slides to be displayed on the screen in the same way songs are. The difference between this plugin and songs is this plugin provides greater freedom.<br>'
|
about_text = self.trUtf8(u'<b>Custom Plugin</b><br>This plugin '
|
||||||
|
u'allows slides to be displayed on the screen in the same way '
|
||||||
|
u'songs are. This plugin provides greater freedom over the '
|
||||||
|
u'songs plugin.<br>')
|
||||||
|
return about_text
|
||||||
|
@ -42,17 +42,14 @@ class CustomMediaItem(MediaManagerItem):
|
|||||||
log.info(u'Custom Media Item loaded')
|
log.info(u'Custom Media Item loaded')
|
||||||
|
|
||||||
def __init__(self, parent, icon, title):
|
def __init__(self, parent, icon, title):
|
||||||
self.TranslationContext = u'CustomPlugin'
|
|
||||||
self.PluginNameShort = u'Custom'
|
self.PluginNameShort = u'Custom'
|
||||||
self.ConfigSection = u'custom'
|
self.ConfigSection = title
|
||||||
self.IconPath = u'custom/custom'
|
self.IconPath = u'custom/custom'
|
||||||
# this next is a class, not an instance of a class - it will
|
# this next is a class, not an instance of a class - it will
|
||||||
# be instanced by the base MediaManagerItem
|
# be instanced by the base MediaManagerItem
|
||||||
self.ListViewWithDnD_class = CustomListView
|
self.ListViewWithDnD_class = CustomListView
|
||||||
self.ServiceItemIconName = u':/custom/custom_image.png'
|
|
||||||
self.servicePath = None
|
self.servicePath = None
|
||||||
MediaManagerItem.__init__(self, parent, icon, title)
|
MediaManagerItem.__init__(self, parent, icon, title)
|
||||||
self.parent = parent
|
|
||||||
self.fromServiceManager = -1
|
self.fromServiceManager = -1
|
||||||
|
|
||||||
def addEndHeaderBar(self):
|
def addEndHeaderBar(self):
|
||||||
@ -64,7 +61,7 @@ class CustomMediaItem(MediaManagerItem):
|
|||||||
QtCore.SIGNAL(u'load_custom_list'), self.initialise)
|
QtCore.SIGNAL(u'load_custom_list'), self.initialise)
|
||||||
|
|
||||||
def initPluginNameVisible(self):
|
def initPluginNameVisible(self):
|
||||||
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
|
self.PluginNameVisible = self.trUtf8(u'Custom')
|
||||||
|
|
||||||
def requiredIcons(self):
|
def requiredIcons(self):
|
||||||
MediaManagerItem.requiredIcons(self)
|
MediaManagerItem.requiredIcons(self)
|
||||||
|
@ -33,10 +33,8 @@ class ImagePlugin(Plugin):
|
|||||||
log.info(u'Image Plugin loaded')
|
log.info(u'Image Plugin loaded')
|
||||||
|
|
||||||
def __init__(self, plugin_helpers):
|
def __init__(self, plugin_helpers):
|
||||||
# Call the parent constructor
|
|
||||||
Plugin.__init__(self, u'Images', u'1.9.0', plugin_helpers)
|
Plugin.__init__(self, u'Images', u'1.9.0', plugin_helpers)
|
||||||
self.weight = -7
|
self.weight = -7
|
||||||
# Create the plugin icon
|
|
||||||
self.icon = buildIcon(u':/media/media_image.png')
|
self.icon = buildIcon(u':/media/media_image.png')
|
||||||
|
|
||||||
def can_be_disabled(self):
|
def can_be_disabled(self):
|
||||||
@ -45,18 +43,24 @@ class ImagePlugin(Plugin):
|
|||||||
def initialise(self):
|
def initialise(self):
|
||||||
log.info(u'Plugin Initialising')
|
log.info(u'Plugin Initialising')
|
||||||
Plugin.initialise(self)
|
Plugin.initialise(self)
|
||||||
self.insert_toolbox_item()
|
|
||||||
|
|
||||||
def finalise(self):
|
def finalise(self):
|
||||||
log.info(u'Plugin Finalise')
|
log.info(u'Plugin Finalise')
|
||||||
self.remove_toolbox_item()
|
self.remove_toolbox_item()
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
return ImageTab()
|
return ImageTab(self.name)
|
||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
# Create the MediaManagerItem object
|
# Create the MediaManagerItem object
|
||||||
return ImageMediaItem(self, self.icon, u'Images')
|
return ImageMediaItem(self, self.icon, self.name)
|
||||||
|
|
||||||
def about(self):
|
def about(self):
|
||||||
return u'<b>Image Plugin</b><br>Allows images of all types to be displayed. If a number of images are selected together and presented on the live controller it is possible to turn them into a timed loop.<br> From the plugin if the <i>Override background</i> is chosen and an image is selected any somgs which are rendered will use the selected image from the background instead of the one provied by the theme.<br>'
|
about_text = self.trUtf8(u'<b>Image Plugin</b><br>Allows images of '
|
||||||
|
u'all types to be displayed. If a number of images are selected '
|
||||||
|
u'together and presented on the live controller it is possible '
|
||||||
|
u'to turn them into a timed loop.<br>From the plugin if the '
|
||||||
|
u'<i>Override background</i> is chosen and an image is selected '
|
||||||
|
u'any somgs which are rendered will use the selected image from '
|
||||||
|
u'the background instead of the one provied by the theme.<br>')
|
||||||
|
return about_text
|
||||||
|
@ -30,8 +30,8 @@ class ImageTab(SettingsTab):
|
|||||||
"""
|
"""
|
||||||
ImageTab is the Image settings tab in the settings dialog.
|
ImageTab is the Image settings tab in the settings dialog.
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self, title, section=None):
|
||||||
SettingsTab.__init__(self, u'Images', u'Images')
|
SettingsTab.__init__(self, title, section)
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setObjectName(u'ImageTab')
|
self.setObjectName(u'ImageTab')
|
||||||
@ -42,7 +42,7 @@ class ImageTab(SettingsTab):
|
|||||||
self.ImageSettingsGroupBox.setObjectName(u'ImageSettingsGroupBox')
|
self.ImageSettingsGroupBox.setObjectName(u'ImageSettingsGroupBox')
|
||||||
self.TimeoutLayout = QtGui.QHBoxLayout(self.ImageSettingsGroupBox)
|
self.TimeoutLayout = QtGui.QHBoxLayout(self.ImageSettingsGroupBox)
|
||||||
self.TimeoutLayout.setSpacing(8)
|
self.TimeoutLayout.setSpacing(8)
|
||||||
self.TimeoutLayout.setMargin(0)
|
self.TimeoutLayout.setMargin(8)
|
||||||
self.TimeoutLayout.setObjectName(u'TimeoutLayout')
|
self.TimeoutLayout.setObjectName(u'TimeoutLayout')
|
||||||
self.TimeoutLabel = QtGui.QLabel(self.ImageSettingsGroupBox)
|
self.TimeoutLabel = QtGui.QLabel(self.ImageSettingsGroupBox)
|
||||||
self.TimeoutLabel.setObjectName(u'TimeoutLabel')
|
self.TimeoutLabel.setObjectName(u'TimeoutLabel')
|
||||||
|
@ -44,20 +44,18 @@ class ImageMediaItem(MediaManagerItem):
|
|||||||
log.info(u'Image Media Item loaded')
|
log.info(u'Image Media Item loaded')
|
||||||
|
|
||||||
def __init__(self, parent, icon, title):
|
def __init__(self, parent, icon, title):
|
||||||
self.TranslationContext = u'ImagePlugin'
|
|
||||||
self.PluginNameShort = u'Image'
|
self.PluginNameShort = u'Image'
|
||||||
self.ConfigSection = u'images'
|
self.ConfigSection = title
|
||||||
self.IconPath = u'images/image'
|
self.IconPath = u'images/image'
|
||||||
# this next is a class, not an instance of a class - it will
|
# this next is a class, not an instance of a class - it will
|
||||||
# be instanced by the base MediaManagerItem
|
# be instanced by the base MediaManagerItem
|
||||||
self.ListViewWithDnD_class = ImageListView
|
self.ListViewWithDnD_class = ImageListView
|
||||||
self.ServiceItemIconName = u':/media/media_image.png'
|
|
||||||
self.servicePath = None
|
self.servicePath = None
|
||||||
MediaManagerItem.__init__(self, parent, icon, title)
|
MediaManagerItem.__init__(self, parent, icon, title)
|
||||||
self.overrideActive = False
|
self.overrideActive = False
|
||||||
|
|
||||||
def initPluginNameVisible(self):
|
def initPluginNameVisible(self):
|
||||||
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
|
self.PluginNameVisible = self.trUtf8(u'Image')
|
||||||
|
|
||||||
def retranslateUi(self):
|
def retranslateUi(self):
|
||||||
self.OnNewPrompt = self.trUtf8(u'Select Image(s)')
|
self.OnNewPrompt = self.trUtf8(u'Select Image(s)')
|
||||||
|
@ -43,22 +43,20 @@ class MediaMediaItem(MediaManagerItem):
|
|||||||
log.info(u'Media Media Item loaded')
|
log.info(u'Media Media Item loaded')
|
||||||
|
|
||||||
def __init__(self, parent, icon, title):
|
def __init__(self, parent, icon, title):
|
||||||
self.TranslationContext = u'MediaPlugin'
|
|
||||||
self.PluginNameShort = u'Media'
|
self.PluginNameShort = u'Media'
|
||||||
self.IconPath = u'images/image'
|
self.IconPath = u'images/image'
|
||||||
self.ConfigSection = u'media'
|
self.ConfigSection = title
|
||||||
self.OnNewPrompt = u'Select Media(s)'
|
self.OnNewPrompt = self.trUtf8(u'Select Media')
|
||||||
self.OnNewFileMasks = \
|
self.OnNewFileMasks = \
|
||||||
u'Videos (*.avi *.mpeg *.mpg *.mp4);;Audio (*.ogg *.mp3 *.wma);;All files (*)'
|
u'Videos (*.avi *.mpeg *.mpg *.mp4);;Audio (*.ogg *.mp3 *.wma);;All files (*)'
|
||||||
# this next is a class, not an instance of a class - it will
|
# this next is a class, not an instance of a class - it will
|
||||||
# be instanced by the base MediaManagerItem
|
# be instanced by the base MediaManagerItem
|
||||||
self.ListViewWithDnD_class = MediaListView
|
self.ListViewWithDnD_class = MediaListView
|
||||||
#self.ServiceItemIconName = u':/media/media_image.png'
|
|
||||||
self.PreviewFunction = self.video_get_preview
|
self.PreviewFunction = self.video_get_preview
|
||||||
MediaManagerItem.__init__(self, parent, icon, title)
|
MediaManagerItem.__init__(self, parent, icon, title)
|
||||||
|
|
||||||
def initPluginNameVisible(self):
|
def initPluginNameVisible(self):
|
||||||
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
|
self.PluginNameVisible = self.trUtf8(u'Media')
|
||||||
|
|
||||||
def requiredIcons(self):
|
def requiredIcons(self):
|
||||||
MediaManagerItem.requiredIcons(self)
|
MediaManagerItem.requiredIcons(self)
|
||||||
@ -67,13 +65,10 @@ class MediaMediaItem(MediaManagerItem):
|
|||||||
self.hasEditIcon = False
|
self.hasEditIcon = False
|
||||||
|
|
||||||
def video_get_preview(self, filename):
|
def video_get_preview(self, filename):
|
||||||
#
|
|
||||||
# For now cross platform is an icon. Phonon does not support
|
# For now cross platform is an icon. Phonon does not support
|
||||||
# individual frame access (yet?) and GStreamer is not available
|
# individual frame access (yet?) and GStreamer is not available
|
||||||
# on Windows
|
# on Windows
|
||||||
#
|
return QtGui.QPixmap(u':/media/media_video.png').toImage()
|
||||||
image = QtGui.QPixmap(u':/media/media_video.png').toImage()
|
|
||||||
return image
|
|
||||||
|
|
||||||
def generateSlideData(self, service_item):
|
def generateSlideData(self, service_item):
|
||||||
indexes = self.ListView.selectedIndexes()
|
indexes = self.ListView.selectedIndexes()
|
||||||
|
@ -30,8 +30,8 @@ class MediaTab(SettingsTab):
|
|||||||
"""
|
"""
|
||||||
mediaTab is the media settings tab in the settings dialog.
|
mediaTab is the media settings tab in the settings dialog.
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self, title, section=None):
|
||||||
SettingsTab.__init__(self, u'Media', u'Media')
|
SettingsTab.__init__(self, title, section)
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setObjectName(u'MediaTab')
|
self.setObjectName(u'MediaTab')
|
||||||
|
@ -33,16 +33,14 @@ class MediaPlugin(Plugin):
|
|||||||
log.info(u'Media Plugin loaded')
|
log.info(u'Media Plugin loaded')
|
||||||
|
|
||||||
def __init__(self, plugin_helpers):
|
def __init__(self, plugin_helpers):
|
||||||
# Call the parent constructor
|
|
||||||
Plugin.__init__(self, u'Media', u'1.9.0', plugin_helpers)
|
Plugin.__init__(self, u'Media', u'1.9.0', plugin_helpers)
|
||||||
self.weight = -6
|
self.weight = -6
|
||||||
# Create the plugin icon
|
|
||||||
self.icon = buildIcon(u':/media/media_video.png')
|
self.icon = buildIcon(u':/media/media_video.png')
|
||||||
# passed with drag and drop messages
|
# passed with drag and drop messages
|
||||||
self.dnd_id = u'Media'
|
self.dnd_id = u'Media'
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
return MediaTab()
|
return MediaTab(self.name)
|
||||||
|
|
||||||
def can_be_disabled(self):
|
def can_be_disabled(self):
|
||||||
return True
|
return True
|
||||||
@ -50,7 +48,6 @@ class MediaPlugin(Plugin):
|
|||||||
def initialise(self):
|
def initialise(self):
|
||||||
log.info(u'Plugin Initialising')
|
log.info(u'Plugin Initialising')
|
||||||
Plugin.initialise(self)
|
Plugin.initialise(self)
|
||||||
self.insert_toolbox_item()
|
|
||||||
|
|
||||||
def finalise(self):
|
def finalise(self):
|
||||||
log.info(u'Plugin Finalise')
|
log.info(u'Plugin Finalise')
|
||||||
@ -58,7 +55,9 @@ class MediaPlugin(Plugin):
|
|||||||
|
|
||||||
def get_media_manager_item(self):
|
def get_media_manager_item(self):
|
||||||
# Create the MediaManagerItem object
|
# Create the MediaManagerItem object
|
||||||
return MediaMediaItem(self, self.icon, u'Media')
|
return MediaMediaItem(self, self.icon, self.name)
|
||||||
|
|
||||||
def about(self):
|
def about(self):
|
||||||
return u'<b>Media Plugin</b> <br> One day this may provide access to video and audio clips'
|
about_text = self.trUtf8(u'<b>Media Plugin</b><br>This plugin '
|
||||||
|
u'allows the playing of audio and video media')
|
||||||
|
return about_text
|
||||||
|
@ -48,11 +48,10 @@ class PresentationMediaItem(MediaManagerItem):
|
|||||||
|
|
||||||
def __init__(self, parent, icon, title, controllers):
|
def __init__(self, parent, icon, title, controllers):
|
||||||
self.controllers = controllers
|
self.controllers = controllers
|
||||||
self.TranslationContext = u'PresentationPlugin'
|
|
||||||
self.PluginNameShort = u'Presentation'
|
self.PluginNameShort = u'Presentation'
|
||||||
self.ConfigSection = u'presentations'
|
self.ConfigSection = title
|
||||||
self.IconPath = u'presentations/presentation'
|
self.IconPath = u'presentations/presentation'
|
||||||
self.OnNewPrompt = u'Select Presentation(s)'
|
self.OnNewPrompt = self.trUtf8(u'Select Presentation(s)')
|
||||||
self.OnNewFileMasks = u'Presentations (*.ppt *.pps *.odp)'
|
self.OnNewFileMasks = u'Presentations (*.ppt *.pps *.odp)'
|
||||||
# this next is a class, not an instance of a class - it will
|
# this next is a class, not an instance of a class - it will
|
||||||
# be instanced by the base MediaManagerItem
|
# be instanced by the base MediaManagerItem
|
||||||
@ -61,7 +60,7 @@ class PresentationMediaItem(MediaManagerItem):
|
|||||||
self.message_listener = MessageListener(controllers)
|
self.message_listener = MessageListener(controllers)
|
||||||
|
|
||||||
def initPluginNameVisible(self):
|
def initPluginNameVisible(self):
|
||||||
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
|
self.PluginNameVisible = self.trUtf8(u'Presentation')
|
||||||
|
|
||||||
def requiredIcons(self):
|
def requiredIcons(self):
|
||||||
MediaManagerItem.requiredIcons(self)
|
MediaManagerItem.requiredIcons(self)
|
||||||
@ -110,8 +109,8 @@ class PresentationMediaItem(MediaManagerItem):
|
|||||||
(path, filename) = os.path.split(unicode(file))
|
(path, filename) = os.path.split(unicode(file))
|
||||||
if titles.count(filename) > 0:
|
if titles.count(filename) > 0:
|
||||||
QtGui.QMessageBox.critical(
|
QtGui.QMessageBox.critical(
|
||||||
self, self.trUtf8(u'File exists'),
|
self, self.trUtf8(u'File exists'), self.trUtf8(
|
||||||
self.trUtf8(u'A presentation with that filename already exists.'),
|
u'A presentation with that filename already exists.'),
|
||||||
QtGui.QMessageBox.Ok)
|
QtGui.QMessageBox.Ok)
|
||||||
else:
|
else:
|
||||||
item_name = QtGui.QListWidgetItem(filename)
|
item_name = QtGui.QListWidgetItem(filename)
|
||||||
|
@ -30,9 +30,9 @@ class PresentationTab(SettingsTab):
|
|||||||
"""
|
"""
|
||||||
PresentationsTab is the Presentations settings tab in the settings dialog.
|
PresentationsTab is the Presentations settings tab in the settings dialog.
|
||||||
"""
|
"""
|
||||||
def __init__(self, controllers):
|
def __init__(self, title, controllers, section=None):
|
||||||
self.controllers = controllers
|
self.controllers = controllers
|
||||||
SettingsTab.__init__(self, u'Presentations', u'Presentations')
|
SettingsTab.__init__(self, title, section)
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setObjectName(u'PresentationTab')
|
self.setObjectName(u'PresentationTab')
|
||||||
|
@ -25,9 +25,7 @@
|
|||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from PyQt4 import QtGui
|
from openlp.core.lib import Plugin, buildIcon
|
||||||
|
|
||||||
from openlp.core.lib import Plugin
|
|
||||||
from openlp.plugins.presentations.lib import *
|
from openlp.plugins.presentations.lib import *
|
||||||
|
|
||||||
class PresentationPlugin(Plugin):
|
class PresentationPlugin(Plugin):
|
||||||
@ -36,21 +34,17 @@ class PresentationPlugin(Plugin):
|
|||||||
log = logging.getLogger(u'PresentationPlugin')
|
log = logging.getLogger(u'PresentationPlugin')
|
||||||
|
|
||||||
def __init__(self, plugin_helpers):
|
def __init__(self, plugin_helpers):
|
||||||
# Call the parent constructor
|
|
||||||
log.debug(u'Initialised')
|
log.debug(u'Initialised')
|
||||||
self.controllers = {}
|
self.controllers = {}
|
||||||
Plugin.__init__(self, u'Presentations', u'1.9.0', plugin_helpers)
|
Plugin.__init__(self, u'Presentations', u'1.9.0', plugin_helpers)
|
||||||
self.weight = -8
|
self.weight = -8
|
||||||
# Create the plugin icon
|
self.icon = buildIcon(u':/media/media_presentation.png')
|
||||||
self.icon = QtGui.QIcon()
|
|
||||||
self.icon.addPixmap(QtGui.QPixmap(u':/media/media_presentation.png'),
|
|
||||||
QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
"""
|
"""
|
||||||
Create the settings Tab
|
Create the settings Tab
|
||||||
"""
|
"""
|
||||||
return PresentationTab(self.controllers)
|
return PresentationTab(self.name, self.controllers)
|
||||||
|
|
||||||
def can_be_disabled(self):
|
def can_be_disabled(self):
|
||||||
return True
|
return True
|
||||||
@ -58,7 +52,6 @@ class PresentationPlugin(Plugin):
|
|||||||
def initialise(self):
|
def initialise(self):
|
||||||
log.info(u'Presentations Initialising')
|
log.info(u'Presentations Initialising')
|
||||||
Plugin.initialise(self)
|
Plugin.initialise(self)
|
||||||
self.insert_toolbox_item()
|
|
||||||
|
|
||||||
def finalise(self):
|
def finalise(self):
|
||||||
log.info(u'Plugin Finalise')
|
log.info(u'Plugin Finalise')
|
||||||
@ -74,7 +67,7 @@ class PresentationPlugin(Plugin):
|
|||||||
Create the Media Manager List
|
Create the Media Manager List
|
||||||
"""
|
"""
|
||||||
return PresentationMediaItem(
|
return PresentationMediaItem(
|
||||||
self, self.icon, u'Presentations', self.controllers)
|
self, self.icon, self.name, self.controllers)
|
||||||
|
|
||||||
def registerControllers(self, controller):
|
def registerControllers(self, controller):
|
||||||
self.controllers[controller.name] = controller
|
self.controllers[controller.name] = controller
|
||||||
@ -110,4 +103,8 @@ class PresentationPlugin(Plugin):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def about(self):
|
def about(self):
|
||||||
return u'<b>Presentation Plugin</b> <br> Delivers the ability to show presentations using a number of different programs. The choice of available presentaion programs is available in a drop down.'
|
about_text = self.trUtf8(u'<b>Presentation Plugin</b> <br> Delivers '
|
||||||
|
u'the ability to show presentations using a number of different '
|
||||||
|
u'programs. The choice of available presentation programs is '
|
||||||
|
u'available to the user in a drop down box.')
|
||||||
|
return about_text
|
||||||
|
@ -30,8 +30,8 @@ class RemoteTab(SettingsTab):
|
|||||||
"""
|
"""
|
||||||
RemoteTab is the Remotes settings tab in the settings dialog.
|
RemoteTab is the Remotes settings tab in the settings dialog.
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self, title, section=None):
|
||||||
SettingsTab.__init__(self, u'Remotes', u'Remotes')
|
SettingsTab.__init__(self, title, section)
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setObjectName(u'RemoteTab')
|
self.setObjectName(u'RemoteTab')
|
||||||
|
@ -36,7 +36,6 @@ class RemotesPlugin(Plugin):
|
|||||||
log.info(u'Remote Plugin loaded')
|
log.info(u'Remote Plugin loaded')
|
||||||
|
|
||||||
def __init__(self, plugin_helpers):
|
def __init__(self, plugin_helpers):
|
||||||
# Call the parent constructor
|
|
||||||
Plugin.__init__(self, u'Remotes', u'1.9.0', plugin_helpers)
|
Plugin.__init__(self, u'Remotes', u'1.9.0', plugin_helpers)
|
||||||
self.weight = -1
|
self.weight = -1
|
||||||
self.server = None
|
self.server = None
|
||||||
@ -47,7 +46,6 @@ class RemotesPlugin(Plugin):
|
|||||||
def initialise(self):
|
def initialise(self):
|
||||||
log.debug(u'initialise')
|
log.debug(u'initialise')
|
||||||
Plugin.initialise(self)
|
Plugin.initialise(self)
|
||||||
self.insert_toolbox_item()
|
|
||||||
self.server = QtNetwork.QUdpSocket()
|
self.server = QtNetwork.QUdpSocket()
|
||||||
self.server.bind(int(self.config.get_config(u'remote port', 4316)))
|
self.server.bind(int(self.config.get_config(u'remote port', 4316)))
|
||||||
QtCore.QObject.connect(self.server,
|
QtCore.QObject.connect(self.server,
|
||||||
@ -59,14 +57,11 @@ class RemotesPlugin(Plugin):
|
|||||||
if self.server is not None:
|
if self.server is not None:
|
||||||
self.server.close()
|
self.server.close()
|
||||||
|
|
||||||
def about(self):
|
|
||||||
return u'<b>Remote Plugin</b> <br>This plugin provides the ability to send messages to a running version of openlp on a different computer.<br> The Primary use for this would be to send alerts from a creche'
|
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
"""
|
"""
|
||||||
Create the settings Tab
|
Create the settings Tab
|
||||||
"""
|
"""
|
||||||
return RemoteTab()
|
return RemoteTab(self.name)
|
||||||
|
|
||||||
def readData(self):
|
def readData(self):
|
||||||
log.info(u'Remoted data has arrived')
|
log.info(u'Remoted data has arrived')
|
||||||
@ -83,3 +78,10 @@ class RemotesPlugin(Plugin):
|
|||||||
Receiver().send_message(u'alert_text', unicode(datagram[pos + 1:]))
|
Receiver().send_message(u'alert_text', unicode(datagram[pos + 1:]))
|
||||||
if event == u'next_slide':
|
if event == u'next_slide':
|
||||||
Receiver().send_message(u'live_slide_next')
|
Receiver().send_message(u'live_slide_next')
|
||||||
|
|
||||||
|
def about(self):
|
||||||
|
about_text = self.trUtf8(u'<b>Remote Plugin</b><br>This plugin '
|
||||||
|
u'provides the ability to send messages to a running version of '
|
||||||
|
u'openlp on a different computer.<br>The Primary use for this '
|
||||||
|
u'would be to send alerts from a creche')
|
||||||
|
return about_text
|
||||||
|
@ -44,12 +44,10 @@ class SongMediaItem(MediaManagerItem):
|
|||||||
log.info(u'Song Media Item loaded')
|
log.info(u'Song Media Item loaded')
|
||||||
|
|
||||||
def __init__(self, parent, icon, title):
|
def __init__(self, parent, icon, title):
|
||||||
self.TranslationContext = u'SongPlugin'
|
|
||||||
self.PluginNameShort = u'Song'
|
self.PluginNameShort = u'Song'
|
||||||
self.ConfigSection = u'songs'
|
self.ConfigSection = title
|
||||||
self.IconPath = u'songs/song'
|
self.IconPath = u'songs/song'
|
||||||
self.ListViewWithDnD_class = SongListView
|
self.ListViewWithDnD_class = SongListView
|
||||||
self.ServiceItemIconName = u':/media/media_song.png'
|
|
||||||
self.servicePath = None
|
self.servicePath = None
|
||||||
MediaManagerItem.__init__(self, parent, icon, title)
|
MediaManagerItem.__init__(self, parent, icon, title)
|
||||||
self.edit_song_form = EditSongForm(self.parent.songmanager, self)
|
self.edit_song_form = EditSongForm(self.parent.songmanager, self)
|
||||||
@ -59,7 +57,7 @@ class SongMediaItem(MediaManagerItem):
|
|||||||
self.fromServiceManager = -1
|
self.fromServiceManager = -1
|
||||||
|
|
||||||
def initPluginNameVisible(self):
|
def initPluginNameVisible(self):
|
||||||
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
|
self.PluginNameVisible = self.trUtf8(u'Song')
|
||||||
|
|
||||||
def requiredIcons(self):
|
def requiredIcons(self):
|
||||||
MediaManagerItem.requiredIcons(self)
|
MediaManagerItem.requiredIcons(self)
|
||||||
@ -314,5 +312,7 @@ class SongMediaItem(MediaManagerItem):
|
|||||||
raw_footer.append(unicode(
|
raw_footer.append(unicode(
|
||||||
self.trUtf8(u'CCL Licence: ') + ccl))
|
self.trUtf8(u'CCL Licence: ') + ccl))
|
||||||
service_item.raw_footer = raw_footer
|
service_item.raw_footer = raw_footer
|
||||||
service_item.audit = [song.title, author_audit, song.copyright, song.ccli_number]
|
service_item.audit = [
|
||||||
|
song.title, author_audit, song.copyright, song.ccli_number
|
||||||
|
]
|
||||||
return True
|
return True
|
||||||
|
@ -30,8 +30,8 @@ class SongsTab(SettingsTab):
|
|||||||
"""
|
"""
|
||||||
SongsTab is the Songs settings tab in the settings dialog.
|
SongsTab is the Songs settings tab in the settings dialog.
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self, title, section=None):
|
||||||
SettingsTab.__init__(self, u'Songs', u'Songs')
|
SettingsTab.__init__(self, title, section)
|
||||||
|
|
||||||
def setupUi(self):
|
def setupUi(self):
|
||||||
self.setObjectName(u'SongsTab')
|
self.setObjectName(u'SongsTab')
|
||||||
@ -61,8 +61,10 @@ class SongsTab(SettingsTab):
|
|||||||
|
|
||||||
def retranslateUi(self):
|
def retranslateUi(self):
|
||||||
self.SongsModeGroupBox.setTitle(self.trUtf8(u'Songs Mode'))
|
self.SongsModeGroupBox.setTitle(self.trUtf8(u'Songs Mode'))
|
||||||
self.SearchAsTypeCheckBox.setText(self.trUtf8(u'Enable search as you type:'))
|
self.SearchAsTypeCheckBox.setText(
|
||||||
self.SongBarActiveCheckBox.setText(self.trUtf8(u'Display Verses on Live Tool bar:'))
|
self.trUtf8(u'Enable search as you type:'))
|
||||||
|
self.SongBarActiveCheckBox.setText(
|
||||||
|
self.trUtf8(u'Display Verses on Live Tool bar:'))
|
||||||
|
|
||||||
def onSearchAsTypeCheckBoxChanged(self, check_state):
|
def onSearchAsTypeCheckBoxChanged(self, check_state):
|
||||||
self.song_search = False
|
self.song_search = False
|
||||||
|
@ -48,7 +48,6 @@ class SongsPlugin(Plugin):
|
|||||||
"""
|
"""
|
||||||
Create and set up the Songs plugin.
|
Create and set up the Songs plugin.
|
||||||
"""
|
"""
|
||||||
# Call the parent constructor
|
|
||||||
Plugin.__init__(self, u'Songs', u'1.9.0', plugin_helpers)
|
Plugin.__init__(self, u'Songs', u'1.9.0', plugin_helpers)
|
||||||
self.weight = -10
|
self.weight = -10
|
||||||
self.songmanager = SongManager(self.config)
|
self.songmanager = SongManager(self.config)
|
||||||
@ -56,21 +55,19 @@ class SongsPlugin(Plugin):
|
|||||||
self.opensong_import_form = OpenSongImportForm()
|
self.opensong_import_form = OpenSongImportForm()
|
||||||
self.openlp_export_form = OpenLPExportForm()
|
self.openlp_export_form = OpenLPExportForm()
|
||||||
self.opensong_export_form = OpenSongExportForm()
|
self.opensong_export_form = OpenSongExportForm()
|
||||||
# Create the plugin icon
|
|
||||||
self.icon = buildIcon(u':/media/media_song.png')
|
self.icon = buildIcon(u':/media/media_song.png')
|
||||||
|
|
||||||
def can_be_disabled(self):
|
def can_be_disabled(self):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def get_settings_tab(self):
|
def get_settings_tab(self):
|
||||||
return SongsTab()
|
return SongsTab(self.name)
|
||||||
|
|
||||||
def initialise(self):
|
def initialise(self):
|
||||||
log.info(u'Songs Initialising')
|
log.info(u'Songs Initialising')
|
||||||
#if self.songmanager is None:
|
#if self.songmanager is None:
|
||||||
# self.songmanager = SongManager(self.config)
|
# self.songmanager = SongManager(self.config)
|
||||||
Plugin.initialise(self)
|
Plugin.initialise(self)
|
||||||
self.insert_toolbox_item()
|
|
||||||
self.ImportSongMenu.menuAction().setVisible(True)
|
self.ImportSongMenu.menuAction().setVisible(True)
|
||||||
self.ExportSongMenu.menuAction().setVisible(True)
|
self.ExportSongMenu.menuAction().setVisible(True)
|
||||||
self.media_item.displayResultsSong(self.songmanager.get_songs())
|
self.media_item.displayResultsSong(self.songmanager.get_songs())
|
||||||
@ -87,7 +84,7 @@ class SongsPlugin(Plugin):
|
|||||||
Create the MediaManagerItem object, which is displaed in the
|
Create the MediaManagerItem object, which is displaed in the
|
||||||
Media Manager.
|
Media Manager.
|
||||||
"""
|
"""
|
||||||
return SongMediaItem(self, self.icon, 'Songs')
|
return SongMediaItem(self, self.icon, self.name)
|
||||||
|
|
||||||
def add_import_menu_item(self, import_menu):
|
def add_import_menu_item(self, import_menu):
|
||||||
"""
|
"""
|
||||||
@ -180,4 +177,6 @@ class SongsPlugin(Plugin):
|
|||||||
self.opensong_export_form.show()
|
self.opensong_export_form.show()
|
||||||
|
|
||||||
def about(self):
|
def about(self):
|
||||||
return u'<b>Song Plugin</b> <br>This plugin allows Songs to be managed and displayed.<br>'
|
about_text = self.trUtf8(u'<b>Song Plugin</b> <br>This plugin allows '
|
||||||
|
u'Songs to be managed and displayed.<br>')
|
||||||
|
return about_text
|
||||||
|
@ -38,10 +38,8 @@ class SongUsagePlugin(Plugin):
|
|||||||
log.info(u'SongUsage Plugin loaded')
|
log.info(u'SongUsage Plugin loaded')
|
||||||
|
|
||||||
def __init__(self, plugin_helpers):
|
def __init__(self, plugin_helpers):
|
||||||
# Call the parent constructor
|
|
||||||
Plugin.__init__(self, u'SongUsage', u'1.9.0', plugin_helpers)
|
Plugin.__init__(self, u'SongUsage', u'1.9.0', plugin_helpers)
|
||||||
self.weight = -4
|
self.weight = -4
|
||||||
# Create the plugin icon
|
|
||||||
self.icon = buildIcon(u':/media/media_image.png')
|
self.icon = buildIcon(u':/media/media_image.png')
|
||||||
self.songusagemanager = None
|
self.songusagemanager = None
|
||||||
self.songusageActive = False
|
self.songusageActive = False
|
||||||
@ -63,17 +61,19 @@ class SongUsagePlugin(Plugin):
|
|||||||
self.SongUsageMenu = QtGui.QMenu(tools_menu)
|
self.SongUsageMenu = QtGui.QMenu(tools_menu)
|
||||||
self.SongUsageMenu.setObjectName(u'SongUsageMenu')
|
self.SongUsageMenu.setObjectName(u'SongUsageMenu')
|
||||||
self.SongUsageMenu.setTitle(tools_menu.trUtf8(u'&Song Usage'))
|
self.SongUsageMenu.setTitle(tools_menu.trUtf8(u'&Song Usage'))
|
||||||
#SongUsage Delete
|
#SongUsage Delete
|
||||||
self.SongUsageDelete = QtGui.QAction(tools_menu)
|
self.SongUsageDelete = QtGui.QAction(tools_menu)
|
||||||
self.SongUsageDelete.setText(tools_menu.trUtf8(u'&Delete recorded data'))
|
self.SongUsageDelete.setText(
|
||||||
|
tools_menu.trUtf8(u'&Delete recorded data'))
|
||||||
self.SongUsageDelete.setStatusTip(
|
self.SongUsageDelete.setStatusTip(
|
||||||
tools_menu.trUtf8(u'Delete sing usage to sepecified date'))
|
tools_menu.trUtf8(u'Delete song usage to specified date'))
|
||||||
self.SongUsageDelete.setObjectName(u'SongUsageDelete')
|
self.SongUsageDelete.setObjectName(u'SongUsageDelete')
|
||||||
#SongUsage Report
|
#SongUsage Report
|
||||||
self.SongUsageReport = QtGui.QAction(tools_menu)
|
self.SongUsageReport = QtGui.QAction(tools_menu)
|
||||||
self.SongUsageReport.setText(tools_menu.trUtf8(u'&Extract recoreded data'))
|
self.SongUsageReport.setText(
|
||||||
|
tools_menu.trUtf8(u'&Extract recorded data'))
|
||||||
self.SongUsageReport.setStatusTip(
|
self.SongUsageReport.setStatusTip(
|
||||||
tools_menu.trUtf8(u'Generate Extracts on Song Usage'))
|
tools_menu.trUtf8(u'Generate report on Song Usage'))
|
||||||
self.SongUsageReport.setObjectName(u'SongUsageReport')
|
self.SongUsageReport.setObjectName(u'SongUsageReport')
|
||||||
#SongUsage activation
|
#SongUsage activation
|
||||||
SongUsageIcon = buildIcon(u':/tools/tools_alert.png')
|
SongUsageIcon = buildIcon(u':/tools/tools_alert.png')
|
||||||
@ -153,6 +153,7 @@ class SongUsagePlugin(Plugin):
|
|||||||
self.SongUsagedetailform.exec_()
|
self.SongUsagedetailform.exec_()
|
||||||
|
|
||||||
def about(self):
|
def about(self):
|
||||||
about_text = u'<b>SongUsage Plugin</b><br />This plugin records the use '\
|
about_text = self.trUtf8(u'<b>SongUsage Plugin</b><br>This plugin '
|
||||||
u'of songs and when they have been used during a live service'
|
u'records the use of songs and when they have been used during '
|
||||||
|
u'a live service')
|
||||||
return about_text
|
return about_text
|
||||||
|
Loading…
Reference in New Issue
Block a user