This commit is contained in:
Tim Bentley 2009-10-29 15:35:37 +00:00
commit 61aeb43240
7 changed files with 59 additions and 32 deletions

View File

@ -62,14 +62,19 @@ class MediaManagerItem(QtGui.QWidget):
This sets the translation context of all the text in the This sets the translation context of all the text in the
Media Manager item. Media Manager item.
``self.PluginTextShort`` ``self.PluginNameShort``
The shortened name for the plugin, e.g. *'Image'* for the The shortened (usually singular) name for the plugin e.g. *'Song'*
image plugin. for the Songs plugin.
``self.PluginNameVisible``
The user visible name for a plugin which should use a suitable
translation function. This should normally be
``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
manager are stored. This could potentially be manager are stored. This could potentially be
``self.PluginTextShort.lower()``. ``self.PluginNameShort.lower()``.
``self.OnNewPrompt`` ``self.OnNewPrompt``
Defaults to *'Select Image(s)'*. Defaults to *'Select Image(s)'*.
@ -116,9 +121,13 @@ class MediaManagerItem(QtGui.QWidget):
self.PageLayout.setSpacing(0) self.PageLayout.setSpacing(0)
self.PageLayout.setContentsMargins(4, 0, 4, 0) self.PageLayout.setContentsMargins(4, 0, 4, 0)
self.requiredIcons() self.requiredIcons()
self.initPluginNameVisible()
self.setupUi() self.setupUi()
self.retranslateUi() self.retranslateUi()
def initPluginNameVisible(self):
pass
def requiredIcons(self): def requiredIcons(self):
""" """
This method is called to define the icons for the plugin. This method is called to define the icons for the plugin.
@ -204,51 +213,51 @@ class MediaManagerItem(QtGui.QWidget):
## File Button ## ## File Button ##
if self.hasFileIcon: if self.hasFileIcon:
self.addToolbarButton( self.addToolbarButton(
u'%s %s' % (self.trUtf8(u'Load'), self.PluginTextShort), u'Load %s' % self.PluginNameShort,
u'%s %s' % (self.trUtf8(u'Load a new'), self.PluginTextShort), u'%s %s' % (self.trUtf8(u'Load a new'), self.PluginNameVisible),
u':%s_load.png' % self.IconPath, self.onFileClick, u':%s_load.png' % self.IconPath, self.onFileClick,
u'%sFileItem' % self.PluginTextShort) u'%sFileItem' % self.PluginNameShort)
## New Button ## ## New Button ##
if self.hasNewIcon: if self.hasNewIcon:
self.addToolbarButton( self.addToolbarButton(
u'%s %s' % (self.trUtf8(u'New'), self.PluginTextShort), u'New %s' % self.PluginNameShort,
u'%s %s' % (self.trUtf8(u'Add a new'), self.PluginTextShort), u'%s %s' % (self.trUtf8(u'Add a new'), self.PluginNameVisible),
u':%s_new.png' % self.IconPath, self.onNewClick, u':%s_new.png' % self.IconPath, self.onNewClick,
u'%sNewItem' % self.PluginTextShort) u'%sNewItem' % self.PluginNameShort)
## Edit Button ## ## Edit Button ##
if self.hasEditIcon: if self.hasEditIcon:
self.addToolbarButton( self.addToolbarButton(
u'%s %s' % (self.trUtf8(u'Edit'), self.PluginTextShort), u'Edit %s' % self.PluginNameShort,
u'%s %s' % (self.trUtf8(u'Edit the selected'), self.PluginTextShort), 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.PluginTextShort) u'%sEditItem' % self.PluginNameShort)
## Delete Button ## ## Delete Button ##
if self.hasDeleteIcon: if self.hasDeleteIcon:
self.addToolbarButton( self.addToolbarButton(
u'%s %s' % (self.trUtf8(u'Delete'), self.PluginTextShort), u'Delete %s' % self.PluginNameShort,
self.trUtf8(u'Delete the selected item'), self.trUtf8(u'Delete the selected item'),
u':%s_delete.png' % self.IconPath, self.onDeleteClick, u':%s_delete.png' % self.IconPath, self.onDeleteClick,
u'%sDeleteItem' % self.PluginTextShort) u'%sDeleteItem' % self.PluginNameShort)
## Separator Line ## ## Separator Line ##
self.addToolbarSeparator() self.addToolbarSeparator()
## Preview ## ## Preview ##
self.addToolbarButton( self.addToolbarButton(
u'%s %s' % (self.trUtf8(u'Preview'), self.PluginTextShort), u'Preview %s' % self.PluginNameShort,
self.trUtf8(u'Preview the selected item'), self.trUtf8(u'Preview the selected item'),
u':/system/system_preview.png', self.onPreviewClick, u':/system/system_preview.png', self.onPreviewClick,
u'PreviewItem') u'PreviewItem')
## Live Button ## ## Live Button ##
self.addToolbarButton( self.addToolbarButton(
self.trUtf8(u'Go Live'), u'Go Live',
self.trUtf8(u'Send the selected item live'), self.trUtf8(u'Send the selected item live'),
u':/system/system_live.png', self.onLiveClick, u':/system/system_live.png', self.onLiveClick,
u'LiveItem') u'LiveItem')
## Add to service Button ## ## Add to service Button ##
self.addToolbarButton( self.addToolbarButton(
u'%s %s %s' % (self.trUtf8(u'Add'), self.trUtf8(u'to Service'), self.PluginTextShort), u'%s %s %s' % (u'Add', self.PluginNameShort, u'to Service'),
self.trUtf8(u'Add the selected item(s) to the service'), self.trUtf8(u'Add the selected item(s) to the service'),
u':/system/system_add.png', self.onAddClick, u':/system/system_add.png', self.onAddClick,
u'%sAddServiceItem' % self.PluginTextShort) u'%sAddServiceItem' % self.PluginNameShort)
def addListViewToToolBar(self): def addListViewToToolBar(self):
#Add the List widget #Add the List widget
@ -260,7 +269,7 @@ class MediaManagerItem(QtGui.QWidget):
QtGui.QAbstractItemView.ExtendedSelection) QtGui.QAbstractItemView.ExtendedSelection)
self.ListView.setAlternatingRowColors(True) self.ListView.setAlternatingRowColors(True)
self.ListView.setDragEnabled(True) self.ListView.setDragEnabled(True)
self.ListView.setObjectName(u'%sListView' % self.PluginTextShort) self.ListView.setObjectName(u'%sListView' % self.PluginNameShort)
#Add tp PageLayout #Add tp PageLayout
self.PageLayout.addWidget(self.ListView) self.PageLayout.addWidget(self.ListView)
#define and add the context menu #define and add the context menu
@ -269,13 +278,13 @@ class MediaManagerItem(QtGui.QWidget):
self.ListView.addAction( self.ListView.addAction(
contextMenuAction( contextMenuAction(
self.ListView, u':%s_new.png' % self.IconPath, self.ListView, u':%s_new.png' % self.IconPath,
u'%s %s' % (self.trUtf8(u'&Edit'), self.PluginTextShort), u'%s %s' % (self.trUtf8(u'&Edit'), self.PluginNameVisible),
self.onEditClick)) self.onEditClick))
self.ListView.addAction(contextMenuSeparator(self.ListView)) self.ListView.addAction(contextMenuSeparator(self.ListView))
self.ListView.addAction( self.ListView.addAction(
contextMenuAction( contextMenuAction(
self.ListView, u':/system/system_preview.png', self.ListView, u':/system/system_preview.png',
u'%s %s' % (self.trUtf8(u'&Preview'), self.PluginTextShort), u'%s %s' % (self.trUtf8(u'&Preview'), self.PluginNameVisible),
self.onPreviewClick)) self.onPreviewClick))
self.ListView.addAction( self.ListView.addAction(
contextMenuAction( contextMenuAction(
@ -351,19 +360,19 @@ class MediaManagerItem(QtGui.QWidget):
u'to be defined by the plugin') u'to be defined by the plugin')
def onPreviewClick(self): def onPreviewClick(self):
log.debug(self.PluginTextShort + u' Preview Requested') log.debug(self.PluginNameShort + u' Preview Requested')
service_item = self.buildServiceItem() service_item = self.buildServiceItem()
if service_item is not None: if service_item is not None:
self.parent.preview_controller.addServiceItem(service_item) self.parent.preview_controller.addServiceItem(service_item)
def onLiveClick(self): def onLiveClick(self):
log.debug(self.PluginTextShort + u' Live Requested') log.debug(self.PluginNameShort + u' Live Requested')
service_item = self.buildServiceItem() service_item = self.buildServiceItem()
if service_item is not None: if service_item is not None:
self.parent.live_controller.addServiceItem(service_item) self.parent.live_controller.addServiceItem(service_item)
def onAddClick(self): def onAddClick(self):
log.debug(self.PluginTextShort + u' Add Requested') log.debug(self.PluginNameShort + u' Add Requested')
service_item = self.buildServiceItem() service_item = self.buildServiceItem()
if service_item is not None: if service_item is not None:
self.parent.service_manager.addServiceItem(service_item) self.parent.service_manager.addServiceItem(service_item)
@ -374,7 +383,7 @@ class MediaManagerItem(QtGui.QWidget):
""" """
service_item = ServiceItem(self.parent) service_item = ServiceItem(self.parent)
service_item.addIcon( service_item.addIcon(
u':/media/media_' + self.PluginTextShort.lower() + u'.png') u':/media/media_' + self.PluginNameShort.lower() + u'.png')
if self.generateSlideData(service_item): if self.generateSlideData(service_item):
self.ListView.clearSelection() self.ListView.clearSelection()
return service_item return service_item

View File

@ -47,7 +47,7 @@ class BibleMediaItem(MediaManagerItem):
def __init__(self, parent, icon, title): def __init__(self, parent, icon, title):
self.TranslationContext = u'BiblePlugin' self.TranslationContext = u'BiblePlugin'
self.PluginTextShort = u'Bible' self.PluginNameShort = u'Bible'
self.ConfigSection = u'bibles' self.ConfigSection = u'bibles'
self.IconPath = u'songs/song' self.IconPath = u'songs/song'
self.ListViewWithDnD_class = BibleListView self.ListViewWithDnD_class = BibleListView
@ -59,6 +59,9 @@ class BibleMediaItem(MediaManagerItem):
QtCore.QObject.connect(Receiver().get_receiver(), QtCore.QObject.connect(Receiver().get_receiver(),
QtCore.SIGNAL(u'openlpreloadbibles'), self.reloadBibles) QtCore.SIGNAL(u'openlpreloadbibles'), self.reloadBibles)
def initPluginNameVisible(self):
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
self.hasEditIcon = False self.hasEditIcon = False

View File

@ -43,7 +43,7 @@ class CustomMediaItem(MediaManagerItem):
def __init__(self, parent, icon, title): def __init__(self, parent, icon, title):
self.TranslationContext = u'CustomPlugin' self.TranslationContext = u'CustomPlugin'
self.PluginTextShort = u'Custom' self.PluginNameShort = u'Custom'
self.ConfigSection = u'custom' self.ConfigSection = u'custom'
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
@ -63,6 +63,9 @@ class CustomMediaItem(MediaManagerItem):
QtCore.QObject.connect(Receiver.get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'load_custom_list'), self.initialise) QtCore.SIGNAL(u'load_custom_list'), self.initialise)
def initPluginNameVisible(self):
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
self.hasFileIcon = False self.hasFileIcon = False

View File

@ -45,7 +45,7 @@ class ImageMediaItem(MediaManagerItem):
def __init__(self, parent, icon, title): def __init__(self, parent, icon, title):
self.TranslationContext = u'ImagePlugin' self.TranslationContext = u'ImagePlugin'
self.PluginTextShort = u'Image' self.PluginNameShort = u'Image'
self.ConfigSection = u'images' self.ConfigSection = u'images'
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
@ -56,6 +56,9 @@ class ImageMediaItem(MediaManagerItem):
MediaManagerItem.__init__(self, parent, icon, title) MediaManagerItem.__init__(self, parent, icon, title)
self.overrideActive = False self.overrideActive = False
def initPluginNameVisible(self):
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
def retranslateUi(self): def retranslateUi(self):
self.OnNewPrompt = self.trUtf8(u'Select Image(s)') self.OnNewPrompt = self.trUtf8(u'Select Image(s)')
self.OnNewFileMasks = \ self.OnNewFileMasks = \

View File

@ -44,8 +44,8 @@ class MediaMediaItem(MediaManagerItem):
def __init__(self, parent, icon, title): def __init__(self, parent, icon, title):
self.TranslationContext = u'MediaPlugin' self.TranslationContext = u'MediaPlugin'
self.PluginNameShort = u'Media'
self.IconPath = u'images/image' self.IconPath = u'images/image'
self.PluginTextShort = u'Media'
self.ConfigSection = u'media' self.ConfigSection = u'media'
self.OnNewPrompt = u'Select Media(s)' self.OnNewPrompt = u'Select Media(s)'
self.OnNewFileMasks = \ self.OnNewFileMasks = \
@ -57,6 +57,9 @@ class MediaMediaItem(MediaManagerItem):
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):
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
self.hasFileIcon = True self.hasFileIcon = True

View File

@ -49,7 +49,7 @@ 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.TranslationContext = u'PresentationPlugin'
self.PluginTextShort = u'Presentation' self.PluginNameShort = u'Presentation'
self.ConfigSection = u'presentations' self.ConfigSection = u'presentations'
self.IconPath = u'presentations/presentation' self.IconPath = u'presentations/presentation'
self.OnNewPrompt = u'Select Presentation(s)' self.OnNewPrompt = u'Select Presentation(s)'
@ -60,6 +60,9 @@ class PresentationMediaItem(MediaManagerItem):
MediaManagerItem.__init__(self, parent, icon, title) MediaManagerItem.__init__(self, parent, icon, title)
self.message_listener = MessageListener(controllers) self.message_listener = MessageListener(controllers)
def initPluginNameVisible(self):
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
self.hasFileIcon = True self.hasFileIcon = True

View File

@ -45,7 +45,7 @@ class SongMediaItem(MediaManagerItem):
def __init__(self, parent, icon, title): def __init__(self, parent, icon, title):
self.TranslationContext = u'SongPlugin' self.TranslationContext = u'SongPlugin'
self.PluginTextShort = u'Song' self.PluginNameShort = u'Song'
self.ConfigSection = u'songs' self.ConfigSection = u'songs'
self.IconPath = u'songs/song' self.IconPath = u'songs/song'
self.ListViewWithDnD_class = SongListView self.ListViewWithDnD_class = SongListView
@ -58,6 +58,9 @@ class SongMediaItem(MediaManagerItem):
self.fromPreview = -1 self.fromPreview = -1
self.fromServiceManager = -1 self.fromServiceManager = -1
def initPluginNameVisible(self):
self.PluginNameVisible = self.trUtf8(self.PluginNameShort)
def requiredIcons(self): def requiredIcons(self):
MediaManagerItem.requiredIcons(self) MediaManagerItem.requiredIcons(self)
self.hasFileIcon = False self.hasFileIcon = False